This seems like a good time to plug my tiling window manager for Windows, workspacer. https://www.workspacer.org/
I use xmonad on my linux machines, and wanted something similar for Window, so workspacer trys to replicate that style of window manager (configurable via writing C#, dynamic layouts, etc).
I've been using it every day for about a year, but its still pretty early, there are some applications for which it freaks out, but for the most part it works! What it really needs is a good set of docs and a bunch of examples, but I haven't had any time to flesh it out.
I was hoping to see some unique tricks in the source for Fancy Zones, but it looks like it more or less does the same thing as workspacer, managing the set of open windows and occasionally calling SetWindowPos.
Oh! This is the closest I've seen to what I want when on Windows. I run linux at home but Windows at work, so I miss i3 a lot. I've tried some other tiling WM attempts for Windows before but none of them have worked very well...
Just downloaded it and I have some pretty specific/opinionated requests already :P
I like it when the config file is explicit - as in that there are no defaults outside of what is specified in the config file. This way it's very easy for a new user (like me) to edit things like keybinds, colors, etc. without having to basically recreate the default config to then edit it.
Also, since I'm an i3 user, I'd like if there was the possibility of navigating windows using directions instead of in a sequence, and to create layouts on the fly by doing splits and resizing. Maybe this is already possible by writing some code in the code though?
Nothing too important, but thought I'd voice my initial thoughts. Thanks for your work!
I'll go ahead and plug my dmenu equivalent[0], since that's also something I use when on Windows and which someone might find useful.
on default config: yeah, I'm not sure what the best story is here. I would like the out of the box experience to be nice, and I want to be able to configure anything, but I also want to be able to ship nice improvements to the defaults without making all users update their own config. For example, I just pushed a commit that adds a default ignore for a new start menu process in 1903. If I place that ignore in the "template" for the config file, then all users with a custom config will need to somehow diff their config with the default. I am 10000% open to suggestions on how to make this better.
On the fly layouts would be neat. Since layouts are just an instance of ILayoutEngine, you could probably just write a bunch of custom code to allow you to make splits however you want. I would be super interested in seeing what this looks like!
wlines is awesome! There is a feature in workspacer similar to dmenu called "menus", but there are a few bugs, mostly around it sometimes not showing up in focus, which is a pain. I have some config on my work machine that lets me press alt-shift-p and navigate to a bunch of work projects I maintain, only typing the first few characters of the project I'm looking for.
The way most software I've seen resolve this is to have a defaults config file and a user config file. defaults is defined by the application maintainers and the user config overrides any settings in the defaults.
So you can do updates to the defaults but if users wanted to specify specific customisations those would be preserved. Also users can browser the defaults config and copy/paste chunks of that config into the user config file.
Those files are often named differently and/or located in different parts of the file system hierarchy; but the concept is the same.
right now, configuring workspacer is a very imperative, mutable process, because you just setup instances of objects, and call functions that setup some state. some care would need to be taken to design an API that could be "layered" in that it could be easily overridden by the user. this is a good idea!
Might be just as easy as making sure that all of your defaults are documented in the doc-comments of relevant properties and encouraging people to use CSX editors that have good documentation tooltips for API exploration (like VS Code with OmniSharp)?
Honest question here: what are the advantages over fancy zones? I'm a linux i3 user and want to give a try on windows with fancy zones, I can give workspacer a try as well.
fancy zones is very different conceptually from i3/xmonad or workspacer.
fancy zones allows you to define a static layout, and then drag windows into the zones you create.
layouts in workspacer are defined in code, and are "always on", in that the window position/size is always handled by workspacer, instead of only when you ask for it.
Some applications like to reset their own position occasionally, or don't take kindly to being resized from an outside process. WinSCP is an example where workspacer tries to resize/position the window, and WinSCP itself listens for the move event, and moves itself. workspacer gets that second move event, and cycles back and forth forever.
For the few cases where it doesn't work right now, I have ignore routes setup in my config file (so workspacer will just ignore any matching window). I should probably make a list of the few common apps that are weird.
Martin Prikryl (the WinSCP main developer) is quite active on their forums and on StackOverflow questions about WinSCP; might be worth asking why or if it could be turned off;
I tried using a custom "window manager" for Windows a while ago (back in the Vista days IIRC) and it didn't really work well.
The main problem was that, as far as I could tell, the window manager couldn't really preempt the windows and force them to show up in a certain way. Instead it basically asked them "pretty please, could you show up at this location with these dimensions?". As a result frozen apps (such as graphical apps that triggered a breakpoint in code or are simply misbehaving) or apps running as admin would refuse to obey and stay stuck. IIRC one workaround was to run the window manager with admin privilege but even that didn't help with frozen apps I think. Besides I wasn't really comfortable running such an application with administrator privileges.
Of course that was a long time ago and it was a non-MS project, hopefully this one works better. I really can't see myself working without a tiling WM anymore, "conventional" desktops feel terribly clunky and inefficient to me.
Windows doesn’t really have a window manager like the concept from X11. Basically the apps get messages and by using the standard libraries to handle a selection of messages, you get the behavior you’d expect of a Windows app, like the maximizing and minimizing, resizing and the Windows 10 specific zooming behavior. But there is little coordination and no separate process that draws window frames or something like that.
Also normal apps can’t send messages to elevated apps because there are ways to take over apps by sending the messages that you can’t really defend against.
Thank you for confirming my intuitions, I wasn't entirely sure if it was a hard limitation of the way Windows handled... windows or if it was just buggy software. So I guess this new WM suffers from the same limitations?
This experience actually made me wary of Wayland and other X11 replacements because, as far as I understand, they behave similarly. I could be completely wrong about that though because I still haven't completely figured out how Wayland actually works and every time I looked for infos on this particular topic I ended up more confused than when I started.
Each wayland compositor is like a combination of X and a singular wm wherein the existing Wayland standard provides a framework for implementing rather than each person reinventing their own x alternative.
I’ve encountered similar issues with macOS tiling window managers. At the end of the day, you’re bolting on behaviors that the original designers of the system didn’t intend you to, and there’s always going to be tension there.
When I’m on Linux I love using xmonad/i3, but on other platforms I’ve learned to accept the defaults; otherwise you just end up using things that work most of the time, but not really, and it’s really infuriating when you expect your workflows to be snappy and consistent.
Yeah, even Windows 10 Tablet Mode is pretty poorly supported in windows apps, and that's just "fullscreen all the things" - it tends to fall over on dialog boxes and the like.
Not surprised that more sophisticated alternate window-layout systems would also fail badly.
This was a motivation for the design of UWP apps (which use a different approach to window management, involving a dedicated system process that is responsible for drawing and managing all the window frames), as well as how they were originally presented differently from Win32 apps in a separate "area" back in the Windows 8 days.
It's extremely difficult to make any significant change to the paradigm of how Win32 apps are managed and presented and have it work consistently for arbitrary apps - for example they recently tried to add a feature to Windows that allowed arbitrary native apps to be switched and managed via a tab strip like web apps. Worked fine for UWP apps, but when they tried to extend it to arbitrary Win32 they got mired in edge cases and eventually dropped the feature.
Yeah, but I also remember when it was the explorer itself that was bad. I don't know if they've fixed it, but Windows Explorer failing to show copy status and things like that was really disappointing - that's not 3rd party, that's not even outside of the OS team.
Recently been forced to work on Windows, been looking for a tiling windows manager for Windows. I'm used to i3/Sway.
Played with it a bit. It has some good ideas, but hopefully they keep adding features. Some things it's missing (that most or all tiling WMs have):
- Custom keyboard shortcuts
- ability to switch focus quickly with keyboard shortcuts (move to window to right/left, instead of alt-tabbing through all open windows for example)
- virtual desktop keyboard shortcuts to quickly switch to a numbered Virtual Desktop and move windows to them (I have a autohotkey script for this), but would be nice for it to be built-in to this.
- an option to auto-tile when new windows are opened. As it is, it floats new windows, and you have to manually move them into position. This is fairly cumbersome.
I've been using bug.n [1] which has all of that except for being able to directly focus a window, instead having to iterate through with next/prev window. But otherwise it has everything I'd expect from a Linux tiling window manager, even coming with a customizable status bar.
It has its quirks and I had to spent some time adding exceptions and the auto resizing it does is certainly not the fastest thing in the world, but I'm more than willing to put up with it for the auto tiling.
On the whole, it's more reminiscent of xmonad than i3, but wasn't too bad to learn since you can bind what ever keys you want to whatever operations.
> - virtual desktop keyboard shortcuts to quickly switch to a numbered Virtual Desktop and move windows to them (I have a autohotkey script for this), but would be nice for it to be built-in to this.
You can do this with DexPot (https://www.dexpot.de/?lang=en) and even send windows to a specific virtual desktop. It uses i3's key binds by default.
On Windows you're better off trying to find specific functionality from i3 across different tools.
For example, you can also use http://keypirinha.com/ to launch apps by fuzzy matching. In some ways it's better than d-menu and in other ways it's worse, but it's a decent tool.
And you can also use AutoHotKey to remap and set global hotkeys (as you may do in i3's config).
The only missing thing is actually tiling windows unfortunately.
I am in similar situation. I tried to use WSL with X server at first, but found that the antivirus block the internet usage of WSL until a certain update, but the antivirus was outdated.
At last, I use a similar setup with Autohotkey script. I remap the winkey to some unused key in order to disable default winkey behavior, so that I could use binding like win + 1 for virtual desktop 1, win + shift + 1 to move window to virtual desktop 1, and so on.
It was tough to work on other OS once you get used to tilting manager. It feels backward to manually moving around multiple stacking windows.
Also coming to Windows from an i3 background, I've set up a custom autohotkey script that handles a lot of window management stuff for me on windows 10.
Man, that saves me from so much alt-tabbing. I was using a custom AutoHotKey script to move between all sorts of Visual Studio solutions and manually opening email/chat/chrome/whatever else.
I know that several of my Windows-based co-workers will like this. Looking at the screenshots it does look cumbersome though. The real power of i3 is it's simplicity. You are not overwhelmed by complicated constructs. This appears to be a more static approach to tiling 'I want Layout #3' vs 'Open a new window here'.
I really hope this catches on. It's a fantastic productivity booster that I feel is on-par with having a second monitor.
I actually like it this way. I moved from i3 to AwesomeWM years ago, which basically has a bunch of pre-defined layouts. It's incredibly convenient, imo. Not sure what's complicated about it. I just hope it has hotkeys that let you switch layouts and it can assign the windows automatically (or remembers previous assignments). Otherwise it would be tedious.
edit: Just checked. It has a hotkey to switch between saved layouts. And you can set it so a newly opened program goes to its last known zone. That's pretty cool. I'll have to try it.
In my opinion, the major disadvantage of current tiling WMs like i3 is that they don't make effective use of the mouse, which can be a very efficient input device for some usages.
If this product is able to change that, then that could outweigh the pain of the awkward configuration for me.
The point is to use the mouse for window management not just on the applications. Now, i haven't used i3, but from a tiling window manager i'd expect at minimum that i can drag-drop windows with the mouse between "zones" and resize the zone boundaries interactively with the mouse.
For extra stuff i'd like using the wheel up/down on a title bar to minimize/restore a zone, drag-dropping a window over another window to create a zone made out of tab-like title bars, ctrl+clicking multiple titlebars to select multiple windows (so that, e.g, drag-dropping them to another zone would put all of them as tabbed windows in there or being able to close all of them either via a shortcut or via a popup menu command, and/or commands to merge them in one tabbed zone, or split tabbed zone(s) to individual zones), right clicking on a zone separator to offer a popup with commands to split/merge the zone, move the splitter at some specific percentage, etc, drag-dropping one or more windows at the edge of the screen to create a new zone (or set of zones for multiple windows).
There are so many things you can add with a mouse, especially if instead of thinking of it as a car vs horse you think of it as what it actually is: an additional input device that is right next to your keyboard and unlike the keyboard it provides precise analog input for 2D motion.
As a starting point you can check what pretty much every IDE with support for tiling does (e.g. the recent versions of Visual Studio - not VSCore, the real one).
i3 has mouse support, you can resize windows (by default i believe it is mod + right mouse button), and i am fairly certain drag and drop will make it into the next release, if you want to use it there's already a PR on github to test it out.
i3 isn't really a Windows click-click-click style UI; you do most everything with the keyboard, including % based resizing, converting tiles to tabs or stacks, moving tiles from one section or virtual desktop to another, etc.
It's really quite a powerful and easily configurable tool, so much so that I consider it to be an absolutely indispensable part of my day-to-day computing experience (working on a Mac, for example, is just depressing in comparison).
But why? I think it would be hard to argue that the mouse isn't significantly more efficient for, e.g. resize operations than the keyboard. And you have one right there on your desk, don't you? Don't you find it to be a waste that it can't make effective use of all your input devices even in situations where they could provide advantages?
Decade-long user of i3 here, I have three different keyboards (netbook to server) and three different trackpads\mouses -- the keyboard is more efficient for resize operations. I use focus-follows-mouse (agreed, why not use all devices) and fling the cursor all over the place all the time, but don't have to click and don't even have to use my fingers if I can drag my lower palm across the trackpad.
Yes i know that i3 has a lot of keyboard shortcuts, i'm saying what i'd expect it to also have in terms of mouse support - it isn't an either "this" or "that", it is both :-). One doesn't exclude the other.
I understand that's a design goal of i3. I wasn't specifically talking about i3 though, in fact it seems like every tiling window manager has that philosophy and I think it is a mistake. Enabling effective use of the mouse doesn't negate the ability to use the keyboard effectively too -- they serve different use cases.
My mouse is actually critical to how I use i3 - I've got a lenovo thinkpad usb keyboard, with the left, middle, and right mouse buttons below the spacebar and the red nub for the pointer. I use focus-follow-mouse and when I need to change my active window I just flick the mouse over to where it needs to be - it's super fast. It also works really well with laptop trackpads and an actual mouse.
I know other window managers allow you to use focus-follow-mouse, but I haven't found any that make it nearly as effective as i3.
Would you mind elaborating on what use case you think a mouse could come in handy for when you would be using a tiling WM? I recently switched over to one and the only time I've used my mouse was when I had to click on something in Firefox.
The mouse could be convenient to resize or rearrange windows. For example, it would be nice if dragging one window onto another swapped them. I think that would be faster than swapping them with i3's shortcuts.
This is the most frustrating problem I have with Microsoft Windows, which frequently needs a reboot (to satisfy update obligations, or just to try to fix degraded performance).
After more than twenty years having my preferred desktop environment (KDE) bring back all my application windows, laid out as they were prior to reboot, across multiple virtual desktops, it's profoundly frustrating to have to spend several minutes each time trying to recreate my layout on Microsoft Windows 10.
Yes, tiling WMs etc may solve (for small values) this in different ways, but the fact remains that after a reboot on Microsoft Windows I'm back to a pristine desktop each and every time.
I think this still could change though given Wayland is still very much a work in progress. Maybe they just haven't implemented this feature yet. AFAIK it isn't technically impossible with Wayland.
sysinternals desktops multiplies my 3 monitors and gives me 12, and a few are quartered or halved. 16 "sections" in use pretty commonly with no extra software or hardware cost.
It should be noted that my work computer has 8gb ram and an i5, so if i can do it you can too : )
For Windows 10, you probably don't need Desktops anymore. If you click on the task view button on the toolbar, one of the options at the top is to add virtual desktops. You cycle between them with ctrl-win-left and ctrl-win-right.
They have absolutely ruined this in the past few years. It was once very snappy, and tiled everything perfectly on the screen. Then they made it scroll. Then they added "Timelines". Then they added a zoom out animation that doesn't respond to any of your Windows animation settings. Now, even on a high end computer, it will take you a full second before everything is zoomed out and tiled (with one final flash as it adds window titles and shifts everything around), and at least in my case has a probably 5% chance of crashing explorer.exe and needing even more time to re-launch.
This was the featured that made me go "okay, Windows 10 is doing some good things, I'll upgrade from 7", and now I hate it.
Late follow up comment: I just tried it out, and like sibling comment from ukyrgf says its kind of terrible.
Desktops is fast and seamless. Task View is very slow and awkward. Win+Tab takes nearly a second to load and the default focus starts in your current desktop, instead of the desktop switcher. Process to Task View from desktop 1 to 4: win+tab > shift+tab > right arrow > right arrow > right arrow > enter. You can ctrl+win+left|right to move a desktop at a time, but it doesnt wrap so to go desktop 1 to desktop 4, I have to swipe through 2&3 to get there. The cutesy swipe animation takes a half-second, so it takes ~2 seconds to get from 1 to 4. Do you think people managing multiple virtual desktops via hotkeys are interested in cutesy animations at noticeable performance cost, Microsoft?
Task View is worse than alt-tabbing through 20 open windows without any virtual desktops at all. Sysinternals Desktops takes the win, and not by a little bit.
This sounds like a feature for sysadmins and programmers. It's something you need to "configure".
There are three thing I'd like regarding window layout:
1) the WM remembers the last placement of each app (and child window, and second or 3rd instance), and put them there when relaunched.
2) since I use a huge 4k monitor, I almost never want a window to drag beyond any edge of the screen. I dont need snapping, just a large hysteresis (in one direction) at the edge of the screen.
3) an easy way to set which thing launch at login. This may want to be in one of the common menus, not off in a config tool or .login file.
BTW I use gnome (on wayland), so if you know how I can get any of these behaviors I'd like that.
Will definitely check this out. I use a 43" 4K and the default corner/side snapping behavior is just not sufficient for managing windows. Having visual studio snapped to the right/left 50% of your screen all day is terrible for your neck, especially considering the default location of solution explorer in VS. I really just need a 'priority' zone or column right in the middle of the display that I can quickly snap other things around. A 3x3 grid or simply 3 columns might work out well for me.
If you're on an X11 based desktop system I would highly recommend Quicktile[1]. I have a 43 inch 4k too and the 3x1 layout is one of the most common I use. Centering a single window in the middle is also very useful. On my mac I use Spectactle[2] instead and I have the keyboard shortcuts mapped the same on both systems. If I would use Windows this looks like a good option.
Are you using the the Dell P4317Q by any chance? That's my monitor at home and it's the best purchase I've ever made tech wise. Are you aware that the monitor comes with an app to manage multiple windows and sections of the screen from Dell themselves called Dell Display Manager - https://www.dell.com/support/article/us/en/04/qna44541/what-...
Came here to mention WindowGrid and WinNumpad Position.
WindowGrid: Drag window with left+right mouse buttons brings up a customizable grid. Release RMB to set first corner, and LMB to set opposite corner.
WinNumpad Position: Win key+Numpad key to snap window into corresponding position (eg- 7 for top left corner). Hit number multiple times to cycle through sizes.
https://pbrs.weebly.com/win-numpad-positioner.html
Both are basically abandoned, but they work well along side the built in Aero Snap features.
Other old alternatives that have various levels of functionality (and clearly inspired many of the tools posted in this thread):
GridMove (free): Used to be my go to, but hdpi scaling and the Modern UI window elements borked it. Based on AutoHotKey, but surprisingly responsive, extremely customizable (though not very user friendly). Would love to see this make a comeback.
http://www.dcmembers.com/jgpaiva/https://github.com/jgpaiva/GridMove
MaxTo (paid): User friendly and pretty, but less useful since Aero Snap. Rarely updated, but alive. Nice if all you want is a slightly more control over the built in Aero Snap.
https://maxto.net/
AquaSnap (paid): Very similar to MaxTo, but more refined. Free personal version is limited to single display functions. Updated rarely, but alive.
https://www.nurgo-software.com/products/aquasnap
Freesnap (free): Not maintained, but used to be great. Haven't tried it in a while, but thought it deserved mentioning.
https://mike-ward.net/freesnap/
Author of MaxTo here. It is very much alive, but there is just me working on it so progress is sometimes slow.
There are some very cool things coming in the next release:
- support for different triggers, that lets you run specific commands in response to windows events. Basically our recipes feature extended quite a bit.
- WinSplit-like hotkeys for those who liked those. Configurable.
- lots of these small quality of life improvements
We are getting closer to a public preview of this, but shoot me an e-mail for a private preview.
It works almost too well. I've been using it for years and don't recall seeing a window it couldn't resize. I've seen it resize "unresizeable" windows in several programs that did not have scaling components, though. Consequently, you end up with the whole UI taking up a small part of the window.
This looks great. Something I have been looking for since upgrading to a 49-inch Ultra-wide, where I now prefer to keep my application windows floating around the center on this giant monitor.
Do you still actively develop it? The digital signature in your .exe says 2017 and your website footer says 2015.
Thank you! Yes, I'm currently working on a 2.0 version, which is a big refactoring code-wise and takes a lot of time. That's why regular updates are missing unfortunately :/
Thank you! It's been a full time project for a while. Now it's a side project. I'm satisfied with the revenues, but I'm not rich by any stretch. For me it's mostly about creating something that solves a problem and stick to it long enough.
so, i've tried this out. it seems like, unless i'm missing something, the zones can only be used on your primary display right now. that makes it useless for me.
another commenter mentioned maxto so i tried it out as well. it looks like maxto is exactly what fancy zones will be once it's finished.
I got REALLY excited when I read this title until I read the documentation and now I probably won't even bother testing it.
If anyone is looking for an i3-like tiling window manager (a Linux tiling wm) Fanzy Zones isn't it. This one requires pre-setting a bunch of layouts up front, unlike i3 where you can just seamlessly open and move windows that auto-split as you go with zero window configuration up front.
IMO the mods should change the title of this post to define what type of tiling window manager it is, such as "Fancy Zones, a pre-defined layout based tiling window manager from Microsoft". In the title's current form it's borderline clickbait.
The usual classification is static vs. dynamic: static managers maintain a certain fixed layout of slots which they then fill windows into, while dynamic ones adjust the number, layout and size of those slots on the fly as new windows are spawned.
While I don't usually see them classified this way, there is also pre-defined vs. on-the-fly (manual?) layout. This is pretty much what it says on the tin; pre-defined managers have pre-defined zones (for static managers) or algorithms (for dynamic managers); generally you can customize these in some way if you wish. On-the-fly managers let you create custom layouts as you go.
Examples of various combinations:
static, pre-defined: Fancy Zones, Slate, most simple tools for windows / mac
static, on-the-fly: stumpwm/ratpoison, emacs (not really a window manager but the paradigm is familiar to many)
dynamic, pre-defined: dwm, awesomewm, xmonad
dynamic, on-the-fly: i3
All of these models have strengths and weaknesses. Dynamic/pre-defined (e.g. dwm) is well suited for a workflow leaning on traditional unix tools (vi, sed, awk, lots of shell magic) where one tends to frequently spawn and despawn terminals (i3 is probably also decent here), but tends to fall down if you have a lot of windows to manage (workspaces can sometimes help with this, but they aren't always the answer). Static/on-the-fly (e.g. stumpwm) works really well if you have a lot of windows to manage, but only want to display a few of them at a time in some ad-hoc manner --- but isn't so great if you want to constantly adjust your layout. Static/pre-defined usually have a control system that is less automatic (more overhead on the user) but play nicer in environments that are traditionally dominated by stacking managers (so also less headache for the user). i3 is kind of it's own beast; it has a lot of power in creating whatever specific layout you might find optimal at the moment; downsides include evolved complexity as your layout develops, and simple lack of the specific strengths of other approaches.
You seem to have found happiness with i3, which is great. I currently prefer the approach of dwm or stumpwm, depending. Others have other preferences, but all of the above are valid approaches to tiling. While I agree that more detail in the title could be a good thing, I definitely wouldn't call it clickbait.
It's especially clickbait because most people who exclusively use Windows aren't aware of any tiled window managers so they are going to assume this is the only way to do it and draw a conclusion about tiled window managers based on Fancy Zones specifically.
Heck the 6 minute Youtube tutorial in the README is just 6 minutes of trying to explain the convoluted configuration to set up and use layouts. There's not even 1 second of video showing 2 tiled windows together when the project is supposed to be the official Microsoft tiled window manager.
This isn't something that's really a feature request. It would require changing how the whole entire application works at a fundamental level, or really building 2 applications in 1.
That's why you have 2 different sets of tiling window managers on Linux. You either have fixed layout ones where it's automatic after configuration or manual tiling window managers instead of 1 tool trying to do both.
Sorry, I should have been more clear in my words. I edit what you quoted for clarity.
i3 acts much differently because if you open 1 window it takes up your whole screen and if you open another window it will be split 50/50 (the direction depends on what hotkey you hit). And it keeps going like this. You can just naturally use your system and let the tiling window manager worry about resizing things and you can fine tune the sizes with hotkeys on the spot if you desire to have non-symmetrical splits.
This is why i3 is classified as a manual tiling window manager. You get to control how the splits happen on the spot, rather than it being automatic as long as you pre-configure the layouts beforehand.
i3 also lets you optionally choose to make windows floating on demand with hotkeys or even pre-configure certain apps or window titles to be floating by default. There's stacking as well.
> This may come as a shock to you, but some of us prefer our highly-tailored pre-configured tiling setups to the ad-hoc interaction that is i3.
Yes, that's why i3 and other wms exist on Linux and everyone is happy using the tool they prefer.
I'm more upset about the title of the post being clickbait because like you said, some people prefer different styles of tiled window managers.
Having it defined as "tiling window manager" is going to make the 50% of the people who prefer i3 feel they got baited into clicking the link. I know I went from "omg best software day ever" to "..." between reading the title and clicking the link.
It's not exactly the "zero configuration" the parent wants, but it's close, and aligned with how some tiling managers work. (As the other arguments get into, tiling window manager is a wide field with a variety of solutions and opinions differ.)
On Win 10 I'm using the combo of Virtuawin (for multi-desktops and window assignments) and AquaSnap for tiling / positioning.
NB: Virtuawin seems like OSS abandon-ware (last build ~2017, iirc) but it works great (so far), while AquaSnap is trialware (I bought it after two days of use) and is still shipping releases.
I also hack the registry to enable focus-follows-mouse without autoraise. (Powertoys could enable the first capability but not the latter, hence the registry mod.)
I'm primarily a Windows SE, but I fell in love with these capabilities in X when I was learning my way around Linux and just had to have the same experience on Windows <grin>.
Speaking of tiling window managers in new environments, I’ve had a really positive experience with Sway, the i3-compatible Wayland compositor. Almost everything you need can be done, someone has even written an OBS plugin capable of capturing from it (and any other wl_roots-based compositor.) I think when Chrome, Firefox and Electron all ship a WebRTC build capable of capturing from wl_roots based compositors, there will be no practical downsides to Sway over X11/i3. (There’s already plenty of cool things about it today.) That could take a while, though, since upstream WebRTC does not have support for this today.
I have been using Magnet [1] for a long while and although it is not as flexible as Fancy Zones appears to be I am very happy with the extra functionality it provides.
Yeah keyboard shortcuts and tiling are a good way to multitask without having to think about window placement. Just specify which zone you want the window in and let the WM do the resizing work.
If you're willing to put some time into configuration, check out chunkwm (which is apparently being replaced by yabai, which I haven't tried). Its the closest I've gotten to a true tiling window manager on OSX, not without its quirks, and requires some work to get the way you want it, but it's at least something.
NVIDIA's nView Desktop Manager has Gridline Editor that is very similar. It's an indispensable tool for a ultra-wide monitor. If you happen to have NVIDIA GPU and Windows most likely you already have it one right click from desktop.
Thank you for you purchase. I'm the author of MaxTo.
I'm not too worried about the competition here; MaxTo's feature set is expanding and will remain quite a bit more powerful than FancyZones for the overseeable future. :)
Interesting. The recent 1903 update has a significant flaw where any disconnection from an RDP session (I work remote) completely resets all window positions. I was saved by this wonderful tool:
This doesn't look like what a Linux or BSD user would call a window manager. It looks more like a way to configure the MS-Windows window manager (that is, the graphical shell) to behave a bit more like i3 or xmonad in how it arranges windows on the screen. There's no real way to pry off MS-Windows and run anything else on top of the NT kernel, is there?
Microsoft themselves tried in Windows 8, when they thought they might actually have a chance to reinvent most of the graphical shell. The original UWP "world" (app composition model) involved a separate tiling window manager that a lot of people hated (I loved it, sigh). In Windows 8.1 that tiling window manager got rather capable allowing for any number of vertical splits and the Win32 desktop taking up what remains after the splits. In Windows 10 the last vestiges of that tiling window manager remain only in Tablet Mode and devolved back to only supporting one vertical split at a time, just managing two semi-maximized apps running more traditionally like the Win32 desktop mode.
I'd love to give this a try. The improvements to edge/corner snapping in Windows 10 already feel like they give me about 60% of a tiling window manager, and if this was 80%, that would be fantastic. Unfortunately, it requires a newer release of Windows 10 than my workplace is running, so it's out of the question for me for now.
Does windows have virtual desktops? I don't see any hotkeys for moving between vdesks. Never thought I'd see the day MS makes a tiling wm with hotkeys inspired by i3 & friends.
Use Win+Tab then in the upper left corner there is a button for 'New desktop'. On my work Dell laptop I can use three-finger swipe to switch desktops. Not sure about moving windows between virtual desktops.
They’ve had virtual desktops for some time now, and I think the shortcut is Ctrl-Win-(left|right). They’re not terribly customizable but they’re not bad.
Looks really nice, but not a big fan of the name "Power Toys" - It makes me think it's some extension to powershell or a collection of powershell scripts that does something fancy.
Well it inherits the name from the Win95 days, some years before powershell became a thing. And “power” is a word borrowed from biz like power lunches and power walking, etc. just a happy play on words.
I think it also borrows a bit from “Kai’s Power Tools”
As others have noted, PowerToys (https://en.wikipedia.org/wiki/Microsoft_PowerToys) has a long history. I have some fond memories of the TweakUI utility by Raymond Chen as it made the OS much more usable.
Does it allow for scaling windows or just resizing. I would be thrilled by a possibility to have 1 main area and 3 smallers on a side, where windows wouldn't resize but just scale down.
not directly related but whats the closest to i3 on osx? I have tried Amethyst - it works but has quite a few rough edges and rouge app interaction problems.
Boomers are retired, Xers are the corporate old guard, and the up-and-comers right out of college are Generation Z (Zoomers) or whatever they come to be called.
Am millennial. Fully aware of the PowerToys heritage. I used to run the win95 explorer.exe on Windows 98 back in the day along with a bunch of PowerToys tweaks.
Millennial were born 1981-1996 ;) There's no <19 year old millennial's left, I'm afraid.
I use xmonad on my linux machines, and wanted something similar for Window, so workspacer trys to replicate that style of window manager (configurable via writing C#, dynamic layouts, etc).
I've been using it every day for about a year, but its still pretty early, there are some applications for which it freaks out, but for the most part it works! What it really needs is a good set of docs and a bunch of examples, but I haven't had any time to flesh it out.
I was hoping to see some unique tricks in the source for Fancy Zones, but it looks like it more or less does the same thing as workspacer, managing the set of open windows and occasionally calling SetWindowPos.