dawsers / hyprscroller

Hyprland layout plugin providing a scrolling layout like PaperWM
MIT License
159 stars 9 forks source link

Idea, Behavior similar to a newm #5

Closed CRAG666 closed 6 months ago

CRAG666 commented 6 months ago

WorkCase:

https://www.youtube.com/watch?v=mDw-hMW0b70

Thanks

dawsers commented 6 months ago

The feature I find interesting at first is being able to change focus when in full screen mode. That is something I am planning to implement. The rest is very pretty, but I see some issues, like all the windows are the same size for this to work transparently, and the need to use the mouse in some workflows.

Please, explain what features you miss (aside from full screen focus change) so I can think if/how they would work for this project.

Thanks!

CRAG666 commented 6 months ago

I really miss being able to have windows up and down instead of just having them on one side. My normal flow with newm is to move both up and down, left and right, and also move diagonally. Believe me, I even abandoned the use of a second monitor for the ease of moving around on just one. By the way, it doesn't depend on the mouse, everything can be controlled by keyboard, however the touchpad gestures are wonderful. In general what I miss the most is the mosaic design. Having my own work layout makes my flow multiply. By the way, thank you very much for this wonderful project, I was waiting for something for months, I would like to contribute to the project, but unfortunately I am studying a master's degree that absorbs all my time. @dawsers Thanks

CRAG666 commented 6 months ago

I almost forgot, a feature that I would like to have is the ability to select in which position the new windows will be, for example currently if I apply the analogy that I want to propose, the windows will be down in proportion of 1, therefore the opening is infinite to the right.

Diagram: Imagine setting the aperture down:3, Opening the windows would behave as follows:

First window: imagen

Second Window: imagen Third Window: imagen when the limit established in this case 3 is reached, then it restarts but in this case the new window opens on the right: imagen imagen imagen imagen with a down:3 configuration we limit the growth by three, but the growth to the right is still infinite but if for example we configure right:3 we limit the growth to the right to 3 windows but down it is infinite

CRAG666 commented 6 months ago

What I wrote allows movement either up, down, left, right and the 4 diagonals imagen

dawsers commented 6 months ago

I found another video that shows what newm is capable of doing. I understand the appeal of a grid layout, but I find it a bit limiting in the sense that windows are always in the same position on the layout until you move them. In hyprscroller you can also cycle windows vertically (a column) while the ones next to it (right and left columns) stay focused and within the viewport. I plan to improve vertical management, maybe breaking compatibility, but adopting a grid layout would be a different plugin, because despite how interesting it could be for some people, it would limit some of the features that you can use right now.

Another problem is the overview. Hyprland doesn't let (for now) plugins correctly implement an overview mode where windows are fully scaled (not just the boundaries, but also the content). A big grid would make the windows hard to recognize because of that (the content wouldn't be scaled). This is something that happens now with toggleoverview, but by using workspaces, the amount of windows in one of them is still not that big to show that problem in overview mode.

That limitation seems to have been removde...today, see this. Well, it seems vaxersky is writing a plugin to do it...

CRAG666 commented 6 months ago

My idea was only about making the movements faster, instead of pressing so many keys to go to a window, moving in a grid is fast, since you can go up, down, left, right, etc.

dawsers commented 6 months ago

You can also call toggleoverview and move like if you had a grid. If you change the key bindings like the README file, you can focus windows using the arrow keys.

overview mode is similar to what you could do in newm when zooming out. All the features are available while you are "zoomed out".

But if there are other things you miss and would fit here, of course I would be very thankful to hear them.

dawsers commented 6 months ago

I have made changes to columns which are now more useful. The overview mode is also improved. I am not going to build newm into this plugin, but I think the current functionality should allow quite similar workflows.

CRAG666 commented 6 months ago

@dawsers this is amazing, thans, I would just like to be able to add a limit in the column and row mode to move on to the next one so that I have more sensible behavior when opening windows and remembering which ones I have inhabited.