
SizeES: A Plugin for Fast, Persistent FolderSizes in x2 via Everything Search
Moderators: fgagnon, nikos
-
- Site Admin
- Posts: 16295
- Joined: 2002 Feb 07, 15:57
- Location: UK
Re: SizeES: A Plugin for Fast, Persistent FolderSizes in x2 via Everything Search
if there was a nobel prize for computing, you'd deserve it 

-
- Platinum Member
- Posts: 4797
- Joined: 2008 Sep 30, 06:52
- Location: Baile Átha Cliath
Re: SizeES: A Plugin for Fast, Persistent FolderSizes in x2 via Everything Search
Sadly, history teaches us that invention and the incessant clambering to get something to the public's attention more often takes the opposite path.
Nature always "buys it" in the end.

Nature always "buys it" in the end.
-
- Platinum Member
- Posts: 1683
- Joined: 2009 Aug 19, 07:49
Re: SizeES: A Plugin for Fast, Persistent FolderSizes in x2 via Everything Search
Considering that computing is essentially applied physics (with a touch of insanity, but unfortunately there are no Nobel Prizes for insanity, only trouble), I have either good or bad news, depending on whether Kilmatead would like one or not.
Tux. ; tuxproject.de
registered xplorer² pro user since Oct 2009, ultimated in Mar 2012
registered xplorer² pro user since Oct 2009, ultimated in Mar 2012
-
- Platinum Member
- Posts: 4797
- Joined: 2008 Sep 30, 06:52
- Location: Baile Átha Cliath
Re: SizeES: A Plugin for Fast, Persistent FolderSizes in x2 via Everything Search
Kilmatead and his Ego have little interest in the superficial Awards of Man so celebrated in these latter centuries. That being said, they do appreciate the Ig Nobel Prize competition, celebrating frog levitation experiments and furthering the field of psycho-ceramics, better known as the science of "cracked pots".

Each winner received a medal shaped like a frying pan that makes noise when shaken and Cambridge parking passes that are valid from 3 a.m. – 4 a.m. the day after Christmas.
-
- Platinum Member
- Posts: 1683
- Joined: 2009 Aug 19, 07:49
Re: SizeES: A Plugin for Fast, Persistent FolderSizes in x2 via Everything Search
Cambridge parking passes are, arguably, more useful than most Awards. Then again, I don't even have a car. 

Tux. ; tuxproject.de
registered xplorer² pro user since Oct 2009, ultimated in Mar 2012
registered xplorer² pro user since Oct 2009, ultimated in Mar 2012
-
- Platinum Member
- Posts: 4797
- Joined: 2008 Sep 30, 06:52
- Location: Baile Átha Cliath
Re: SizeES: A Plugin for Fast, Persistent FolderSizes in x2 via Everything Search
Code: Select all
Changelog for 3.0.0.5
Added: Custom declaration support through INI to add up to 10 properties from Everything Search for use in x2 (see ReadMe.txt for full details)
Added: Option to expose the accumulated sizes of all reparse-targets further down in the tree, including sublinks - INI: SizesIncludeReparseTree[=0]
Fixed: Resolving deep paths in secondary-column queries caused ES to block indefinitely
Fixed: User-filters within ES could interfere with prefix modifiers the plugin reserves for IPC calls
Fixed: legacy IPC failure regression
Fixed: Compatibility for future iterations of ES to use an unnamed-instance pipe instead of the current/hardcoded (named) L"1.5a"
Fixed: Initial defaults for a customised INI could require an additional x2 restart to register
Fixed: Resolving path references could repeat unnecessarily if the attributes didn't match
Fixed: Columns other than Status.ES remained available despite being non-functional (failed validations, disabled options, etc.)
Updated to ES SDK v3.0.0.4 (Elided for size & minor LLVM/GCC adaptation)
Updated INI file conformance version and layout
Updated ReadMe.txt file
Apparently some people liked these columns, and the user requested that I add them to the plugin so they could wholly remove Foldersize and still retain all its functionality. This made sense to me, so I came up with a simple proof-of-concept... but then I heard a little voice inside my head (which had a suspiciously German accent) saying "but I can't live without seeing the 'Full Path UTF-8 Byte Length', could you add that too please?" You really know you're in trouble when a German says "please", so I needed a redesign to suit everyone, even the nitpicky types. You know who you are.

So, I came up with a simple method for anyone to add virtually any column from Everything into x2 with just an easy 1-line INI edit - all you need to know is the property/column name ES uses in its own UI, restart x2, and away you go.
Complete details of this are included in the ReadMe.txt file, and the plugin's INI provides the 3 columns mentioned above (pre-defined out of the box), so to add more all anyone needs to do is copy them and change the property name to reflect whatever ES column they want. The ReadMe explains all, including the smaller details of adjusting how a column-declaration is composed to behave.
Naturally the vast majority of these are already provided by x2 so there's no reason at all to use them... 'Name'? 'Path'? Those are for lesser mortals... however, there are a fair few which x2 doesn't natively provide, like "Plain Text Line Count", "Opens With", and "Document Content Type". You never know what you might find. And if you're truly experimental, you can do weird things like:
Code: Select all
folders: property:"Descendant Occurrence Count" param:"descendant:ext:mp3" alias:"Mp3's"

Code: Select all
Custom_0 = folders: property:"Descendant Count" alias:"All Children"
Custom_1 = folders: property:"Descendant Folder Count" alias:"Folder Children"
Custom_2 = folders: property:"Descendant File Count" alias:"File Children"
Custom_3 = property:"Plain Text Line Count" files:txt;ini;log
Custom_4 = prop:412 files: !ext:exe;dll // Any file except EXE & DLL (ID 412, 'Opens With')
...and so forth. (And yes, inline comments are allowed, too.) Simples!
Curiously, this sort of thing always comes into play when people look at the size of their %userprofile% folder, as that has a lot of hidden (and convoluted) reparse-points in it, and different programmes report the sizes in slightly different ways. For example, I installed a couple of those "directory size" utilities designed to show you where all your disc-space has gone just to check what they said, and depending on the settings used (follow links, consider hard-links, etc, etc) they all came up with different numbers which didn't agree with each other nor x2 native or even this plugin - so don't come running to me when the world collapses and the era of the zombie paradise is ushered in.

Bottom-line: if you use or manage a lot of these links and want to see their sizes accurately represented as you browse around the streets of New York in a 1973 Buick Century pretending you're Kojak reincarnated (don't we all?), that's now possible (Buick sold separately). Interestingly, this is NOT done by "walking the tree" as all other programmes (including x2) do it, so I had a little fun there too. It'll add a little under one millisecond to query response times, but that's negligible. It also takes into account sub-link-chains, circular-links, etc, so it's robust enough for its britches. Who loves ya, Baby?
Link in main post updated (or just use this one). Also includes a few small bugfixes and the usual whatnot (weirdly, for adding a bunch of extra functionality, the plugin size is actually reduced from last time, so hey, benefits all around).
Please note that if you made any changes in the plugin's INI of the last version, these will be reset to default as the INI is automatically updated/rewritten to accommodate all the new shiny stuff.
Enjoy.
-
- New Member
- Posts: 1
- Joined: 2025 Aug 02, 14:51
Re: SizeES: A Plugin for Fast, Persistent FolderSizes in x2 via Everything Search
Congrats on the new version! A couple of minor things I noticed:
In Everything2.h, the following strings got incorrectly modified from EVERYTHING to E2:
The UNC\ prefix shouldn't be removed, it should be replaced with \\. Microsoft STL reference:
https://github.com/microsoft/STL/blob/5 ... stem#L3085
In Everything2.h, the following strings got incorrectly modified from EVERYTHING to E2:
Code: Select all
#define E2_IPC_WNDCLASSW L"E2_TASKBAR_NOTIFICATION"
#define E2_IPC_WNDCLASSW_15A L"E2_TASKBAR_NOTIFICATION_(1.5a)"
https://github.com/microsoft/STL/blob/5 ... stem#L3085
-
- Platinum Member
- Posts: 4797
- Joined: 2008 Sep 30, 06:52
- Location: Baile Átha Cliath
Re: SizeES: A Plugin for Fast, Persistent FolderSizes in x2 via Everything Search
Hah, that's what I get for not testing the legacy IPC anymore - well spotted, thanks. (I just did a mass find/replace to cut down on the clutter of long constants and function names, and missed those.) I made the same mistake awhile ago when you suggested using the '::' prefix to avoid user-masks - I blindly made the change, forgot about it, then when I went back to check the IPC a month later for something else and I had a heck of time figuring out where I went wrong. I checked your variant, and noticed you were quick to suggest, but slow to retract!m417z wrote: 2025 Aug 03, 15:56 ...the following strings got incorrectly modified from EVERYTHING to E2

Fair enough - I was just going by the original GetFinalPathNameByHandle cleanup from before. Never seen an actual UNC path used in anger in the wild myself, so it's like swatting invisible flies.m417z wrote: 2025 Aug 03, 15:56 The UNC\ prefix shouldn't be removed, it should be replaced with \\.
Thanks again. Changes employed, links updated.

Code: Select all
Changelog for 3.0.0.6
Fixed: Legacy IPC failure regression (again!)
Fixed: UNC prefix path modification
-
- Platinum Member
- Posts: 1683
- Joined: 2009 Aug 19, 07:49
Re: SizeES: A Plugin for Fast, Persistent FolderSizes in x2 via Everything Search
Finally. It's working.Kilmatead wrote: 2025 Aug 01, 11:39 but then I heard a little voice inside my head (which had a suspiciously German accent)

Tux. ; tuxproject.de
registered xplorer² pro user since Oct 2009, ultimated in Mar 2012
registered xplorer² pro user since Oct 2009, ultimated in Mar 2012
-
- Member
- Posts: 22
- Joined: 2019 Jun 13, 14:05
SizesES Mod does not show folder sizes correctly in Xplorer2
Hello,
SizesES Mod does not show folder sizes correctly in Xplorer2 for network drives even though the same mod does show folder sizes correctly in windows explorer for network drives. This is after the network drive has been indexed by EverythingSearch and shows the correct foldersize in EverythingSearch search window.
https://ptpimg.me/88jmxz.png
https://ptpimg.me/byrrh6.png
https://ptpimg.me/b8qhmr.png
Processor 12th Gen Intel(R) Core(TM) i9-12900HK (2.50 GHz)
Installed RAM 64.0 GB (63.7 GB usable)
System type 64-bit operating system, x64-based processor
Edition Windows 11 Pro
Version 24H2
OS build 26100.4652
Experience Windows Feature Experience Pack 1000.26100.128.0
Xplorer2 6.1.0.5 ULT x64
EverythingSearch 1.5a 1.5.0 1396a
SizesES 3.0.0.6
SizesES Mod does not show folder sizes correctly in Xplorer2 for network drives even though the same mod does show folder sizes correctly in windows explorer for network drives. This is after the network drive has been indexed by EverythingSearch and shows the correct foldersize in EverythingSearch search window.
https://ptpimg.me/88jmxz.png
https://ptpimg.me/byrrh6.png
https://ptpimg.me/b8qhmr.png
Processor 12th Gen Intel(R) Core(TM) i9-12900HK (2.50 GHz)
Installed RAM 64.0 GB (63.7 GB usable)
System type 64-bit operating system, x64-based processor
Edition Windows 11 Pro
Version 24H2
OS build 26100.4652
Experience Windows Feature Experience Pack 1000.26100.128.0
Xplorer2 6.1.0.5 ULT x64
EverythingSearch 1.5a 1.5.0 1396a
SizesES 3.0.0.6
-
- Platinum Member
- Posts: 4797
- Joined: 2008 Sep 30, 06:52
- Location: Baile Átha Cliath
Re: SizeES: A Plugin for Fast, Persistent FolderSizes in x2 via Everything Search
@Uzer99, I've sent you PM regarding this. Apologies for the difficulty.
-
- Member
- Posts: 22
- Joined: 2019 Jun 13, 14:05
Re: SizeES: A Plugin for Fast, Persistent FolderSizes in x2 via Everything Search
Hi,
I responded via PM to provide the log and other data. If you dont get it shortly please reply back. There are 2 msgs in the PM outbox, but Im not sure if that means they didnt go thru to you or they are sent but not yet received.
I responded via PM to provide the log and other data. If you dont get it shortly please reply back. There are 2 msgs in the PM outbox, but Im not sure if that means they didnt go thru to you or they are sent but not yet received.
-
- Platinum Member
- Posts: 4797
- Joined: 2008 Sep 30, 06:52
- Location: Baile Átha Cliath
Re: SizeES: A Plugin for Fast, Persistent FolderSizes in x2 via Everything Search
It means "not yet received", as in I went to bed as it was late in my timezone.Uzer99 wrote: 2025 Aug 06, 00:29 There are 2 msgs in the PM outbox, but Im not sure if that means they didnt go thru to you or they are sent but not yet received.

-
- Site Admin
- Posts: 16295
- Joined: 2002 Feb 07, 15:57
- Location: UK
Re: SizeES: A Plugin for Fast, Persistent FolderSizes in x2 via Everything Search
@Uzer99 do you have "fast network" option turned on? see program options, advanced section
also see if it makes any difference ticking the advanced option "Get folder sizes everywhere"
also see if it makes any difference ticking the advanced option "Get folder sizes everywhere"
-
- Member
- Posts: 22
- Joined: 2019 Jun 13, 14:05
Re: SizeES: A Plugin for Fast, Persistent FolderSizes in x2 via Everything Search
Hi,
No, I didnt have fast network option turned on. It's turned on now and I'll monitor to see if network connection is faster as I browse. So far no difference. Also, this option wont help the main issue as SizesES doesnt seem to be able to connect to any network locations period. Check the logfile I forwarded yesterday. It shows no remote network activity even though I clearly was browsing locally and remotely with X2.
[Startup] NoResolve: 1 Sustain: 1
[EnterCGV] |S:\TestLocalFolder0\TestLocalFolder\1|
[Issued] S:\TestLocalFolder0\TestLocalFolder\1
[PipedAs] {8208/8208} S:\TestLocalFolder0\TestLocalFolder\1
[ExitCGV] Not deferred = 5301038775
[EnterCGV] |S:\TestLocalFolder0\TestLocalFolder\2|
[Issued] S:\TestLocalFolder0\TestLocalFolder\2
[PipedAs] {8208/8208} S:\TestLocalFolder0\TestLocalFolder\2
[ExitCGV] Not deferred = 7318025360
[EnterCGV] |S:\TestLocalFolder0\TestLocalFolder\3|
[Issued] S:\TestLocalFolder0\TestLocalFolder\3
[PipedAs] {8208/8208} S:\TestLocalFolder0\TestLocalFolder\3
[ExitCGV] Not deferred = 5932010448
[EnterCGV] |S:\TestLocalFolder0\TestLocalFolder\4|
[Issued] S:\TestLocalFolder0\TestLocalFolder\4
[PipedAs] {8208/8208} S:\TestLocalFolder0\TestLocalFolder\4
[ExitCGV] Not deferred = 11505669572
[EnterCGV] |S:\TestLocalFolder0\TestLocalFolder\5|
[Issued] S:\TestLocalFolder0\TestLocalFolder\5
[PipedAs] {8208/8208} S:\TestLocalFolder0\TestLocalFolder\5
[ExitCGV] Not deferred = 7084261720
[EnterCGV] |S:\TestLocalFolder0\TestLocalFolder\6|
[Issued] S:\TestLocalFolder0\TestLocalFolder\6
[PipedAs] {8208/8208} S:\TestLocalFolder0\TestLocalFolder\6
[ExitCGV] Not deferred = 5624736256
[EnterCGV] |S:\TestLocalFolder0\TestLocalFolder\7|
[Issued] S:\TestLocalFolder0\TestLocalFolder\7
[PipedAs] {8208/8208} S:\TestLocalFolder0\TestLocalFolder\7
[ExitCGV] Not deferred = 6186555052
[EnterCGV] |S:\TestLocalFolder0\TestLocalFolder\8|
[Issued] S:\TestLocalFolder0\TestLocalFolder\8
[PipedAs] {8208/8208} S:\TestLocalFolder0\TestLocalFolder\8
[ExitCGV] Not deferred = 28489276
[EnterCGV] |S:\TestLocalFolder0\TestLocalFolder\9|
[Issued] S:\TestLocalFolder0\TestLocalFolder\9
[PipedAs] {8208/8208} S:\TestLocalFolder0\TestLocalFolder\9
[ExitCGV] Not deferred = 11926396
No, I didnt have fast network option turned on. It's turned on now and I'll monitor to see if network connection is faster as I browse. So far no difference. Also, this option wont help the main issue as SizesES doesnt seem to be able to connect to any network locations period. Check the logfile I forwarded yesterday. It shows no remote network activity even though I clearly was browsing locally and remotely with X2.
[Startup] NoResolve: 1 Sustain: 1
[EnterCGV] |S:\TestLocalFolder0\TestLocalFolder\1|
[Issued] S:\TestLocalFolder0\TestLocalFolder\1
[PipedAs] {8208/8208} S:\TestLocalFolder0\TestLocalFolder\1
[ExitCGV] Not deferred = 5301038775
[EnterCGV] |S:\TestLocalFolder0\TestLocalFolder\2|
[Issued] S:\TestLocalFolder0\TestLocalFolder\2
[PipedAs] {8208/8208} S:\TestLocalFolder0\TestLocalFolder\2
[ExitCGV] Not deferred = 7318025360
[EnterCGV] |S:\TestLocalFolder0\TestLocalFolder\3|
[Issued] S:\TestLocalFolder0\TestLocalFolder\3
[PipedAs] {8208/8208} S:\TestLocalFolder0\TestLocalFolder\3
[ExitCGV] Not deferred = 5932010448
[EnterCGV] |S:\TestLocalFolder0\TestLocalFolder\4|
[Issued] S:\TestLocalFolder0\TestLocalFolder\4
[PipedAs] {8208/8208} S:\TestLocalFolder0\TestLocalFolder\4
[ExitCGV] Not deferred = 11505669572
[EnterCGV] |S:\TestLocalFolder0\TestLocalFolder\5|
[Issued] S:\TestLocalFolder0\TestLocalFolder\5
[PipedAs] {8208/8208} S:\TestLocalFolder0\TestLocalFolder\5
[ExitCGV] Not deferred = 7084261720
[EnterCGV] |S:\TestLocalFolder0\TestLocalFolder\6|
[Issued] S:\TestLocalFolder0\TestLocalFolder\6
[PipedAs] {8208/8208} S:\TestLocalFolder0\TestLocalFolder\6
[ExitCGV] Not deferred = 5624736256
[EnterCGV] |S:\TestLocalFolder0\TestLocalFolder\7|
[Issued] S:\TestLocalFolder0\TestLocalFolder\7
[PipedAs] {8208/8208} S:\TestLocalFolder0\TestLocalFolder\7
[ExitCGV] Not deferred = 6186555052
[EnterCGV] |S:\TestLocalFolder0\TestLocalFolder\8|
[Issued] S:\TestLocalFolder0\TestLocalFolder\8
[PipedAs] {8208/8208} S:\TestLocalFolder0\TestLocalFolder\8
[ExitCGV] Not deferred = 28489276
[EnterCGV] |S:\TestLocalFolder0\TestLocalFolder\9|
[Issued] S:\TestLocalFolder0\TestLocalFolder\9
[PipedAs] {8208/8208} S:\TestLocalFolder0\TestLocalFolder\9
[ExitCGV] Not deferred = 11926396