microsoft / PowerToys

Windows system utilities to maximize productivity
MIT License
110.48k stars 6.5k forks source link

Full window manager including specific layouts for docking and undocking laptops #4

Open jcotton42 opened 5 years ago

jcotton42 commented 5 years ago

This was mentioned in the README so I'm creating the issue as it sounds like a neat idea to me

I'm assuming this would allow for more flexible window arrangements than the current quadrant snapping, etc.

dsafa commented 5 years ago

It would also be nice to have support for a tiling window manager

kiedtl commented 5 years ago

It would also be nice to have support for a tiling window manager

Long live i3, dwm, and all the other tiling wms!

lexxdark commented 5 years ago

Also if this would be supported for remote desktop clients depending on the size/number of screens for the remote desktop session, it would be awesome

Dilski commented 5 years ago

100% for this, here is a reddit thread with some existing tilers for windows. i3-like windows management would be a dream in.... windows

myronu commented 5 years ago

I cannot stand how when I undock my laptop all of my windows jump to the laptop monitor. When I dock again they don't return to their assigned monitor. Solve that problem and this will instantly become my favorite feature.

jaimecbernardo commented 5 years ago

An issue specific for a tiling Window Manager was created in https://github.com/microsoft/PowerToys/issues/37 Discussion about this specific form of window management should be had there.

dglinder commented 5 years ago

I cannot stand how when I undock my laptop all of my windows jump to the laptop monitor. When I dock again they don't return to their assigned monitor. Solve that problem and this will instantly become my favorite feature.

My problem is similar but the windows that were on different screens do NOT get pulled onto the laptop monitor. They continue to exist and run way off the screen. As a hack I can ALT-Tab to them, then press Windows+SpaceBar, then press "M" to invoke the move option to let me use the arrow keys. It works about 50% of the time, assuming I can determine where I need to blindly move the window.

Having a hotkey that would re-center all windows on the current active screen (and possibly remember when I re-dock my laptop) would be a great help.

murraymc commented 5 years ago

I currently use AutoHotKey to reposition all my main apps to the desired screen and size, set to Win+Alt+W. Not Ideal, not 100% reliable (occasionally have to run it twice) but better than manually doing it every single time.

WestXu commented 5 years ago

The most promising modern window tilling manager for windows I've seen so far is this one named MaxTo. Not perfect or free, but nice.

GingerGraham commented 5 years ago

+1 for this!

VegaDeftwing commented 5 years ago

+1 on this from me, and +(about a dozen) from my friends who use i3 on Linux and dread booting back to windows.

This, and the virtual desktop aspect of i3/awesome/etc. being vastly superior to Windows's desktop environment is exactly why having WSL wasn't enough to get me to switch back to windows and none of the current hacky implementations are good enough

lostmsu commented 5 years ago

At any time Microsoft can buy my tiling WM for Windows, called Stack. Written in C#, customizable layouts via XAML, etc. Half of a yearly MS Senior SDE total comp would cover the expenses. I can give a 20% discount, if it will be open-sourced :).

See https://losttech.software/stack.html

AFAIK, there are some people in MS already using it and paying for it. And the rest just don't know yet about its existence, because I am a terrible marketer :-D .

rickbutton commented 5 years ago

I think that the most important part of a "power user's" window manager is the ability to control it programmatically. When I am not using Windows, I tend to use xmonad, for which the configuration is expressed using haskell, which means that you get the full support of the language when describing your workflow.

As long as we are plugging projects, I have implemented an xmonad-like window manager for Windows 10 called workspacer (found here). It allows the user to programmatically control the workflow/window layouts in C#, similar to xmonad and haskell.

I would LOVE for similar functionality to exist in PowerToys, because it would mean I have to maintain one less code base :)

nlescoua commented 5 years ago

It would be great if different screen have each their own virtual desktop/workspace.

This means that you have a set of workspaces (virtual desktops) that you can map to screens. i3 for example is great at this. Having such a feature would make using virtual desktop and multiple screen much more pleasant. Indeed, this mean that you can switch the virtual desktop on one screen leaving the other screen intact, or that you can exchange virtual desktops (move virtual desktop of screen A to screen B, and the virtual desktop of screen B to screen A).

CaryRW commented 5 years ago

@nlescoua - Nothing like asking for Nirvana, eh? Dang! Well, I suppose, if you don't ask, you don't get. Right?!?! I second this one. This would be an amazing feature!!!

pcmanning commented 4 years ago

Shifting here as seems idea already flagged up...

Summary of the new feature/enhancement

Support for restoring a Window layout when reconnecting to a Docking Station or additional display (e.g. a Wireless display in a meeting room).

Proposed technical implementation details (optional)

Layouts would need to assigned to (multiple) specific monitors and Windows assigned to Zones within Multiple Layouts with some form of auto-detect magic to switch based on Monitor IDs - assume this is similar tech to virtual desktop switching?

dtalaski commented 4 years ago

Adding a comment based on #1480 (closed)

Feature: When docking the computer, windows snap to their previously defined zone.

The current problem is the need to re-snap (reposition) windows to their zones after the computer is docked. Assumption: the windows were assigned a zone prior to undocking.

Ideal operation: Before computer is undocked: windows are snapped to a particular zone Computer is undocked: windows find their place on the laptop screen (not in their original zone) Computer is docked: windows would ideally snap to their previous zone

CorneliousJD commented 4 years ago

Adding my info here based on what I originally commented in #5012

I'm using a super-ultrawide @5120x1440 along with another regular resolution screen attached as well. When the ultrawide goes into sleep mode since it's DisplayPort the PC just assumes it's disconnected and when it gets hooked back up, windows do not open back to their last known zones, and instead open in the top left corner.

I was directed here for this, automatic re-arranging of windows either when a new monitor is conected/disconnected or upon login as well? Since when I wake my PC the ultrawide gets woken up and "reconnected" then when I log in it would have to move all the windows back to their original places?

By login I just mean to unlock the machine since it's already booted.

DavePCoder commented 4 years ago

I agree this would be good - see my comment https://github.com/microsoft/PowerToys/issues/50#issuecomment-695815167

b-hayes commented 2 years ago

any news on this or are we going to be forced to use windows 11?

VegaDeftwing commented 2 years ago

I don't like 11 either, but maybe calling a companies newest product garbage in the same breath that you're asking for a feature to be backported into an open source project isn't the best call.

To answer the question, yes, you'll need 11. They basically did a full WM, DE, and compositor rewrite to allow for it. I don't think it could easily be put into PowerToys.

There are other, weirder 3rd party tools that will allow you to get closer to this, or you can write a boat load of AHK scripts. Or you can use 11, installed via RUFUS to bypass the online account requirement and run ShutUp10 to get rid of most of the telemetry. Or you can vote with your wallet and hard commit to Linux. But coming in to any organization's repo to call their newest product garbage is pretty not cool, even if the target is an organization with the past of M$, the team at M$ + community contributions here don't deserve that disrespect. I don't have any contributions in this repo or any association with M$ (writing from Linux, even) but this just irks me to see.

b-hayes commented 2 years ago

Yes you are right I retracted. Was angry after win11 upgrade basically removed/broke things and performs badly and tricked me to use MS account in everything instead of a single app. Thanks for the suggestions I'll give them a go.

StingyJack commented 1 year ago

This should also work for KVM and not just docking

bcutter commented 9 months ago

I don't get how "use Windows 11" is shouted as "solution" for the docked/undocked-windows-mashup-issue.

For me it still fails like it does/did at Win 10. Switching from docked to undocked (via hibernation) and vice versa, all windows are still sticking to the screen they were in the previous setup. There is no remembering and restoring - only when switching right at the runtime of Windows. I'm hibernating a lot and after restoring things still don't improve compared to Win 10.

Specific issue:

  1. run notebook docked with 3 screens
  2. undock notebook, run notebook undocked
  3. enter hibernation mode
  4. dock notebook back to 3 screen setup
  5. power up / restore from hibernate

expectation: Windows 11 restores all windows to their screens used at step 1. reality: Windows 11 does nothing, all windows stay on the notebooks internal screen as left at step 2

Bureaucromancer commented 7 months ago

On the tiling WM angle, Fancy WM (among a couple others) really are pretty good proof of concepts for i3 style tiling in Windows. The biggest problem really does seem to be maintaining one of the projects...

mi3lix9 commented 4 months ago

Hello!

I'd love to see tiling windows management in FancyZones. Did anyone try Hyprland on Linux? I believe their implementation is very good! I've been using it for a while now and I cannot back to the classical windows management, especially on bigger screens.

I don't like the way Fancy WM is using, it is only a vertical layout, while Hyprland is able to automatically create vertical and horizontal layouts.

mi3lix9 commented 4 months ago

I think what I need is #2694