Hacker News new | ask | show | jobs
by dbatten 87 days ago
> it feels like Mac's UI is optimized around the assumption most users won't expand windows to fill the whole screen, but rather leave them half-sized somewhere in the middle

IMO, this has been their assumption for years, and it actually turned me off when I tried getting used to Mac circa 2006-2007. Coming from Windows at the time, I just couldn't get over a weird anxiety that my application window wasn't maximized, because it didn't look like it completely snapped into the screen corners.

Now, using 34-inch ultrawide monitors almost exclusively, I never maximize anything... it'd be unusable.

6 comments

As a 38" ultrawide owner myself, I use vscode or intellij maximized most of the day, depending on the codebase I'm

Browsers only ever get maximized to the left/right half screen for me too

Which is something macos should really improve on though, the ux is pretty bad compared to Windows and Linux there

I split a vs code window and a browser or a browser and terminal window on my 13" mb air. Usually need additional context on the same screen.
MacOS has a built in 4x4 window tiling which works for this purpose for me. I don’t find ever wanting more than 4 windows open on an ultrawide. Definitely not as powerful as something like xmonad but useful for the majority of my use cases.
Windows also has this kind of tiling built-in. It even comes with default keyboard shortcuts.
So does Mac: https://support.apple.com/en-us/guide/mac-help/mchl9674d0b0/....

Obnoxiously, it's part of the recent trend of overloading the Globe/Fn key, so it's hard to do with third-party keyboards.

Can you not change the shortcut?
You can, I believe, but I often need to move between computers so I try not to mess with shortcuts too much (or go down keyboard layout rabbit holes, etc).

Saner defaults would be better.

Here to say ubuntu's got it built in as well
While I don't maximize anything on a monitor that wide, I do appreciate Window's snap to half/quarter functionality for monitors that wide, and I wish Mac had the same ability natively.
> I wish Mac had the same ability natively

Hover over the green button in the top left of the window. I recently found out about that menu for moving a window between screens, which is also an option it has. (I also just found them in the Window menu if you prefer that. I dont; the options take an extra level of hovering to get to.)

You can also long-click the button instead of hovering. Also, see the menu bar entries related to window management, which replicates these same functions but can be bound to keys in the system settings.
Option-clicking the green button maximizes it similarly to Windows, rather than going fullscreen. I never used fullscreen just because of the slow animation it used, and now it makes even less sense on my new MacBook with the notch. It basically replaces the menu bar with a blank bar.
> Hover over the green button in the top left of the window.

Weirdly it still doesn't quite do what I want. It leaves a gap around the edge of the window for some reason.

Damn. Never knew that. TIL
I will wait for you to discover these Keyboard Shortcuts - Press the `fn + ^` (that globe key + control) and then try `c`, `f`, and all of the four arrow keys.
I’m pretty sure it does? I haven’t installed anything and it has the ability to do half and some other layouts through the window menu and snapping IIRC
I can't speak to the quarters but you absolutely can snap windows to the left and right halves in MacOS.
i do quarters all the time. it used to be with third party apps. iu think its native now
You can hold the 'option' key while dragging a window in order to set it in mosaic mode (you may need to activate the mode in Settings > Finder and Dock > Windows)
I'm pretty sure Tahoe added that behavior natively. I personally use Magnet on Sequoia, however, so I am not 100% certain.
This was added as built-in functionality in Sequoia, not Tahoe. Personally I still use Magnet, which has worked well for over a decade and has a few more options.
I constantly stretch windows to maximum height.

I maximize windows of graphics and video editors.

I just installed Kubuntu last week so I could get the additional shift-drag targets to split my 34" ultrawide into 3 sections, or bump to the edges for the half filled.
Install i3wm, it will change your life.
Something I realized after spending a few months in sway (i3) and then niri is that I only care about a few windows (code editor, terminal, browser, apps I use moment to moment).

All the rest I'd prefer to just summon as-needed and then dismiss without navigating away from the windows I care about.

sway/niri want me to tile every window into some top-level spot.

Took me a while to admit it, but the usual Windows/macOS/DE "stacking" method is what I want + a few hotkeys to arrange the few windows I care about.

Yeah, I came to the same conclusion a few months back. Sadly I had to ditch KDE for GNOME due to an issue[0] specific to NixOS but after going through the gauntlet of tiling window managers and PaperWM/Niri over the years I've also settled on a traditional DE.

[0]: https://github.com/NixOS/nixpkgs/issues/126590

I'm surprised to hear that niri didn't work for you, I feel like it's a really good middle ground between tiling and floating window managers. It handles a lot of window resizing and arranging for me, without being too rigid. Windows can have any width they need without having to evenly divide my monitor.
Niri is a great system for spawning windows.

But it answers the question of:

"Alright, whenever I want the $app window, I just go to column X of workspace Y"

Which isn't something I want for 99% of the windows I have open.

Most of my app interactions are transient where I prefer "summon $app from the ether without navigating anywhere".

For example, here are low priority apps I have open: calendar, discord, whatsapp, notes, journal, database gui.

Niri would make me find a place to put these apps in the top level and then navigate to them which doesn't match their transient nature.

Makes sense I guess. I mostly work with a few long-lived applications, and I hate having to do any manual window management myself.

I'm fairly sure you could use scripting to come up with a Niri workflow that worked for your use case. Maybe something like niri-scratchpad (https://github.com/Vizkid04/niri-scratchpad). But I sympathize if you don't want to spend a ton of time experimenting with your tools when you already have something that works for you.

In sway, put the lower priority windows in another workspace, or the scratchpad, or in tabs/stacks. You can bind keys to focus specific programs by their appid/class also, so even if they're on another workspace or monitor it'll jump right there.

It sounds like the scratchpad may be especially close to what you want.

Your sway solutions are hacks around the MRU stack of a stacking desktop environment though.

I don't want to leave the workspace nor go find which tab/stack I've put Spotify just to use it. And scratchpad is no better since I'd have to do an explicit summon/dismiss cycle between workspace and scratchpad just to recreate behavior I already have on a normal desktop env.

Maybe awesome-wm would be better for you then.
I’m currently using Krohnkite [1] to get dynamic tiling in KDE, and Klassy [2] to get i3wm-like pixel borders instead of full window decorations.

[1]: https://github.com/esjeon/krohnkite [2]: https://github.com/paulmcauley/klassy

Ultrawide without a virtual screen manager is a missed opportunity. Maximize window is still very useful with virtual screen areas on large screens.
Brother, I have 42 inch 16:9 and I always maximize everything.