microsoft / PowerToys

Windows system utilities to maximize productivity
MIT License
109.63k stars 6.46k forks source link

WinRoll 2.0 type functionality #419

Open AeSix opened 4 years ago

AeSix commented 4 years ago

Summary of the new feature/enhancement

WinRoll 2.0 is a great tool that I've used since Windows XP days, worked great on 98 SE, ME, XP, Vista and even 7. But only for 32bit programs (even on 64bit OSes) It even still works on Windows 10, but again, only for 32bit programs - not 64 bit, and not for modern apps.

What WinRoll 2.0 does is to allow the user to right click the title bar of the window, to have the window minimized to just the title bar, and back again on a second right click.

Here's a screen cap showing Chrome and HexChat being rolled up: https://i.imgur.com/YN7txgx.png

Screen clutter is something I think most power users experience. Rolling up windows to their title bars provides a few use cases: Quickly checking between large-area windows on single monitor systems (laptops), such as a reference web page being open behind an IDE; Users can look at a window behind the window they're using without that window losing focus; Provides the ability to access desktop icons without minimizing the window (which takes additional time) Rolling up the window, at least with WinRoll 2.0 is extremely quick - both from a user action perspective, as well as a functional / process standpoint.

If my reasons are questioned, I implore you to find and use WinRoll 2.0 for a few days before dropping this request. WindowBlinds it another third party program that does similar, however it uses a button on the title bar to perform the request, which is less than ideal in may situations.

This is a feature present in most GNU/Linux DEs as well, and is something I've always thought Windows should have, built-in.

Proposed technical implementation details (optional)

I would love to see PowerToys have the ability to roll up windows to just the title bar, with just a right click of the mouse.

The user right clicks the title bar: The window is minimized to just the title bar The user has access to everything behind the space the window previous occupied The user right clicks the title bar again and the window is returned to it's previous size

NOTE: I understand WinRoll 2.0 is written in ASM, and that PowerToys is not. I don't know if this is even possible outside of using ASM. Wil Palma originally had WinRol 2.0 open sourced, however the original site is no longer serving the program, source or info. I have found https://github.com/saccohuo/winroll which appears to contain the original source for WinRoll 2.0 though. Hopefully this is helpful! Thank You!

gczark commented 4 years ago

MenuTools do the same thing. https://github.com/navossoc/MenuTools Pressing Menu bar with middle mouse button, the window height will be set to 0. Press again and it will return to its original size.

AeSix commented 4 years ago

MenuTools do the same thing. https://github.com/navossoc/MenuTools Pressing Menu bar with middle mouse button, the window height will be set to 0. Press again and it will return to its original size.

but that's not the same as just right clicking on the title bar...

gczark commented 4 years ago

My mistake, it should be pressing the TITLE BAR with middle click.

You should give it a try, it does what you exactly told above (minimizing to just the title bar).

Also, in my opinion, right click is not the best idea, since there is already another feedback for that - it will show the windows contextual menu. In linux systems, rolling up to title bar can be triggered by scrolling up or down in the title bar, and that is more intuitive.

AeSix commented 4 years ago

First, I'd like to apologize, because for some reason I read menu bar as space bar.

Not all window managers use mousewheel, blackbox (I believe it was) used right click. It's been ages since I played with a gui on linux. The mouse wheel is a fantastic idea though!

There are other solutions out there, but they're all clunky. From unresponsive buttons on the title bar to multi-key presses, it's not intuitive or simple. WinRoll 2.0 itself has issues with windows running in 64bit mode, it will only roll up the window partially. That's why I really want something built for modern Windows. Something that will roll up all standard ui windows, and hopefully things like what Discord uses for it's ui (I lack the terminology and knowledge to be more specific here), and which is quick, simple, single-step solution for rolling up and down.

After looking at MenuTools, I realize there's at least 3 types of windowing systems in use - the old standard (pre-metro), metro, and things similar to electron apps (Atom, Discord, GitHub client, etc)

The metro system and electron apps can't be rolled up with WinRoll 2.0, and again, 64bit programs' windows can't be fully rolled up. So, if someone could come up with a solution for all windows, using the mouse wheel or similar, that'd be great :D