jun7 / rox-filer

ROX file manager
24 stars 6 forks source link

in small-icons view, file size details are moved to the left side of the icon #237

Open comonad opened 7 months ago

comonad commented 7 months ago

I mainly use (small-)icon-view with file size detail. For years, I was not happy with that huge gap between the left-aligned file names on the left and file sizes shown at the far right end. I have changed that today.

rox

zen2 commented 7 months ago

It appears strange that file size text and file name text are not vertically aligned. I think file name text have to be move 2 pixels upwards too.

zen2 commented 7 months ago

Another note: In list view you can reorder details columns using drag and drop on columns headers and so you can put size before icons to get a similar view (but with other details obviously). If in addition you remove other details in list view options you get accurately the result you expect. So I think your feature could be an option of "Icon view" tab to select where detail should be displayed: as first or last column.

comonad commented 7 months ago

Well, the file name text is centered vertically. The icon is not. You can see that the icon's top is centered between filename text lines. I guess the original author assumed the icon always to be larger than the text. (The screenshot was taken on a HIDPI screen.) It makes sense to correct that, I might do that... though I am not sure how I would feel about perfectly centered icons. I kinda like the 3D effect of icons moved upwards in relation to the file name. (Probably because I am used to this.)

The ordering in the list view was not changeable in that old version of ROX-Filer that I used. I switched to jun7/ROX-Filer after implementing the change for the first time... that was half a day ago. Now that I see the list-view... (Thx for telling me.) ...I still prefer my small-icon-view. And I see that the list-view also has its icons positioned sub-optimally.

comonad commented 7 months ago

Fixed small icon size and centered them vertically.

rox2

comonad commented 7 months ago

I don't know how to change the font size. (I would like smaller numbers.... Smaller file sizes? You know what I mean.) Until I know how to control the font, I feel happy with this result. Any comments?

zen2 commented 7 months ago

AMHO the size and filename text have to be aligned.

comonad commented 7 months ago

IMHO, not for me. I want it to be misaligned. Explicitly. In situations with multiple columns, I have seen the annoyingly confusing optical illusion of icons separating cells of text. The misalignment prevents that. It was aligned at the center and moved 2 pixel upwards, which accidentally seems to be the same as if aligned at the bottom. For comparison, aligned at top/center/bottom looks like this: (The colors also help breaking that illusion, a bit.)

rox_aligned_top

rox_aligned_center

rox_aligned_bottom

comonad commented 7 months ago

I aligned other details at the top (of text boxes), in order to visually align their inner text (bottom) lines.

rox_aligned_top_types

comonad commented 7 months ago

Does all of this pixel-pushing depend on my local fonts? How does it look like on other machines?

zen2 commented 7 months ago

IMHO, not for me. I want it to be misaligned. Explicitly. In situations with multiple columns, I have seen the annoyingly confusing optical illusion of icons separating cells of text. The misalignment prevents that. It was aligned at the center and moved 2 pixel upwards, which accidentally seems to be the same as if aligned at the bottom. For comparison, aligned at top/center/bottom looks like this: (The colors also help breaking that illusion, a bit.)

I suppose that the three pictures are in this order: bottom/center/top aligned. Bottom aligned (first picture) seems clean for me, other seems like a display bug.

Note: in list view, when you use bigger icons, you can see that filename and other informations are vertically centered with icons and all text are aligned properly. So I think that should be similar for icon view because that should works with bigger icons too. So all text and icon have to been logically vertically centered.

zen2 commented 7 months ago

Does all of this pixel-pushing depend on my local fonts? How does it look like on other machines?

You can test yourself how it look by modifying GTK2 font used and even only for rox temporary: see: https://unix.stackexchange.com/questions/753233/change-gtk-2-font-only-for-specific-application

comonad commented 7 months ago

IMHO, not for me. I want it to be misaligned. Explicitly. In situations with multiple columns, I have seen the annoyingly confusing optical illusion of icons separating cells of text. The misalignment prevents that. It was aligned at the center and moved 2 pixel upwards, which accidentally seems to be the same as if aligned at the bottom. For comparison, aligned at top/center/bottom looks like this: (The colors also help breaking that illusion, a bit.)

I suppose that the three pictures are in this order: bottom/center/top aligned. Bottom aligned (first picture) seems clean for me, other seems like a display bug.

Nope, it is top/center/bottom. Do not look at the text, look at the text-boxes (the selected file) the font were rendered in.

comonad commented 7 months ago

Note: in list view, when you use bigger icons, you can see that filename and other informations are vertically centered with icons and all text are aligned properly. So I think that should be similar for icon view because that should works with bigger icons too. So all text and icon have to been logically vertically centered.

The list view seems to be a gtk2 table, gtk renders the font knowing what a baseline is, of course. The icon view renders the font into a rectangle, and only manages that rectangle. Maybe the Ascent is equal in both texts, and the Descent is not. That might be the reason why the font happens to be aligned to the same baseline, when I align the top edges of their bounding boxes.

https://en.wikipedia.org/wiki/Baseline_%28typography%29#/media/File:Typography_Line_Terms.svg Baseline

comonad commented 7 months ago

If anyone likes to align that text, feel free to fork my repo and exchange that single byte in the source code, in the file view_collection.c, in function small_full_template. Or better make it somehow configurable, because I do not like this to be aligned at all.

For me, the file size should rather be a small detail in a corner, like a superscript, than something that triggers the visual feeling of rows in a table. In a table, there is only one item per row; but in icon view, there can be multiple items side by side. So, the icons should feel like the center of each item. That break in text alignment draws the attention towards the icon (where you see the break), away from the text between icons (where you might otherwise assume one line of text with space in the middle). To me, the break feels more harmonic, like feng shui.

zen2 commented 7 months ago

I didn't notice this PR was for your own repository and my point of view was focus on jun7 repository than many of us use as a daily basis. So feel free to change whatever you want on your side.

comonad commented 7 months ago

No worries. :D Thx for your opinions, I value any feedback. I Just wanted to offer the feature as pull request after cloning from jun7.

I cannot get the topic with the alignment past my OCD: I am aware of a potential illusion of a table where there isn't supposed to be one, see the latent ambiguity/confusion, my worries for that, me being annoyed by those worries... it would not be much better than still having the sizes on the right side of the icon.

If most people would prefer the alignment, of course I could flip that byte, let jun7 merge it, flip it back/branch it for myself... but then again, jun7 should decide that, or better flip it themselves after peer reviewing the code. (I usually write in Haskell, not in C.)