microsoft / PowerToys

Windows system utilities to maximize productivity
MIT License
110.61k stars 6.52k forks source link

FancyZones: Force windows to open in zones #11833

Open nousernameavailableanymore opened 3 years ago

nousernameavailableanymore commented 3 years ago

Description of the new feature / enhancement

An option to force new windows to always open in a zone would be great.

Scenario when this would be used?

Fancy Zones should at least have an option to behave more like a true tiling window manager. This includes FORCING windows to ALWAYS open inside zones. No matter what happens, new windows (of new and known/previously opened applications) should always have to open inside zones.

Supporting information

There was already feature request #4102 which was incorrectly closed, as

  1. "Move newly created windows to their last known zone" is NOT the same as forcing all windows to open inside a zone and
  2. often times fails in a wide variety of scenarios

Here is the comment I made on the other feature request: Please show me, where the option is to force new Windows into zones. Even with the "move newly created windows to their last knonw zone" (which is NOT the same as forcing new windows into zones) it does not work correctly. The first instance usually works fine (at least when opened on the same virtual desktop with the same zone settings as before). But even opening another instance of the same application already breaks that behavior and the new window does NOT adhere to the zones anymore (see attached picture, which simply shows a Typora window opened twice).

And there are so many instances, when new windows do NOT adhere to those zones (mostly related to opening several instances, moving windows to other virtual desktops with other zones, which then SHOULD force those windows into the zones of the new desktop but does not, or opening windows on other virtual desktops, with different zone settings, than on which those windows were last closed).

So fancy zones is FAR away from forcing new windows into zones.

image

jvansant commented 3 years ago

I have the same issue. When I open any new application or option window many of them do not open to any zone. I use large monitors and like to have specified zones for every application that I have open. This enables me to use mouse hover to auto focus on each window rather than alt-tabbing around. When windows don't open to a zone it becomes an issue: The auto focus forces other bigger windows (in zones) into focus over the new smaller windows (without zones) when I don't move the mouse to the smaller window quick enough.

Also, the "Move newly created windows to their last known zone" fails often; even for windows that I have opened recently. But especially for new option windows that pop up as children of parent windows.

It would be great if every window, regardless of being recently opened, directly opened to a zone.

Looks like a similar duplicate to #9590

AndyJrJr commented 3 years ago

Yes this is very irritating.

I used xmonad in school but now am in a work environment with Microsoft Infrastructure. Lack of customizable tiling window manager is the most glaring handicap in the windows environment.

I don't want to ever use my mouse unless it is absolutely necessary. I never want to use it for window management.

I suppose there might be a workaround where you muscle memory the keyboard shortcut to throw a new window into a zone as a conditioned response to opening any new window.. that's problematic because I've observed Outlook to open windows where ever the hell it feels like it.

My biggest problem is with outlook opening new windows. I like to have them around, and it's okay most of the time that they're fluid. But when I have 12-16 emails open it gets messy fast. Would be nice if they all opened on a layer like a virtual desktop overlay that can be hidden leaving behind my zoned apps.) But I'd settle for them all just being corralled into one zone of my displays.

I have seen there are issues with certain applications having custom window management. If it is the case that the operating system doesn't always have complete access to application window management then I can see how this seemingly simple feature request has nightmarish implementation issues.

However, the lack of the power, is incredibly frustrating. And sure, there are all of these house of cards implementations stacked on implementations I can do to emulate what I'm going for - but I used to just have one text file that described exactly what I wanted my display to do. I miss that powerful simplicity.

diocletiann commented 2 years ago

Upvote. An option to automatically open new windows in the "next zone" (with an exclude list) would be amazing.

crutkas commented 2 years ago

this is much harder than it sounds since applications actually have a lot of power over how their windows are arranged.

KevinHake commented 2 years ago

Upvote. An option to automatically open new windows in the "next zone" (with an exclude list) would be amazing.

Something similar is in #5226, without an exclude list

StacktraceException commented 1 year ago

This is exactly what I need. – (To stay better organized. Less friction between having a productive work setup. Emacs always on top at top right zone. Browser on the left. System monitoring and events on bottom right).

Hope this gets implemented very soon!

EDIT: It turns out that it does work but only for more standard or standard GUI apps. But with Emacs it does not :(. The option „Move newly created windows to their last known zone” works like this at least after reopening them without a system reboot.

EldritchGarden commented 1 year ago

To piggyback off this, I'd like the ability to set specific applications to always open in a specific zone

FlippingBinary commented 1 year ago

this is much harder than it sounds since applications actually have a lot of power over how their windows are arranged.

What if each zone was a sort of virtual desktop with dimensions matching the size of the zone? Windows already has support for multiple desktops, so zones would just have to be virtual desktops that are smaller than the display and incorporated into a full-sized desktop. Then applications could be snapped to a zone and full-screened automatically on launch or manually at any time. The application's concept of full-screen would be limited to the dimensions of the zone, which would cause it to match its shape.

Alternatively, each zone could be a virtual display and the physical display could multiplex the several virtual displays that represent each zone.

Of course, it's much easier said than done and probably exceeds the scope of FancyZones, but I'm just glad FancyZones is available at all. It helps reduce the distraction of poorly aligned and overlapping windows.

jsaern commented 1 year ago

fancyzones is a definitive improvement over regular windows shell. using i3 in other contexts makes coming to work and using windows painful.

some of the features in autohotkey for managing windows may help here.

rmatte commented 1 year ago

They have an option to open windows to their last zones now but it doesn't really work properly. For instance I can snap a chrome window to a zone, close it, re-open it, and it does kind of end up in the same zone but not fully maximized in to the zone, I have to manually do that which is lame.

smartins4 commented 1 year ago

EDIT: With the release of v0.74.0 the issues mentioned below are solved! Thank you all involved in solving it.

Developers, thanks for making fancy zones! But please can you look into this issue/feature request?

I have a ultra wide screen split in 5 zones. A large center one and 2 small ones stacked vertically on each side. When opening for example Putty, I would like it to open in the last used window, say the right lower one. Instead, it always opens at a random place, requiring me to shift snap it to the desired location. The option "Move newly created windows to their last known zone" is ON/ACTIVE but still it does not work, as stated by other here above.

It would really be great if you could look at it. If userdata is required, please feel free to ask.