What character to use in foldername in order to sort first?

Discussion related to "Everything" 1.5 Alpha.
Post Reply
kazzybash
Posts: 24
Joined: Mon Mar 02, 2020 9:55 pm

What character to use in foldername in order to sort first?

Post by kazzybash » Thu Feb 03, 2022 3:23 pm

hi,

what character in a foldername would put that folder top of list in Everything results (sorting by name)? What table of characters is Everything 1.5 using?


Silly question will perhaps, but I want to use a specific foldername that puts that folder top of the resultslist when sorting everything by name. It would function for me as an ID for an offline drive (of which I cannot in another way display it's name within Everything). I do have several offline drives in the database and cannot seem to remember which drive belongs to which drive-letter in Everything's left panel.

For instance I would call this folder "ID.03.03.Music" but then starting with a character that would display it first in line.

Say: _ or $ or - .

What character in a foldername would put that folder top of list in Everything results (sorting by name)?

Regards, kazzy
Last edited by kazzybash on Thu Feb 03, 2022 4:33 pm, edited 1 time in total.

EricB
Posts: 40
Joined: Wed Jun 26, 2013 8:56 am

Re: What character to use in foldername in order to sort first?

Post by EricB » Thu Feb 03, 2022 3:49 pm

If you do not have any exotic folder names, the _ (underscore) as a leading character would work (just tested in my setup). You would have to sort the results by name.

I see that folder names -, #, $, and .something take precedence, though, in that sequence.

kazzybash
Posts: 24
Joined: Mon Mar 02, 2020 9:55 pm

Re: What character to use in foldername in order to sort first?

Post by kazzybash » Thu Feb 03, 2022 4:36 pm

hi Eric,

thanks a lot for your kind answer. I tried too, and true,

.

takes precedence. And then ' takes precedence over .

I do have exotic foldernames in my archive that I cannot change for that would hamper their functionality.

Regards, kazzy

EricB
Posts: 40
Joined: Wed Jun 26, 2013 8:56 am

Re: What character to use in foldername in order to sort first?

Post by EricB » Thu Feb 03, 2022 4:55 pm

Hi Kazzy,

I've also folders -, # and .whatever on my system. Courtesy of NodeJS and modules. It seems the character precedence does not exactly follow the ascii standard. Maybe you could try and hack a harmless control code into a filename and see what happens...

Regards, Eric

NotNull
Posts: 3721
Joined: Wed May 24, 2017 9:22 pm

Re: What character to use in foldername in order to sort first?

Post by NotNull » Thu Feb 03, 2022 5:06 pm

I just generated all filenames that start with ASCII characters (no Chinese, smileys, etc).

This is the order they are shown in Everything 1.5 (.0.1299a)

Code: Select all

' - space ! # $ & ( ) , . ; @ [ ] _ ` { } ~ + =   0-9  a-z   A-Z 
( a-z and A-Z are sorted together)

For completions sake, the oreder in File Explorer (@Win10):

Code: Select all

space ! # $ & ( ) , . ; @ [ ] _  ` { } ~ + = 0-9   ' -   a-z  A-Z
( a-z and A-Z are sorted together)


So almost the same order, minus
' -

void
Developer
Posts: 9598
Joined: Fri Oct 16, 2009 11:31 pm

Re: What character to use in foldername in order to sort first?

Post by void » Fri Feb 04, 2022 2:25 am

In short, use '

ASCII weights in Everything 1.5:


By weight:

00 = 0x0d8c
01 = 0x0d8d
02 = 0x0d8e
03 = 0x0d8f
04 = 0x0d90
05 = 0x0d91
06 = 0x0d92
07 = 0x0d93
08 = 0x0d94
0f = 0x0d9e
10 = 0x0d9f
11 = 0x0da0
12 = 0x0da1
13 = 0x0da2
14 = 0x0da3
15 = 0x0da4
16 = 0x0da5
17 = 0x0da6
18 = 0x0da7
19 = 0x0da8
1a = 0x0da9
1b = 0x0daa
1c = 0x0dab
1d = 0x0dac
1e = 0x0dad
1f = 0x0dae
27 (') = 0x0db7
2d (-) = 0x0dc0
7f (⌂) = 0x0e88
20 ( ) = 0x0fc1
09 = 0x0fc4
0a = 0x0fc5
0b = 0x0fc7
0c = 0x0fc8
0d = 0x0fc9
0e = 0x0fcf
21 (!) = 0x1008
22 (") = 0x1009
23 (#) = 0x100b
24 ($) = 0x100d
25 (%) = 0x100f
26 (&) = 0x1011
28 (() = 0x1013
29 ()) = 0x1016
2a (*) = 0x1019
2c (,) = 0x101b
2e (.) = 0x101f
2f (/) = 0x1021
3a (:) = 0x1023
3b (;) = 0x1027
3f (?) = 0x1029
40 (@) = 0x103f
5b ([) = 0x1040
5c (\) = 0x1042
5d (]) = 0x1043
5e (^) = 0x1044
5f (_) = 0x1045
60 (`) = 0x1049
7b ({) = 0x104b
7c (|) = 0x104d
7d (}) = 0x104f
7e (~) = 0x1051
2b (+) = 0x1163
3c (<) = 0x116e
3d (=) = 0x1172
3e (>) = 0x1174
30 (0) = 0x16c5
31 (1) = 0x16f0
32 (2) = 0x1700
33 (3) = 0x1701
34 (4) = 0x1702
35 (5) = 0x1703
36 (6) = 0x1704
37 (7) = 0x1705
38 (8) = 0x1706
39 (9) = 0x1707
41 (A) = 0x185b
61 (a) = 0x185b
42 (B) = 0x1862
62 (b) = 0x1862
43 (C) = 0x1863
63 (c) = 0x1863
44 (D) = 0x1873
64 (d) = 0x1873
45 (E) = 0x1882
65 (e) = 0x1882
46 (F) = 0x1884
66 (f) = 0x1884
47 (G) = 0x1886
67 (g) = 0x1886
48 (H) = 0x188d
68 (h) = 0x188d
49 (I) = 0x1893
69 (i) = 0x1893
4a (J) = 0x1896
6a (j) = 0x1896
4b (K) = 0x1897
6b (k) = 0x1897
4c (L) = 0x18aa
6c (l) = 0x18aa
4d (M) = 0x1908
6d (m) = 0x1908
4e (N) = 0x194d
6e (n) = 0x194d
4f (O) = 0x1959
6f (o) = 0x1959
50 (P) = 0x195b
70 (p) = 0x195b
51 (Q) = 0x1966
71 (q) = 0x1966
52 (R) = 0x1967
72 (r) = 0x1967
53 (S) = 0x1970
73 (s) = 0x1970
54 (T) = 0x1983
74 (t) = 0x1983
55 (U) = 0x1989
75 (u) = 0x1989
56 (V) = 0x198c
76 (v) = 0x198c
57 (W) = 0x198e
77 (w) = 0x198e
58 (X) = 0x1990
78 (x) = 0x1990
59 (Y) = 0x1991
79 (y) = 0x1991
5a (Z) = 0x1993
7a (z) = 0x1993



By ASCII character:

00 = 0x0600
01 = 0x0601
02 = 0x0602
03 = 0x0603
04 = 0x0604
05 = 0x0605
06 = 0x0606
07 = 0x0607
08 = 0x0608
09 = 0x0705
0a = 0x0706
0b = 0x0707
0c = 0x0708
0d = 0x0709
0e = 0x070e
0f = 0x060f
10 = 0x0610
11 = 0x0611
12 = 0x0612
13 = 0x0613
14 = 0x0614
15 = 0x0615
16 = 0x0616
17 = 0x0617
18 = 0x0618
19 = 0x0619
1a = 0x061a
1b = 0x061b
1c = 0x061c
1d = 0x061d
1e = 0x061e
1f = 0x061f
20 ( ) = 0x0702
21 (!) = 0x071c
22 (") = 0x071d
23 (#) = 0x071f
24 ($) = 0x0721
25 (%) = 0x0723
26 (&) = 0x0725
27 (') = 0x0627
28 (() = 0x0727
29 ()) = 0x072a
2a (*) = 0x072d
2b (+) = 0x0803
2c (,) = 0x072f
2d (-) = 0x062d
2e (.) = 0x0733
2f (/) = 0x0735
30 (0) = 0x0d03
31 (1) = 0x0d19
32 (2) = 0x0d1a
33 (3) = 0x0d1b
34 (4) = 0x0d1c
35 (5) = 0x0d1d
36 (6) = 0x0d1e
37 (7) = 0x0d1f
38 (8) = 0x0d20
39 (9) = 0x0d21
3a (:) = 0x0737
3b (;) = 0x073a
3c (<) = 0x080e
3d (=) = 0x0812
3e (>) = 0x0814
3f (?) = 0x073c
40 (@) = 0x073e
41 (A) = 0x0e02
42 (B) = 0x0e09
43 (C) = 0x0e0a
44 (D) = 0x0e1a
45 (E) = 0x0e21
46 (F) = 0x0e23
47 (G) = 0x0e25
48 (H) = 0x0e2c
49 (I) = 0x0e32
4a (J) = 0x0e35
4b (K) = 0x0e36
4c (L) = 0x0e48
4d (M) = 0x0e51
4e (N) = 0x0e70
4f (O) = 0x0e7c
50 (P) = 0x0e7e
51 (Q) = 0x0e89
52 (R) = 0x0e8a
53 (S) = 0x0e91
54 (T) = 0x0e99
55 (U) = 0x0e9f
56 (V) = 0x0ea2
57 (W) = 0x0ea4
58 (X) = 0x0ea6
59 (Y) = 0x0ea7
5a (Z) = 0x0ea9
5b ([) = 0x073f
5c (\) = 0x0741
5d (]) = 0x0742
5e (^) = 0x0743
5f (_) = 0x0744
60 (`) = 0x0748
61 (a) = 0x0e02
62 (b) = 0x0e09
63 (c) = 0x0e0a
64 (d) = 0x0e1a
65 (e) = 0x0e21
66 (f) = 0x0e23
67 (g) = 0x0e25
68 (h) = 0x0e2c
69 (i) = 0x0e32
6a (j) = 0x0e35
6b (k) = 0x0e36
6c (l) = 0x0e48
6d (m) = 0x0e51
6e (n) = 0x0e70
6f (o) = 0x0e7c
70 (p) = 0x0e7e
71 (q) = 0x0e89
72 (r) = 0x0e8a
73 (s) = 0x0e91
74 (t) = 0x0e99
75 (u) = 0x0e9f
76 (v) = 0x0ea2
77 (w) = 0x0ea4
78 (x) = 0x0ea6
79 (y) = 0x0ea7
7a (z) = 0x0ea9
7b ({) = 0x074a
7c (|) = 0x074c
7d (}) = 0x074e
7e (~) = 0x0750
7f (⌂) = 0x067f


based on weights from LCMapString, which is a little different to the weights used by Unicode.
Everything uses LCMapString so sorting will match Windows Explorer.

NotNull
Posts: 3721
Joined: Wed May 24, 2017 9:22 pm

Re: What character to use in foldername in order to sort first?

Post by NotNull » Fri Feb 04, 2022 6:25 pm

void wrote:
Fri Feb 04, 2022 2:25 am
Everything uses LCMapString so sorting will match Windows Explorer.
Not here:
2022-02-04 19_23_42-T__sortorder.png
2022-02-04 19_23_42-T__sortorder.png (39.11 KiB) Viewed 952 times

raccoon
Posts: 710
Joined: Thu Oct 18, 2018 1:24 am

Re: What character to use in foldername in order to sort first?

Post by raccoon » Fri Feb 04, 2022 9:12 pm

In Windows 7, the Everything sort matches Windows Explorer sort, except for characters apostrophe (') and hyphen (-) which Windows Explorer ignores and looks at the following non-apost non-hyph character's sort order (which is open-square-bracket ([) in this example), but which Everything does not ignore and sorts to the top. And character 127.
Ignore Chr(047) (/) and Chr(092) (\) entries, those are my errors.

Code: Select all

'''[Chr(039)][Explorer(014)][Everything(001)].txt
---[Chr(045)][Explorer(015)][Everything(002)].txt
[Chr(127)][Explorer(018)][Everything(003)].txt
   [Chr(032)][Explorer(001)][Everything(004)].txt
!!![Chr(033)][Explorer(002)][Everything(005)].txt
###[Chr(035)][Explorer(003)][Everything(006)].txt
$$$[Chr(036)][Explorer(004)][Everything(007)].txt
%%%[Chr(037)][Explorer(005)][Everything(008)].txt
&&&[Chr(038)][Explorer(006)][Everything(009)].txt
((([Chr(040)][Explorer(007)][Everything(010)].txt
)))[Chr(041)][Explorer(008)][Everything(011)].txt
,,,[Chr(044)][Explorer(009)][Everything(012)].txt
...[Chr(046)][Explorer(010)][Everything(013)].txt
;;;[Chr(059)][Explorer(011)][Everything(014)].txt
@@@[Chr(064)][Explorer(012)][Everything(015)].txt
[[[[Chr(091)][Explorer(013)][Everything(016)].txt
(ignore) [Chr(047)][Explorer(016)][Everything(017)].txt
(ignore) [Chr(092)][Explorer(017)][Everything(018)].txt
]]][Chr(093)][Explorer(019)][Everything(019)].txt
^^^[Chr(094)][Explorer(020)][Everything(020)].txt
___[Chr(095)][Explorer(021)][Everything(021)].txt
```[Chr(096)][Explorer(022)][Everything(022)].txt
{{{[Chr(123)][Explorer(023)][Everything(023)].txt
}}}[Chr(125)][Explorer(024)][Everything(024)].txt
~~~[Chr(126)][Explorer(025)][Everything(025)].txt
+++[Chr(043)][Explorer(026)][Everything(026)].txt
===[Chr(061)][Explorer(027)][Everything(027)].txt
000[Chr(048)][Explorer(028)][Everything(028)].txt
111[Chr(049)][Explorer(029)][Everything(029)].txt
222[Chr(050)][Explorer(030)][Everything(030)].txt
333[Chr(051)][Explorer(031)][Everything(031)].txt
444[Chr(052)][Explorer(032)][Everything(032)].txt
555[Chr(053)][Explorer(033)][Everything(033)].txt
666[Chr(054)][Explorer(034)][Everything(034)].txt
777[Chr(055)][Explorer(035)][Everything(035)].txt
888[Chr(056)][Explorer(036)][Everything(036)].txt
999[Chr(057)][Explorer(037)][Everything(037)].txt
AAA[Chr(065)][Explorer(038)][Everything(038)].txt
aaa[Chr(097)][Explorer(039)][Everything(039)].txt
BBB[Chr(066)][Explorer(040)][Everything(040)].txt
bbb[Chr(098)][Explorer(041)][Everything(041)].txt
CCC[Chr(067)][Explorer(042)][Everything(042)].txt
ccc[Chr(099)][Explorer(043)][Everything(043)].txt
DDD[Chr(068)][Explorer(044)][Everything(044)].txt
ddd[Chr(100)][Explorer(045)][Everything(045)].txt
EEE[Chr(069)][Explorer(046)][Everything(046)].txt
eee[Chr(101)][Explorer(047)][Everything(047)].txt
FFF[Chr(070)][Explorer(048)][Everything(048)].txt
fff[Chr(102)][Explorer(049)][Everything(049)].txt
GGG[Chr(071)][Explorer(050)][Everything(050)].txt
ggg[Chr(103)][Explorer(051)][Everything(051)].txt
HHH[Chr(072)][Explorer(052)][Everything(052)].txt
hhh[Chr(104)][Explorer(053)][Everything(053)].txt
III[Chr(073)][Explorer(054)][Everything(054)].txt
iii[Chr(105)][Explorer(055)][Everything(055)].txt
JJJ[Chr(074)][Explorer(056)][Everything(056)].txt
jjj[Chr(106)][Explorer(057)][Everything(057)].txt
KKK[Chr(075)][Explorer(058)][Everything(058)].txt
kkk[Chr(107)][Explorer(059)][Everything(059)].txt
LLL[Chr(076)][Explorer(060)][Everything(060)].txt
lll[Chr(108)][Explorer(061)][Everything(061)].txt
MMM[Chr(077)][Explorer(062)][Everything(062)].txt
mmm[Chr(109)][Explorer(063)][Everything(063)].txt
NNN[Chr(078)][Explorer(064)][Everything(064)].txt
nnn[Chr(110)][Explorer(065)][Everything(065)].txt
OOO[Chr(079)][Explorer(066)][Everything(066)].txt
ooo[Chr(111)][Explorer(067)][Everything(067)].txt
PPP[Chr(080)][Explorer(068)][Everything(068)].txt
ppp[Chr(112)][Explorer(069)][Everything(069)].txt
QQQ[Chr(081)][Explorer(070)][Everything(070)].txt
qqq[Chr(113)][Explorer(071)][Everything(071)].txt
RRR[Chr(082)][Explorer(072)][Everything(072)].txt
rrr[Chr(114)][Explorer(073)][Everything(073)].txt
SSS[Chr(083)][Explorer(074)][Everything(074)].txt
sss[Chr(115)][Explorer(075)][Everything(075)].txt
TTT[Chr(084)][Explorer(076)][Everything(076)].txt
ttt[Chr(116)][Explorer(077)][Everything(077)].txt
UUU[Chr(085)][Explorer(078)][Everything(078)].txt
uuu[Chr(117)][Explorer(079)][Everything(079)].txt
VVV[Chr(086)][Explorer(080)][Everything(080)].txt
vvv[Chr(118)][Explorer(081)][Everything(081)].txt
WWW[Chr(087)][Explorer(082)][Everything(082)].txt
www[Chr(119)][Explorer(083)][Everything(083)].txt
XXX[Chr(088)][Explorer(084)][Everything(084)].txt
xxx[Chr(120)][Explorer(085)][Everything(085)].txt
YYY[Chr(089)][Explorer(086)][Everything(086)].txt
yyy[Chr(121)][Explorer(087)][Everything(087)].txt
ZZZ[Chr(090)][Explorer(088)][Everything(088)].txt
zzz[Chr(122)][Explorer(089)][Everything(089)].txt
I was able to write only 89 87 of the 127 ascii characters to filenames. If I missed a symbol, it's because I didn't use some sort of escaping when generating the names in a silly scripting language.

Post Reply