I'm basically fullscreen with everything all the time on macos, but not in the super-duper-fullscreen mode so cmd-tab/cmd-` works predictably. I want this on macos. I know I can't have it on macos. I also can't switch to Linux since macos is mandated by my employer.
Nothing really to take out of it except that I feel like I'm not alone feeling stuck, knowing there are better workflows and not being able to do anything about it.
If there is one thing about macOS that really sucks, it is the window management. I have been using it for three months now and still don't understand how to use it.
It is not that I am inexperienced (Windows 95/98/2k/XP/Vista/7/8/10/11, Linux with all kinds of Desktops over the years (KDE 2/3/4/5/6, Gnome 2/3, Sway, Unity, XFCE, Enlightenment, blackbox, ...)), or that I didn't try (searched, watched several YouTube tutorials). I also tried different options, such as disabling the entire "Displays have separate spaces" feature (it fixes some cases, but others worsen).
My verdict is simple: They would be better off just adopting the dumb Microsoft Windows 95 approach to window management.
And it isn't that I don't like the system overall. I have never had a laptop with such superb performance, and at the same time, it stays cool as ice and silent. I love the animated video backgrounds on the lock screen with the slowdown on login, and having Zsh as the default is also fun. But the window management...
This is my exact experience! I really tried for 6 months and I just couldn't avoid fumbling around. For example, the experience of going in/out of fullscreen is jarring.
What's funny is that when someone first learns about Alt+Tab it's like the best cheat-code for any desktop navigation, but after switching to Niri, Alt+Tab seems like a silly way to layout your windows.
I've been working on porting komorebi to macOS[1] over the past month and the scrolling layout[2] works pretty well
It (the scrolling layout) is not exactly the same as Niri because the implementation is based on my personal preferences, but it does what it's supposed to on both platforms
[1]: https://youtu.be/u3eJcsa_MJk?si=jSbDsAdLWQu0k1lZ
[2]: https://youtu.be/b1yECfF7Qyg?si=VXMbQo0RqtdzuDjG
> I know I can't have it on macos. I also can't switch to Linux since macos is mandated by my employer.
I’ve had two employers with dumb rules like this and I just worked on a Linux VM running fullscreen on all monitors. It was technically macOS, so IT didn’t have any issues, and it still ran all the security stuff that my employer wanted. At one job, my manager even provisioned a VMWare license for this.
Aerospace[0] is by far the best window manager I've come across for Mac.
[0]: https://github.com/nikitabobko/AeroSpace
Seconding this, I've used alternatives like Amethyst, and I can't disable S.I.P for yabai, but Aerospace fills in that missing aspect from Linux when I am in want of it.
You might try Hammerspoon[0] with PaperWM.spoon[1] on macOS. This is what I use, and while it has quirks, it works better than not having it.
[0] https://www.hammerspoon.org/ [1] https://github.com/mogenson/PaperWM.spoon
Hammerspoon is quite easy to use, so attempting to cobble together your own thing (that does exactly what you want) might also be feasible. The documentation is decent and the iteration time is short.
It took me about 30 minutes to replicate some Windows/AutoHotKey crap that I wrote myself and have been using for years, and it wasn't painful.
It’s nice, but it doesn’t support things like Safari tabs properly.
Yeah the tabs is biggest issue
I love the full-fullscreen mode for things like VSCode and FreeCAD on my 13" MBP. Never have a real issue with alt-tab though I must say I do end up paying attention to it more when I am switching between three windows and not in a cyle.
I have tried to get this in KDE Plasma 6 (with a global menu bar) and you just can't quite get there, so you have to settle for maximised but not full-screen apps, which is annoying.
I understand the difference and the architectural history that is that "full-screen" on X/Wayland is essentially a kiosk/don't-interrupt-my-game mode, whereas on the Mac it is chromeless windows on a virtual desktop that you can't get stuck in if you forget the restore keystroke.
But it frustrates me I can't get that.
I use Yabai on Mac for a WM - it works great with my big screen, but I haven't figured out a good workflow for when I need to use just the laptop, then it becomes a bunch of spaces with one or two windows in each.
You are not alone.
+1 Fullscreen Mac os but not the "Mac full screen" but normal full screen.
Try flashspace. It's a perfect solution when running apps full screen. You just bind your workspaces to keys and they switch instantly. Without any animations.
I'm pretty much the same fwiw I currently use stage manager and double click the top bar of the window to maximize (that's different than the green button)
don't you just love how many ways of going full screen there are in macOS
Maximizing and Fullscreening are different modes in all operating systems.
I use Niri and it has 3:
1. Use all width (windows are full height by default) and display system bar
2. Use the entire screen and hide the system bar
3. Same as 1 but make the app believe that it’s in Mode 2
Give flashspace a try.
I hate that I have to hold option everytime I maximise a window. All I want is to change the default to stretch windows and not use the fullscreen mode at all because of the other weirdness it brings.
Just switch to Linux ... In Gnome just hit Windows+Right or Windows+Left it does exactly what you want. Install some Gnome plugins if you want 2x2 or 3x2 or other custom tiling.
I genuinely don't get why so many devs use MacOS when Linux is already set up for devs, and the stuff you run in the cloud will also run locally with 1/100 the SSH keyboard latency.
Very often it's not a choice, a lot of companies only let developers choose between Windows or MacOS laptops for work.
Sure, but I see a lot of devs who have MacOS as their personal laptop and then complain about something in MacOS that is a non-issue in Linux.
Just double click the top of the window? If I'm understanding right, that's what you want. I only ever double click windows on both Mac and Windows.
Was long time ago I used macOS in any professional capacity, but doesn't it just maximize the height of the window, not the width? I seem to recall some UX like that, but might have been a different action/button.
Mac has a weird windows models based on contents, not the display. So the content can “suggest” maximum and minimum size when you double click the title bar. it fits within the document model (windows are tied to documents while the application oversees things, which is why the menus are global and closing a window does not exit the software).
Thanks for the insight. I have never thought about it that way and it explains the weird behaviors you mentioned and also why it works well for people who do mostly office stuff. As a dev, I heavily use browser, editor and terminal, which don't map as well to the document model.
It's the same behaviour as Option + Maximize. Finder for example, that grows taller. Terminal for example, that goes full screen. My browser also goes full screen.
Seems like the app decides what the behaviour is. But the point being it's the same behaviour as the Option + Maximize.
Yeah, that it does but I quite like the way it gets taller but keeps the width.
Never tried a double click, thanks!
Rectangle's ctrl-opt-return has been a lifesaver
https://github.com/mogenson/PaperWM.spoon
Hmm... what do you mean "predictable"?
For me cmd+tab / cmd+` works brilianty - switching to last used app/window-of-the-app