I use Thunar in "Compact List" view. When the window is too small to display all the files in a directory, I press one of the arrow keys to select the next file beyond the bounds of the window. Thunar responds by moving the highlight to a file in the next column, and *normally* scrolls that column into view. However, if any file name in the newly selected column is too long to fit within the window, Thunar doesn't scroll to that column at all. The newly selected file remains where it was, off the edge of the window. If it was positioned outside the window to begin with, it remains entirely invisible even after it is selected. The problem seems to occur only when attempting to scroll right, using the right-arrow, down-arrow, or end keys. Scrolling left works fine. This is especially easy to reproduce by navigating a small Thunar window to a directory full of many files, the last one with a very long file name, and pressing the End key.
I can confirm this bug in Thunar 1.0.2 running on ArchLinux x86_64. I tried looking into the code, but I've found that it exceeds my comprehension skills at the moment (not much practice with C and preprocessor wizardry, mainly C++).
This bug appears to have been introduced by the fix for bug 1683. (Perhaps this report should be against libexo instead of Thunar.)
Confirmed: The bug goes away when I revert this commit: http://git.xfce.org/xfce/exo/commit/?id=c2ac2c77793a7fb6cee85160e6a0f00e53d02108
I don't understand what behavior bug 1683 was trying to describe, and the screen shots linked to that report no longer exist. I followed the steps in that report, and the only weirdness I noticed was that the icon view alternated between showing the beginning and the end of a long file name when selected. If that is what the offending commit was supposed to fix, I suggest reverting it, because the bug it causes (preventing a selected item from scrolling into view) is much worse.
I made a patch that replaces the original bug 1683 fix with one that's a bit less drastic, in that it doesn't completely disable scrolling wide items into view. My patch takes care not to scroll if the selected item is already as visible as possible, thus avoiding the alternate left/right scrolling on multiple clicks that interfered with double-clicking wide items when I reverted the first patch. I'm currently waiting for Launchpad's servers to build me a new package. If it works as expected, I'll upload my patch here.
Created attachment 5097 Skip horizontal scrolling to a wide item only if the item is already as visible as possible. This patch allows wide items to scroll into view when selected, but does not cause them to alternately jump left and right with each click when they are already visible, and does not defeat double-click.
Created attachment 5571 patch: scroll just enough to make a large item visible Here's an updated patch against the Ubuntu Trusty libexo-1-0 package source. Instead of failing to scroll at all when an item wider (or taller) than the view is selected, scroll just enough to make it as visible as possible. This allows large items to scroll into view when selected via arrow keys, but does not cause them to jump left and right with each click, and does not defeat double-click.
I believe this patch works cleanly against current git as well.
Just for reference, I can reproduce the bug. Maybe we can get this reviewed/merged before 4.12.
That would be nice.
Able to reproduce the bug, and verified your patch as well. Committed at http://git.xfce.org/xfce/exo/commit/?id=9bb9c1688d9417ace0a94b87b512398d0f69429c Thanks for the awesome patch!
Thanks for committing it. That's one less component I'll have to patch and repackage every time I upgrade my OS. :)