I don't really think they're designed for the same purpose or audience, so I don't think it shames the Apple engineers.
Edit: what I'm saying is they did try to do the fullscreen (and even tiled) modes.
I, along with many millions of people, are using spaces and fullscreen apps daily with no issue. I have used i3 and sway before, and I much prefer the macOS UX. To say that it has failed is sheer arrogance.
On what do you base such a ridiculous claim?
It's especially bad on multi-monitor.
- New windows appear on unfocused monitor at random.
- Can make shortcuts to spaces, but not the fullscreen-apps (which look like spaces to all other effects). There are apps to make shortcuts to apps, but this is useless if you have e.g. two terminals in fullscreen mode, it just targets one window at random.
- Cannot deactivate the slow change-space aninmation.
- Windows are grouped under same app in Alt-Tab list.
- When fullscreen-app, some dialogs do overlay the app, some are hidden on some random space, and some forcefully move your active space. At random.
- Plugging and unplugging monitors frequently wreaks havoc among the window disposition.With a stacking window manager, the cognitive overhead of opening a window is much less. You open a program, get a window with focus somewhere. You can start doing your thing immediately without considering window management. Every new window on the stack doesn't affect the others you were using. Subsequently organizing the layout of your windows to be optimized for your current workload however takes more time. This appears to me to make stacking window managers to be more suited for people whose computer use is more dynamic or less organized - people can open and close stuff on a whim.
More organized vs. less cognitive load can be both a personal preference or a workload dependant thing. In case of tiling WMs it also doesn't help that they tend to have very low discoverability and depend almost exclusively on keyboard shortcuts versus GUI elements, only adding to their newbie-unfriendliness. I think that's also telling about the use cases tiling WMs are popular for.
I see a lot of people that respond to you by appealing to some objective superiority of tiling window managers, but there's advantages and disadvantages to both.
This is not true, at least not in i3. When I don't want to think about how to position a new window I can simply switch to tabbed or stack mode, where all windows inside a determined workspace will be "maximized", and I can switch to them by changing the tab (mostly like browsers and web pages). This isn't really much different to Alt-Tabbing, except that I find more efficient (of course, this last part is IMO).
It is true that on my current setup almost all workspaces have a specific usage, however I have a "trash" workspace specially created to put those things that does not make sense in any other workspace. This workspace generally runs in tabbed mode thanks to above.
I've been using a tiling window manager (XMonad) for ~3 years now; this is definitely true for the first few days (or weeks/months) until you adjust. After that, there is less overhead as you become more familiar with how the window manager behaves.
But this is also true for stacking window managers.
> With a stacking window manager, the cognitive overhead of opening a window is much less.
I think the level of cognitive overhead involved comes down (in the case of tiling window mangers) to what window rules you have, what kind of bindings you have set up to navigate between windows, etc., and how comfortable you are with those rules and bindings; the less comfortable you are, the greater your cognitive load will be when trying to use them.
Again, this is also true for stacking window managers.
> Every new window on the stack doesn't affect the others you were using.
Unless it "steals" focus and blocks the window you were working on. But that's expected behavior in a stacking window manager, so it's not much of a disruption. And it's one a user will certainly be aware of when opening a new window.
And this can (and usually is) be true for tiling window managers as well.
> I see a lot of people that respond to you by appealing to some objective superiority of tiling window managers, but there's advantages and disadvantages to both.
Right. There are pros and cons to each and really, but most people just don't really care that much about what window manager they're using.
I do want to add that one of the biggest pros to a tiling window manager (and a few stacking WMs) is the amount of customization available; if you're using a WM like XMonad, i3, Sway, bspwm, herbstluftwm, etc., you can configure the WM to do basically anything (including behave like a stacking WM), while many stacking WMs are fairly limited in how much customization they can have.
But that makes the assumption you're interested in customizing, which not everyone is.
It doesn't change anything by default, but with alt-keypad I move certain windows to the upper left, upper right, bottom right, bottom left and so most open applications have their exact position, but everything else is floating.
I guess I'd use a full blown tiling WM if there was one, though, I don't really see any downsides once you configured it to your preference. So bad for new machines, good for regular use. (for me).
Tiling manager are often keyboard driven. If you use mainly your mouse/touchpad, it can be quite painful.
My feeling in floating window manager is that i soon as a window is hiding another, the one on top should just use all the available space, there's no point in seeing the one bellow. If you need information from 2 windows, it's much better side by side.
For many terminal windows or one Emacs and one terminal, I might use tiling, but I can still overlap whenever it makes more sense. Plus, the consistent keyboard controls (I use a config pretty similar to https://www.c0ffee.net/blog/openbsd-on-a-laptop/#cwm) make me more efficient than a mouse interface.
Granted, I've been using i3 for more than half a decade, but I do agree with sibling posters on how 'freeing' the experience is once you get used to it. There is no doubt a learning curve; but in my experience it's on the order of days.
I don't care how things are arranged spacially if they are just a few quick letters away.
I like to organize my workspaces by a category of activity. I'll have one per project I'm currently working on, then one for communications (Email, Chat, etc) one for web-browsing, etc.
I try to keep the non-project ones consistent, so at any point I can, say, tap Meta-9 and instantly be brought a web browser on Workspace 9.
Tiling is simply more efficient it drives you into a keyboard based workflow that makes the most efficient use of your screen real estate. You can still have floating windows in Sway, or tabs for that matter as well when you need them.
Is it so hard to accept that there are different ways of using a computer and your perceived increase in efficiency might not pan out for everyone? :)
The thing is, we have studies that prove that mouse + keyboard interaction is faster than keyboard-only https://www.asktog.com/TOI/toi06KeyboardVMouse1.html - until you become super proficient with all the relevant the keyboard shortcuts.
So it's not about "inferior"/"superior", it's about your use case.
Even if there were a significant difference one way or the other, it's rare to spend more than 1% of your time arranging your workspace and switching views & windows, so any optimization of that 1% will have minimal effect on your productivity.
"Originally published in the AppleDirect, August, 1989"
edit: You can also use something like rofi to fuzzy search for windows and quickly jump to them, instead of alt+tabbing.
Using it to cycle through a pile of apps shown as icons or screenshots is terrible UX, IMHO.
This is basically what I do at work on a Windows system, using the drag-to-left and drag-to-right.
For your example case, I'd split the screen with my editor taking up the left half, the split the right half into upper and lower, with SO answer in top half and terminal in bottom half. That's the quick and easy split, I could also fiddle with resizing (using arrow keys) the split a bit left/right or up/down.
This gets the info all visible at the same time, without clicking or tabbing to bring one window at a time to the top.
The usage I described above is what I do on my work machine using i3. I'm gonna try out sway now that it's 1.0!
It's not and it completely defeats the purpose of it. Sounds like you shouldn't use a tiling window manager.
Easily done even with a tiling WM. E.g. I have a keybinding which allows me switching between tiling and floating of a window.
But yeah, if that's your big use case, seems like you just prefer non-tiling workflows.
They have different design goals. A tiling window manager is not a good default for everyone or every device type or screen size.
I disagree on the point of screen size. On small screens I want every last pixel to count, and tiling and tabs work well for that. On large screens, I find tiling to be a more efficient option than dragging windows around.
That said, available input devices absolutely do make a difference, and that does correlate with screen size.
Also, mobile OSes won't really ever have more than 2-3 windows shown at the same time, since the screens are so small. That will probably change once we have folding devices or AR/VR. But super limited "tiling" window managers do make sense with such limited UIs.
Do you have proof of this? I suspect they failed because everyone decided to copy the Mac which was trying to emulate a real desktop with bits of paper on it.
> Super limited "tiling" window managers do make sense with such limited UIs.
They also often make sense for complicated UIs, e.g. IDEs such as Visual Studio and browsers such as Firefox, which have docked sidebars and tabs in preference to overlapping windows.
> The first version (Windows 1.0) featured a tiling window manager, partly because of litigation by Apple claiming ownership of the overlapping window desktop metaphor. But due to complaints, the next version (Windows 2.0) followed the desktop metaphor. All later versions of the operating system stuck to this approach as the default behaviour.
* Better multi-window and gesture support
* Gaps built in (currently, i3 is separate from i3-gaps, which is what most actually use). No separate forks to deal with, meaning easier maintenance.
* Wallpaper
* Faster
However, there are some big downsides. Wayland is still pretty beta, and not everything works well with it. This is not the fault of Wayland/sway per se, more the fact that everything is based around X11. Biggest thing for me is no copy/paste. Hidpi scaling is supposed to be a nightmare. Also, sway doesn't support Nvidia, and the author has publicly stated he refuses to support any Nvidia drivers (or at least until they're open-source).
Even back in 2002 RandR supported obtaining screen size information in pixels and millimeters which can be used to calculate DPI... or actually, what people really want when mentioning "DPI support", an automatic way to scale the windows.
How the window scales is up to the toolkit to implement and is independent of window system and really, even independent of screen size/DPI since some users (e.g. due to sight problems) may want their windows to be scaled even on "low DPI" monitors (the whole DPI thing is just a default setting).
The main problem i see with X here isn't some technical inability, but a way for window managers to notify other clients that they should change their scaling (since the window manager is in a better position to know what scaling each window should use - especially when you want different scaling per monitor, which again can be independent of DPI since you may want a large scale for a wall mounted TV even if the DPI would be very low) - essentially something like a new _NET_WM_SCALE window property for EWMH clients and window managers.
Furthermore, it's proprietary NVIDIA drivers Wayland isn't supporting, not NVIDIA itself. AFAIK nouveau works just fine. There are many great reasons for not supporting the proprietary NVIDIA drivers.
This is becoming a lot less true. Unless you really want to run the latest games (in which case you'll be on Windows anyway), nvidia is on equal footing as AMD nowadays on Linux. AMD has made a lot of efforts and progress the past few years, and them playing nicely with the OSS community makes a big difference.
My next computer will have an AMD card&processor.
I think the instructions are meant for Debian however and there are some differences in the commands you need to run. If you use a Redhat distro and/or you want some further optimization tips I'm also happy to work you through the process.
https://vfio.blogspot.com/2015/05/vfio-gpu-how-to-series-par...
Now I know my next home gaming computer will also have a Radeon card.
P.S. Put a monthly donation for Sway. Really appreciate the work!
One of the biggest draws is keyboard-friendliness: you don't have to use a mouse to navigate, ever. Nice for those of us who already prefer programs like vim that allow keyboard usage, and can increase productivity. It's also good for multi-window setups (having more than one open), though some people who use tons of windows use bspwm (represents windows with a binary tree).
So it seems like the feature list is 'better gesture support' in exchange for a lot of downsides?
I am not trying to be dismissive, but I see so many people evangelizing it over i3, I feel like I have to be missing something. I can't believe there's a single person who finds those tradeoffs acceptable outside of those who want it to be good eventually and are working towards that.
Not everything needs to have a real use case!
I'm not well versed in the details of the conflict, and of course any open source project is not compelled to support anything they don't want to. That being said it would have been nice to know that they have no plans to support a large percentage (majority?) of the consumer, dedicated GPU market.
If/when I am able to get a new AMD card I will certainly try it then.
However, we only need to support Nvidia if our goals include "adoption by Nvidia users". But they don't, so we aren't going to.
nvidia is simply being uncooperative.
Also, migrating from i3 is super easy and painless. Really a seamless upgrade experience. If you've been holding off upgrading to Wayland, now is the time, Sway is absolutely ready.
By the way, you should donate. These people absolutely deserve your money.