-
Notifications
You must be signed in to change notification settings - Fork 6.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Maximize/Full Screen window within a zone (virtual monitor) #279
Comments
Adding reference to the full screen suggestion, similar but not the same #422 |
Add support for maximizing in the zone with Shift+Double Click on title bar as well. That way, all methods (I guess) of maximizing in the zone would be supported. |
Much like issue #1400, i'm a bit confused what "maximize window within a zone" means. Is it the believe that zones represent sections of the screen (like just like you could have multiple monitors) and if an app is inside that area of the zone, it should be treated just like it would if it was another monitor? A way to think about it would be a virtual monitor. |
@crutkas |
Since Shift-Windows-ArrowUp is already doing a maximize within a a zone , couldn't you just map this to Windows-ArrowUp? Same as you do for windows-left-arrow and windows-right-arrow. Handling the click on the window itself is a different story, hope you could make that work too. |
Win Shift up arrow is a Part of aero snap. We would have to override it The issue with something like this is what determines what some the window is in. Overlapping zones and when the window is across multiple zones would have to be answered. |
@crutkas This should be similar to when you're using multiple monitors. I think the default approach is to look at the center coordinate of the window. Anyway, I think this would be a great improvement. |
That is because you set you base layout with a padding. The issue here is it sounds like they want a zone to act like a “virtual monitor”. |
I would also really like this feature. My main reason for wanting this is having a way to display a Netflix or YouTube video full screen in one of the zones but also a browser window in full screen for reading is nice to have. |
I've had to switch to MaxTo because this functionality doesnt exist in PowerToys. I really hope it is added soon so I can switch back! :) |
@ChristopherHaws |
@enricogior You can 'maximize' the window, but 'full-screen' is not supported. It works a lot more like standard windows does (windows snap keyboard shortcuts, edge snapping, maximize button, etc). To me it is lot more intuitive than having to hold down the shift key to snap to a region. There are some features I wish it had such as actual full screen support, adjacent windows resizing (like the built in Windows Snap), etc, but to be fair, those features don't exist in PowerToys either. Here is a link to the issue where they talk about why "full screen" is not supported: digitalcreations/MaxTo#388 |
@ChristopherHaws |
@enricogior just tested it, MaxTo "maximizes" the window to the region when you click the windows maximize button. Not exactly what this ticket is about. It also can not handle full screen windows. |
@kbehren |
+1 on this request. Here's my particular use case. I use Visual Studio when developing, and in order to get VS to span across 2 monitors when maximized, I had to use the NVidia Surround mode to make it appear to Windows as a single 7680 x 2160 resolution desktop (2 x 4K monitors). Fantastic when developing using Visual Studio because I have a single Fancy Zone mapping to that full single desktop and I can maximize VS to that zone. However, not so fantastic when I want to go fullscreen with a YouTube or Netflix video -- Because it's a single desktop, the fullscreen mode tries to span the whole 7680x2160 (splitting the actual video window right down the middle of the two monitors). What I ideally want is to create a couple of 3480 x 2160 Fancy zones (one on each monitor - or maybe even two on each monitor) and maximize Edge/Netflix to one of those zones. When I tell the video player to go full-screen, it only expands into that zone - not take over the entire display device/desktop. Does that make more sense? |
Guys, |
This might be an entire new application actually and outside the scope of fancyzone. Essentially, you would want windows to think your monitor is composed of arbitrary number of sub-monitor, or logical monitors. The apps should be not be able to distinguish, they should think these are just more monitors. Also, this makes me think, there should be a way to set the "main monitor" on a per application basis, to get around tricky fullscreening options |
My suspicion is that if the Win APIs (or even driver-level functionality) allowed for the creation of distinct "virtual" monitors that presented themselves as "physical" monitors, that would have been done a long time ago. Heck, DisplayFusion is one of a number of companies that have offered free/commercial software over the past few DECADES that provide monitor-splitting functionality, and not one of them solved this particular issue. I fear that we are left with hoping that someone will come along and think of something that others have not. |
I have but tried this but This driver https://github.com/roshkins/IddSampleDriver Let's you create an arbitrary number of virtual display in memory. Called "indirect display". You could then mirror these display with obs style projectors, into the display area of your real monitor. It would be best to make the indirect display invisible in the display manager. And they should not be accessible directly with the mouse. I'm not sure which projector software can also forward the most and keyboard event to the apps in the indirect display. There would be performance implications. But that could still be very usable, including 3d acceleration and hardware accelerated video decoding |
Seems the Copilot integration does it so can we just borrow pieces of it to make it universal? |
I would also very much like support for fullscreening apps (as in with F11, not just maximizing) within FancyZones. I recently got an ultrawide OLED, and would love to be able to fullscreen windows within their zones to reduce static elements on-screen. |
You guys closed #3258 in favor of this one a while ago, but it's a different extremely simple issue about maximizing windows when the zone already covers the whole layout. I have presented a simple fix that frankly should've made it to FancyZones years ago... |
Being able to play a game in full screen while having that game locked to a Fancy Zone is the only thing keeping me from using an OLED TV for a monitor, and I'd really like that to change. It looks like this issue has been ongoing for years at this point, and it is pretty clear to me at least that it is an incredibly popular feature. Is this a difficult problem to solve? Is it impossible to implement? Or is it just being ignored? Could someone with who works on PowerTools comment on this? This is incredibly frustrating for me. Thanks |
My girlfriend was "gifted" an ultrawide monitor at work and absolutely hates it. She wishes they would have given her two separate smaller monitors. We found the software DisplayFusion can split a monitor allowing maximize and even two separate task bars if desired. It's truly as though they are separate monitors. She doesn't care so much about the separate task bars, she just wants simple dragging, maximizing, etc. as shown in this video: We'd love to see this in FancyZones so her and the other employees who hate the ultrawides wouldn't have to pay $34 for DisplayFusion. Thanks! |
Fancyzones is mostly the same as having two monitors. You drag a window, in my case hit right click while dragging it by the title bar, drop in a zone. The window will expand to fill the zone. The two difference I can think of are, if you "fullscreen" an application, like Kiosk mode, or a game, well fullscreen is still "full screen" so it will take the entire screen. (This can be remedied by using borderless fullscreen and either borderless gaming then constraining the "full" screen, or using altsnap to resize the "full" screen to your prefered dimensions) The other is maximizing, which still maximize to the entire screen. But that's really just a matter of learning to use fancyzone. Then you will only use maximize when you intend for the window to take the entire screen. Also, AltSnap has slightly different but similar zone snapping system. I like it because when you set a mouse hotclick, then you can drag, resize and snap a window from anywhere, not just the titlebar. |
maximized windows have smaller borders and that makes a huge difference, especially for apps that have tabs on the titlebar, it's so much easier to click them when they touch the screen border |
Exactly what @zakius said. In my case, browser does not have a setting to remove borders from non-maximized windows, so just yanking the mouse to the top of the screen to switch between tabs (like I used to with a maximized browser window) does not work with fancy zones. Maybe this makes someone's life a bit easier - one can create zones that span outside of the viewport, thus effectively making portion of the content hidden. I "solved" my "switching between browser tabs" problem by hiding 10 pixels outside of the top of my screen. The trick is the negative Y value and the increased zone height:
This can obviously break some applications if they have some useful UI elements inside those 10 pixels, but it's fine for the applications I normally use in that zone: browser, outlook, IDE. |
As someone who switched from two 16:10 to one 32:9 monitor, I have to strongly disagree with that. There are just two many technical differences between a physical monitor and a zone in windows. You just need so many crutches to fix behaviors, that you wouldn't have with two separate monitors, but then you get the black bars in the center of your view, where the monitor bezels are, and I don't want that either. Maybe it would help with the development of this feature, if it would be split into two parts? Another for the ability to full-screen (that's a verb!) applications inside a zone. Which, from the long history of this issue, might not be possible at all, as it would either require support from the driver vendors (good luck with that 😅), a virtual display driver like vdm uses (which will probably bring a ton of other issues with it) or hooks into dlls (which this project explizitly does not want). @crutkas or whoever is in charge of the backlog now, what do think of splitting this issue as described above? |
Oh, I hadn't though of a mouse stop at the top edge of fancyzones to simulate top of screen. I bet that could be implemented the same way "mouse sticking" can be enabled between lateral monitors. Kind of the opposite of https://github.com/MouseUnSnag/MouseUnSnag Create a "mouse snag barrier" at the top of a fancyzone. Maybe there's already a way to do it ? |
@shodanx2 - many non-game apps "full screen" - my use case is Zoom, but Teams, YouTube, training sites can all benefit from a "full screen" mode that is fenced. |
You might like AltSnap for this You hotclick+middle click and there is a borderless option you can apply to any window. Then you snap it into your grid (for this you have to setup AltSnap snap zones) I believe this is as closed as "fullscreen into zone" as we currently can get. example With border Borderless mode That makes me realize, it would be awesome if it would auto-borderless when snapped, and un-borderless when you move it ! Here is AltSnap https://github.com/RamonUnch/AltSnap I recomment you enable HotClick mode on Mouse 4 or Mouse 5 depending how your mouse is configured |
DisplayFusion have this feature for years and I was so used to it. It's just an overkill to install a whole new software package just for that feature. |
I just upgraded my computer system from two 32" monitors to the huge Samsung 57" Odyssey Neo G9 Monitor, so I thought I'd plead my desired use case for this new feature, as I see it, in fairly concrete terms. I used to do work on one monitor, using Visual Studio or playing a game for example, while watching a full screen video, e.g. YouTube, on the other. Sizing the video window to half the new monitor is not nearly as satisfying a visual experience as YouTube running full screen on the old second monitor was. So... having a program, like YouTube in a browser window, somehow perceive its "full screen" as a zone on the single monitor would be useful. Full screen on this new huge monitor is otherwise essentially useless to the regular windows app or browser and wastes a lot of screen real estate. |
Maximize window within the zone
Maximizing the window currently maximizing it to the whole desktop. It would be useful if it has the ability to maximize within the zone
The text was updated successfully, but these errors were encountered: