ckardaris / ucollage

An extensible command line image viewer inspired by vim
GNU General Public License v3.0
210 stars 3 forks source link

Move to next page using arrow keys #17

Open 766F6964 opened 3 years ago

766F6964 commented 3 years ago

An idea for a quality of life improvement: Currently the user is able to use arrow keys to navigate between the pictures currently shown in the grid. The user can also switch to the previous/next page using n or p.

Intuitively, I think it would make sense to automatically switch to the next/previous page, when navigating past the borders of the current page, while remaining in the same row from the previous page.

Example: navigation

When the user is at the rightmost image on the left page, the right-arrow key should switch to leftmost image on the next page, while remaining in the same row as the previous page (In this example, the middle row). Obviously, the same logic should apply when switching to the previous page.

In my opinion, its good to have both options available:

ckardaris commented 3 years ago

This is something I had thought about when I was writing the image selection code. It seems to me that the action of fetching the next batch of images is not what the user would expect when reaching the edge of the grid. It is a very "violent" change of the view, caused by a simple key press that behaves differently in all the other cases.

Anyway, I would like to discuss this further, because it's totally doable. Maybe some other people express their opinion on this.

I hope you don't mind all these suggestion issues ;)

Keep them coming. I am really eager to find out about other people's experiences with ucollage

766F6964 commented 3 years ago

It is a very "violent" change of the view, caused by a simple key press that behaves differently in all the other cases.

It's not entirely consistent, the way I see it. Right now, it is for example also not possible to go to the next/previous image when opened with enter using the arrow keys (only with n and p). Arrow keys is the common way to go through pictures in other image viewers. If arrow-keys works to go through the next/previous image in grid view, they should behave the same in fullscreen/view-mode.

Anyway, I would like to discuss this further, because it's totally doable. Maybe some other people express their opinion on this.

Maybe make it optional? For example a flag/environment variable that could be set to 0 or 1, to allow for this behaviour? Another idea, if you are not a fan of directly switching to the next page, could be going to the next row, and only go to the next page when we at the bottom right image. nav2

Again, all of these don't have to be the default behavior, but it would be nice to have to choice to enable such behavior.

ckardaris commented 3 years ago

Another idea, if you are not a fan of directly switching to the next page, could be going to the next row, and only go to the next page when we at the bottom right image.

There is a default keybinding with Space and the corresponding function call _select right (see [1]) to wrap to the next line. But again the next batch is not fetched after reaching the right bottom image.