Evaluator column data disappears on refresh

I've added better formatted total file/folder size columns with Evaluator

And when I replace the current view with the default count s with these, it's fine, I get all the numbers with 0's replaced and new headers

But then if I refresh, it's all gone, the columns are blank.
I've restarted Opus completely, the numbers are back, ("Locked status" was due to some filter matches that got reset to empty matches for some reason, so they matched any status)
If I refresh the view:

  • the numbers might be all gone again
    CaptureAllGone

  • or only they might all come back

  • or only the first line might lose the values, others still have them
    Capture1_gone

The default counts never disappear
CaptureSide

Tried toggling "Preferences / File Display Columns / Evaluator Columns / Refresh if file changes", doesn't help, only maybe the first time after Apply the numbers might come back

Code for columns

<?xml version="1.0"?>
<evalcolumn align="1" attrrefresh="no" autorefresh="no" category="size" foldertype="all" header="πŸ“" keyword="count_folder" maxstars="5" namerefresh="no" reversesort="no" title="Folder count βˆ‘" type="0" width="1">// v1@23-12 Total Folder Count with &apos;0&apos; replaced with a custom symbol &apos;.&apos;  and a shorter header πŸ“πŸ—πŸ—‹
if (dircounttotal == 0 )	{return &quot;.&quot;;
} else                   	{return dircounttotal;}
</evalcolumn>

<?xml version="1.0"?>
<evalcolumn align="1" attrrefresh="no" autorefresh="no" category="size" foldertype="all" header="πŸ—‹" keyword="count_file" maxstars="5" namerefresh="no" reversesort="no" title="File count βˆ‘" type="0" width="1">// v1@23-12 Total File Count with &apos;0&apos; replaced with a custom symbol &apos;.&apos;  and a shorter header πŸ“πŸ—πŸ—‹
if (filecounttotal == 0 )	{return &quot;.&quot;;
} else                   	{return filecounttotal;}
</evalcolumn>

What's wrong with the normal columns? It looks like you're replacing "0" with "."?

Your Evaluator columns are probably being generated before the counts have been calculated.

  • I'm, 0 is too noisy to signal nothing, other values stand out more if you hide nothing as . (maybe blank could also work if there are no delays and you are certain not to have to guess "is it not calculated or is it 0", needs testing)
  • their headers are huge, you don't need to read the whole sentence to get the meaning of a column you see every day that can be conveyed with a single symbol!
  • I was also planning to cut the huge numbers. If there are 10,243,192,234 files, I don't usually care about all those 243,192,234 (and don't like the comma separator, a comma-width space is better), and when I do, I think I'll add the exact count in a tooltip instead

That seems to be correct, this code always outputs n/a since if (!IsSet(dircounttotal)) { return "n/a"; }

<?xml version="1.0"?>
<evalcolumn align="1" attrrefresh="no" autorefresh="no" category="size" foldertype="all" header="πŸ“" keyword="count_folder" maxstars="5" namerefresh="no" reversesort="no" title="Folder count βˆ‘" type="0" width="1">// v1@23-12 Total Folder Count with &apos;0&apos; replaced with a custom symbol &apos;.&apos;  and a shorter header πŸ“πŸ—πŸ—‹
if (!IsSet(dircounttotal)) { return &quot;n/a&quot;; }
if (dircounttotal == 0 )	{return &quot;.&quot;;
} else                   	{return dircounttotal as str;}
</evalcolumn>

How can I make it wait until the values it requests are actually ready instead of happily running as is?

Cannot reproduce on my setup. And thanks for the neat columns.

Headers too long

  • FEATURE REQUEST: Please center Headers in Evaluator Columns
    UPDATE: NVM they will center when column is centered. :slight_smile:

Try the latest script I've posted for a while, would you ever see n/a in that column?

column shows like this
image

but when I refresh the n/a flashes where the dots are.

When it works, I don't see any flashes, but then in some longer folder lists I see only the last 4 items with numbers, the first 20 with n/as. And if I change sorting, it follows (so last 4 items have numbers, first 20 don't even if they are now different items)
I think Leo has identified the root cause correctly, the columns are racing with metadata gathering and sometimes they win and show nothing

In general evaluation columns that depend on metadata will wait for it, but it sounds like that mechanism isn't working for folder sizes right now.

This should be a lot better now in 13.7.5.

1 Like

Seems to be better, the columns still evaluate first, but if you return with an empty string (instead of n/a it's not an issue?)
Meanwhile also found a better tiny dot βΈ± (likely font-dependent)

<?xml version="1.0"?>
<evalcolumn align="1" attrrefresh="no" autorefresh="no" category="size" customgrouping="no" foldertype="all" header="πŸ“" keyword="count_folder" maxstars="5" namerefresh="no" reversesort="no" title="Folder count βˆ‘" type="0" width="1">// v0.1@24-07 Total Folder Count, 0β†’βΈ± tiny dot, shorter header πŸ“πŸ—πŸ—‹
if (!IsSet(dircounttotal))	{return &quot;&quot;;}
if (dircounttotal == 0 )  	{return &quot;βΈ±&quot;;
} else                    	{return dircounttotal as str;}
</evalcolumn>

<?xml version="1.0"?>
<evalcolumn align="1" attrrefresh="no" autorefresh="no" category="size" customgrouping="no" foldertype="all" header="πŸ—‹" keyword="count_file" maxstars="5" namerefresh="no" reversesort="no" title="File count βˆ‘" type="0" width="1">// v0.1@24-07 Total File Count, 0β†’βΈ± tiny dot, shorter header πŸ“πŸ—πŸ—‹
if (!IsSet(filecounttotal))	{return &quot;&quot;;}
if (filecounttotal == 0 )  	{return &quot;βΈ±&quot;;
} else                     	{return filecounttotal as str;}
</evalcolumn>