Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Also infinite vertical space? #198

Open
danielyzli opened this issue Nov 10, 2019 · 2 comments
Open

Also infinite vertical space? #198

danielyzli opened this issue Nov 10, 2019 · 2 comments
Labels
enhancement Adds a new feature or extends scope

Comments

@danielyzli
Copy link

Wondering whether it would be possible to not only have infinite horizontal space but also infinite vertical space.

Use-case:
Let's say you're on a laptop screen and you have one work window (text editor, CAD program, etc. i.e. the window you're doing work in) and two reference windows (pdf, web browser, etc. i.e. the window you're looking at while doing work). It's not always feasible to do 3 column tiling (e.g. not enough horizontal space for webpage) or tile the two reference windows in one column and have the work window in another (in which the reference windows do not have enough vertical screen real estate). The catch is that we usually only need to look at one of the reference windows along with the work window. Thus, my current PaperWM workflow is to have 3 1/2 horizontal space columns with the work window in the middle and reference windows on the edges; effectively, I can use the horizontal movement bindings to quickly switch which reference window is being 'tiled' with the work window. I think in this base case, PaperWM's infinite horizontal screen real estate really shines.

However, if there are multiple work and reference windows, it becomes quite easy to lose the windows even with the help of the minimap. And sometimes splitting these windows across multiple workspaces isn't a good option because they need to be seen at the same time.

Proposal:
Could each window column have infinite height the same way there is infinite horizontal screen real estate. This would make it such that if you have one work window and two reference windows, you could have the work window on the right half and toggle between full height reference windows on the left half, thus streamlining the workflow since your work window will always be on the right (vs. constantly switching between being on the right and left with my current workflow). Moreover, I think the infinite horizontal screen real estate would still be useful.

@danielyzli
Copy link
Author

Off the top of my head I think there would be two ways to implement this: 1) Removing the vertical height constraints and just using the current Super+Shift+R and move up/down commands; and 2) if the current horizontal workspace array (?) could be put into the columns as well, we could have the long horizontal window with two not-as-wide windows tiled on top or below it. This could be useful for video or photo editing software with a long timeline that needs a lot of horizontal space but not as much vertical space.

@hedning
Copy link
Member

hedning commented Nov 10, 2019

We've toyed with the idea of making the vertical tiling scrollable. It would most likely need to be some sort of layout mode though, as by default we want windows to fit into the height.

In general there's a bunch of ways to display a column of windows:

  • stacked: only show one of the windows at a time, select using mru on the stack
  • scrolled: select using the spatial order
  • tiled: same as scrolled but with finite height

I think the stacked approach might be the best tbh. Though there's some design needed to make it work well (ie. how to activate it and how to navigate).

if the current horizontal workspace array (?) could be put into the columns as well

That could be cool, but I fear it would make things rather complicated, bloating the amount of actions etc.

Edit:

Somewhat related: We're planning to support docked windows: #194

@hedning hedning added the enhancement Adds a new feature or extends scope label Nov 10, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Adds a new feature or extends scope
Projects
None yet
Development

No branches or pull requests

2 participants