raboof / notion

Tiling tabbed window manager
https://notionwm.net/
GNU Lesser General Public License v2.1
269 stars 63 forks source link

Feature request: zoom #40

Open rk4n3 opened 7 years ago

rk4n3 commented 7 years ago

With really high-resolution displays becoming fairly common, sometimes apps natively paint themselves very small relative to the desktop's real-estate, and the ability to zoom the desktop on-the-fly would solve alot of tricky usability scenarios that result.

raboof commented 7 years ago

Thanks for creating this issue!

I agree this would be useful to have, though I'm not sure it'd be the window managers' responsibility.

I'll keep this issue open for now so we can collect ideas on how to solve this, though.

rk4n3 commented 7 years ago

Thanks for such a quick and accommodating response :)

I suppose there's more than one way to approach/look-at the functionality. What I'm proposing is to add a minimal compositing dimension to the window manager (for example, see definition of "compositing window manager" at https://en.wikipedia.org/wiki/Compositing_window_manager), perhaps confined to only the zoom functionality, or perhaps eventually extensible to other compositing techniques.

As an illustration of how it could work, XFCE's approach seems very intuitive to me: a hot-key/mouse combination is used to zoom the entire desktop in/out, typically the alt key while rolling the mouse wheel. While the desktop is zoomed in, the mouse movements are mapped from the smaller viewport to the full desktop, which has the effect of auto-scrolling the viewport around to reflect where the mouse is on the full desktop which is very effective.

raboof commented 7 years ago

That sounds like a nice workflow.

I'm not sure implementing compositing would be in scope for notion (might become an entirely different windowmanager :) ), but coupling with a 'standalone' compositor might work.

compton doesn't appear to support zoom though (there's some discussion at https://github.com/chjj/compton/issues/188)

Perhaps we could come up with a more primitive solution using kmag or gnome-mag, but that doesn't seem as nice.

ghost commented 7 years ago

Is zoom the solution to the problem described? When setting the DPI settings and the QT and GTK scale options accordingly, high res. and hdpi screens are working fine. Zoom shouldn't be necessary to "see something". Zoom is still useful when working with beamers.

There is a good overview of options for high res. screens in the arch wiki: https://wiki.archlinux.org/index.php/HiDPI

rk4n3 commented 7 years ago

I would still contend that "yes, zoom is the solution to the actual problem at its core" - its within legitimate "usage patterns" to desire metric tons of screen real-estate crushed into high density at the global desktop level - in my case, its my 15" laptop with a 4kUHD screen. This absolutely does/will result in some things simply not responsive to baked-in scaling/sizing at any level below the global.

As an example, when using XFCE (which has the zoom feature desired), I spend 99.2% of my time on this laptop perfectly happy with how everything looks in the vast expanse of 4k resolution, and that last .8% is around stubborn little niche details of apps that insist on rendering tiny despite all scaling/size tweaks. It causes me to use the zoom feature relatively infrequently, but when needed its vital. When using notion, I even end up having to log out and log back in with a different WM or display setting to get those stupid little niche tasks accomplished - SO irritating, that it even prevents me from using notion at times (when I know I'm going to hit the issue).

Advice along the lines of "buy a display that works for you" or "dumb the display down, and sacrifice all that screen real estate to solve that problem" just ... well, suck :) XFCE (and others) has the goods - there doesn't seem like much of a reason notion couldn't, and it would make notion PERFECT (for me) :)