PaperWM icon indicating copy to clipboard operation
PaperWM copied to clipboard

Work with partially off-screen windows side-by-side (peek/auto-resize?)

Open DhruvDh opened this issue 5 years ago • 6 comments

Hello,

I've only installed PaperWM yesterday, and maybe I just don't understand how it works, but I do have a enhancement request/question. I attempt to explain it via an example.

Let's say I am on the browser and following a set of build instructions for a package from a web page. I open a terminal to follow along. The terminal on my machine opens as a non-maximized window, and takes up 2/3rds of the screen on the right; while 1/3rd of the browser window is displayed on the left.

What I expected would happen - Firefox is resized and if the webpage is responsive I can continue to read whatever is on it, without having switch back to it. If I do switch back to it, firefox is maximized again, or returns whatever it original window size was.

What currently happens - Firefox retains its maximized state, and most of the time any relevant info you might want to look at is out of screen.

Perhaps what I expected to happen does not conform to PaperWM's philosophy, but I thought to ask anyway. This is obviously not limited to just a browser, but any window that tends to run maximized but sometimes you would want to peek at it while being focused on another non-maximized app, like a code editor + terminal, file browser, etc.

DhruvDh avatar Jan 11 '20 17:01 DhruvDh

Yeah, we tend towards «dumb» tiling, which to a large degree is a design choice. In general there's a tradeoff between «predictable» and «smart», and while smart is nice we think predictable is more important :) Doing some sort of auto resize would be especially tricky to do in a manner which worked well consistently.

That said, we'd like to make some sort of user triggered auto-tile action, which would fit all reasonable visible windows into the monitor. So in your case you'd be able to use shortcut to resize the browser and terminal so they'd both fit the monitor. We just need to figure out what a reasonable visible window is, and how to best allocate the available width.

hedning avatar Jan 11 '20 21:01 hedning

I am having trouble imagining how one would decide the tiling layout for such an auto-tile functionality, but I am sure you have something decent in mind.

After having used PaperWM a bunch, I realized, for my use-case at least, I don't actually need windows to be resized, I just need to "peek" at the last active window and see it's contents.

Super+T sort of does this, except it is meant for navigation. I don't have a good mental model for how it functions - sometimes it peeks at to the last active window if I press Super+T and keep holding Super and returns back my current window when I release Super, and sometimes it ends up navigating to the last active window.

Regardless, it seems to me that it would be very useful to be able to peek at the last active window, and it also seems that if the Super+T functionality is watered down to eliminate navigation, then the functionality is already sort of implemented.

What are your thoughts?

DhruvDh avatar Jan 12 '20 00:01 DhruvDh

Actually, I think I should keep using PaperWM and not participate in discussions until I've had enough experience with what it has to offer.

Love all the little animations so far btw!

DhruvDh avatar Jan 12 '20 01:01 DhruvDh

I just need to "peek"

Yep, we've thought about some sort of peek functionality, but never landed on anything, in the end just moving between the windows is fairly low cost. Hadn't thought about using super-t for it though :)

and sometimes it ends up navigating to the last active window.

Right, that looks like a bug, it shouldn't change the focused window (the bug seems to depend on the windows involved as far as I can tell, emacs in particular triggers it for me)

Love all the little animations so far btw!

:)

hedning avatar Jan 12 '20 11:01 hedning

After having used PaperWM a bunch, I realized, for my use-case at least, I don't actually need windows to be resized, I just need to "peek" at the last active window and see it's contents.

Sorry I'm (super) late to the party, but I was looking through some older issues and this caught my attention (probably because I was working on a similar named feature for window previews ).

Anyways, I like the idea of a "peek" feature to view the contents of last active window - although this is what having tiling (side by side) can do - there are a few use cases where peeking could have come in handy.

jtaala avatar Apr 08 '23 03:04 jtaala