Idea: temporary "compactize" mode for columns

That would be handy at times, for sure.

At the moment, you could do something similar with a script, which I've put in the Lister Column Header context menu:

This resizes all the columns to 50 pixels wide the first time you click it, and auto-sizes all of them the second time you click it:

Toggle Narrow_Auto.dcf (2.4 KB)

Script code for reference:

function OnClick(clickData) {

   var maxSize = 50;

   maxSize = DOpus.DPI.Scale(maxSize);
   clickData.func.command.deselect = false;

   var colParamsAuto = "";
   var colParamsSmall = "";
   for(var e = new Enumerator(clickData.func.sourcetab.format.columns); !e.atEnd(); e.moveNext()){
      var col = e.item();
      if (!col.Autosize || col.Max != maxSize){
         if (colParamsSmall) colParamsSmall += ",";
         colParamsSmall += col.Name;
         colParamsSmall += "(!,a," + maxSize + ")"; // Keep position. Auto-size. Max maxSize pixels.
      }
      if (colParamsAuto) colParamsAuto += ",";
      colParamsAuto += col.Name;
      colParamsAuto += "(!,a,0)"; // Keep position. Auto-size. No max size.
   }

   var cmd = "";
   if (colParamsSmall) {
     cmd = 'Set COLUMNSADD="'+colParamsSmall+'"';
   }
   else if (colParamsAuto) {
     cmd = 'Set COLUMNSADD="'+colParamsAuto+'"';
   }

   if (cmd != "")
   {
	   clickData.func.command.RunCommand(cmd);
   }
}

The script is similar to / based on the one which toggles between auto-size and resetting the folder format, from here:

1 Like