Skip to content

Make the order and width of columns in Catfish a configuration item, e.g. by parameters

In my file browser Thunar (which also invokes Catfish) I prefer to show the date in the first column, since its width is the same for all listed entries. I have configured Thunar to show the date in the leftmost column and the size column next right to it, since this column also is fixed width. File names go to the third column. File names can get quite wide however. So they may even not fit into the display window. Catfish places the date column after the file name column (which changes its width) and therefore this column can be placed quite far to the right, sometimes it is not visible.

Arranging columns in this order in Thunar, I can easily sort by change time, size and file name by just clicking on the right column head. These are the three sorting orders which I always use often and frequently switch between them. Catfish delivers the column for the directory path too, so in a few cases it is also good to easily sort by this column.

=> It is advisable to be able to define the order of the columns. The easiest thing would be to add another parameter catfish --col=dsnp ..., where the first characters of date, size, name, path, owner, group, access rights define the order of the columns. (Currently Catfish does not provide columns for owner, group, access rights, but they might be of use too. Therefore I extend my proposal right to them).

Perhaps it also might be of value to be able to specify a column width in pixels, e.g. catfish --col-width=160,80,600 .... The given numbers determine the initial column widths for the 1st, 2nd, 3rd column and so on. If an actual entry to be listed is larger than fitting, it would be truncated, but the user should be able to change column widths by mouse operations later. If less column widths are given than columns defined, e.g. catfish --col=dsnp --col-width=160,80 ... the remaining column widths should be chosen automatically (like currently, but there there is no selection means for columns to be displayed).