[HN Gopher] AeroSpace is an i3-like tiling window manager for macOS
       ___________________________________________________________________
        
       AeroSpace is an i3-like tiling window manager for macOS
        
       Author : loughnane
       Score  : 269 points
       Date   : 2024-06-06 12:39 UTC (10 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | andrewla wrote:
       | I'm reluctant to try this -- my experience with other attempts to
       | try out tiling window managers on MacOS is that the just don't
       | play nice. Windows get repositioned by normal interactions and
       | the window manager is not able to wrangle them, and connecting
       | external monitors is a disaster, and you end up with a situation
       | where windows are overlapping in odd ways but you can't move them
       | out of the way because the window manager is trying to manage
       | them.
       | 
       | Does anyone have experience with this particular one and does it
       | resolve these sorts of issues?
        
         | torstenvl wrote:
         | I've never ever had that happen with Rectangle or Magnet.
        
         | nbobko wrote:
         | Hi, AeroSpace author speaking :)
         | 
         | > Windows get repositioned by normal interactions and the
         | window manager is not able to wrangle them
         | 
         | I'm certainly biased, but no, I don't face issues like that
         | 
         | > and connecting external monitors is a disaster
         | 
         | Connecting and disconnecting external monitors is an important
         | use case for me as well. I dedicated my time to support
         | specifically this case, so hopefully it works correctly for
         | other users as well
        
           | mrgaro wrote:
           | I'm a long time Amethyst user, but going to try AeroSpace
           | out!
           | 
           | Based on the documentation the toml syntax is stretched quite
           | a bit to implement some logic and callbacks. Have you
           | considered some scripting language to make it easier to do,
           | or is the need for this kind of advanced use so little that
           | it's not really a problem?
        
             | nbobko wrote:
             | When I started the project, I kept it simple, so I started
             | with the static config
             | 
             | The complexity of the config has grown since then, with the
             | bigest (and, actually, the only) problem being on-window-
             | detected callback as you mentioned.
             | 
             | I've been thinking about using a scripting language like
             | Lua, but I haven't made my mind yet whether it's worth it
        
       | iyn wrote:
       | > Doesn't require disabling SIP
       | 
       | That's very interesting! I've been hesitant to use similar WMs as
       | basically all required disabling SIP. Anyone knows what AeroSpace
       | is doing differently that it can work alongside SIP?
       | 
       | Edit: found this in the README:
       | 
       | > AeroSpace will never require you to disable SIP (System
       | Integrity Protection). For example, yabai requires you to disable
       | SIP to use some of its features. AeroSpace will either find
       | another way (such as emulation of workspaces) or will not
       | implement this feature at all (window transparency and window
       | shadowing are not practical features)
        
         | TachyonicBytes wrote:
         | I wonder if following the mouse for focus would be doable
         | without disabling SIP. It's one of the features I didn't even
         | see in other macOS WM.
        
           | feep wrote:
           | It is, Yabai can do it. I am currently using autoraise. Both
           | work great, barring UI weirdness of macOS.
           | 
           | Example. Mousing over another window on the way to the
           | menubar.
           | 
           | https://github.com/sbmpost/AutoRaise
        
           | bashinator wrote:
           | I've been searching for a sloppy-mouse-focus implementation
           | for OSX for _years_. Pretty sure there's something
           | fundamentally incompatible in how app windows are managed.
        
             | lelandfe wrote:
             | It's also a bummer because Terminal.app has the
             | functionality out of the box: https://macos-
             | defaults.com/mouse/focusfollowsmouse.html
        
               | bashinator wrote:
               | It can be implemented within apps, but not across apps
               | afaict.
        
             | speedgoose wrote:
             | Looks like Hammerspoon and some lua should do:
             | 
             | https://www.hammerspoon.org/docs/hs.mouse.html
             | 
             | https://www.hammerspoon.org/docs/hs.window.html
        
               | bashinator wrote:
               | Not seeing a way to get the window currently under the
               | mouse pointer, but this is pretty interesting - thanks!
        
           | jamil7 wrote:
           | Should be possible using AX APIs on mac, might not be all
           | that performant, however.
        
           | samatman wrote:
           | The problem with focus-follows-mouse on macOS is the top menu
           | bar.
           | 
           | If you had it, and tried to mouse to the menu, the menu would
           | switch out from under you.
           | 
           | I have some notes in a file somewhere about how a Mac-native
           | focus-follows-mouse could even work, because I want it. It
           | would end up being a rather different implementation than the
           | X Windows style.
        
           | filereaper wrote:
           | Yup there's AutoFocus which I use daily with Aerospace
           | 
           | https://github.com/synappser/AutoFocus
        
         | msravi wrote:
         | I tried yabai but found switching between macos spaces too
         | slow. I moved to aerospace and I absolutely love the workspace
         | implementation. But I really love yabai's focus-follows-mouse
         | feature - so is it possible to use yabai _just_ for that while
         | using aerosoace for everything else i3-like?
        
           | kcrwfrd_ wrote:
           | Fwiw I have yabai configured for instant desktop switching
        
             | msravi wrote:
             | That's what I thought I did, but I can't, for example, just
             | move to space 7 or something. I need to create a new space
             | with a number I can't control and switch to that. That new
             | workspace might not be next to the previous space I was
             | working in, so I need to cycle through multiple spaces.
             | Aerospace on the other hand just lets you choose a numbered
             | workspace and work with that.
             | 
             | Would love to see your yabairc if you can share.
        
       | nocsi wrote:
       | I've just started using [1Piece](https://app1piece.com/). Before
       | this, I had BetterTouchTools just to mimick the window snapping.
       | And years prior to that, I'd run a full dwm setup on Linux. The
       | thing to understand however... is that these sort of things are a
       | losing battle on macOS. Stuff like yabai/skhd break in between OS
       | updates. Window management and apple is a battle you can always
       | expect to lsoe
        
       | gray_-_wolf wrote:
       | I will be getting my first mac soon (I am still sad about it),
       | which means I will need to figure out the WM. Currently I am
       | considering yabai and amethyst. I guess now I should add
       | AeroSpace to the list.
       | 
       | If you are actually using tiling WM on mac, could you share which
       | one and why?
        
         | andrewla wrote:
         | For what it's worth, I don't think there's a lot of value in
         | these. I hate the MacOS environment as much as anyone, but all
         | the attempts to create tiling managers have resulted in strange
         | unusable quirky behavior.
         | 
         | You're better off just sucking it up and using the native UI
         | until you get sufficiently familiar with it that it rarely gets
         | in your way too much. Meanwhile keep lobbying your employer
         | (assuming that you are being forced into this by your job) to
         | support Linux for development workstations.
        
           | happymellon wrote:
           | Completely agree with this take.
           | 
           | No matter how sophisticated these Mac Window Managers get,
           | MacOS will always mess with the windows because it knows
           | better than you. That's why people buy Macs, and it's not
           | going to change. If you don't like this, then you actually
           | don't like Macs.
           | 
           | It's opinionated, and it's opinions do not match yours. I
           | would have liked window snapping, but instead we have 1/2
           | baked split screen virtual desktops.
           | 
           | I simply don't understand why people use them for development
           | environments, the "Unix underneath" doesn't help enough in
           | enough scenarios when it's hostile in so many others.
        
             | jwells89 wrote:
             | > I would have liked window snapping, but instead we have
             | 1/2 baked split screen virtual desktops.
             | 
             | There's at least non-fullscreen tiling available now if you
             | hold down Option/Alt when hovering over the green traffic
             | light (which also changes the corresponding Window menu
             | items to "Move Window to (Left|Right) Side of Screen).
             | There should probably be a toggle somewhere that makes this
             | the default.
             | 
             | > I simply don't understand why people use them for
             | development environments, the "Unix underneath" doesn't
             | help enough in enough scenarios when it's hostile in so
             | many others.
             | 
             | A lot of it is that the hardware is well-rounded and not as
             | riddled with gambles/compromises as most other laptops are.
             | Usually non-Apple laptops have at least one or two things
             | that suck about them, with the most frequent being battery
             | life, fan noise, and poor thermal design but include
             | mediocre screen, bad keyboard, bad trackpad, bad power
             | management, bad unplugged performance, bad port placement,
             | and chintzy build among other things.
             | 
             | Some percentage of users also just like macOS as it is,
             | though.
        
           | vidarh wrote:
           | Fully agree with this.
           | 
           | Used Yabai at first last time I was forced to use a Mac.
           | Hated it with a passion. It was "close", but not close
           | enough, and so I felt I was fighting it all the time.
           | 
           | Ended up running most applications full-screen instead, and
           | relying on tiling in iTerm2 or the applications most of the
           | time instead. It helped that I was connected to a second
           | monitor most of the time.
        
         | wizhi wrote:
         | I've been there, being forced to use it for work..
         | 
         | I tried both Yabai and Amethyst and, frankly, neither provide a
         | clean experience.
         | 
         | Yabai requires disabling some OS security feature iirc, which
         | may or may not be an issue for you. I seem to recall having
         | issues with it, and switching to Amethyst pretty soon after. It
         | might also only support BSP layout, which I dislike - stacks
         | all the way.
         | 
         | Amethyst feels a little half baked. It works well enough, but
         | configuration is through a GUI and saved in some non text
         | format, making it not difficult friendly. It also doesn't
         | support things like moving windows between workspaces, meaning
         | you need to have additional bindings for that through the MacOS
         | command center or whatever it's called.
         | 
         | Overall, I managed with Amethyst for close to 2 years, so
         | that's the one I'd recommend of the two. Luckily I'm back on a
         | Linux machine and can use river now. :)
         | 
         | Good luck!
        
           | happymellon wrote:
           | > It also doesn't support things like moving windows between
           | workspaces
           | 
           | It's been a while since I used Amethyst as the Mac is now on
           | complete corporate lockdown, but I remember that being the
           | biggest feature I used on Amethyst. MacOS doesn't support it,
           | but Amethyst did.
        
             | tanelso217 wrote:
             | I lost my Amethyst due to corporate lockdown rebuild a few
             | weeks ago. MacOS window management is obnoxious without it
             | and I'm much less productive due to losing my tools.
        
             | wizhi wrote:
             | I am likely misremembering, and mixing it was something
             | else! There definitely was something vital I wasn't able to
             | do through just Amethyst though.
        
         | namdnay wrote:
         | I'm not an expert, but isn't Rectangle the simplest and easiest
         | way to manage this? I love it
        
           | vundercind wrote:
           | Hell, I'm still on Spectacle. I'll look at switching to
           | something else as soon as it gives me even a single problem.
           | Zero in years and years, including several years of no longer
           | being updated.
        
         | torstenvl wrote:
         | It isn't i3-like, more window snapping than fractal tiling, but
         | I really like Rectangle. I used Magnet previously and also
         | liked it.
        
         | Cu3PO42 wrote:
         | Out of all of these, I've only tried Yabai. It's fine. Things
         | mostly work like I expect them to and I rarely encounter a
         | situation that isn't fixed by restarting Yabai. That said, I'm
         | hardly a power user. I have not disabled SIP and instead
         | simulate features that would require it as best as possible
         | through other means. E.g. workspaces can be switched by
         | dispatching a key combination that is handled by macOS
         | natively.
         | 
         | You can check out my configs here [0] if you are so inclined,
         | but it's not super polished.
         | 
         | [0] https://github.com/Cu3PO42/gleaming-glacier/tree/next
        
         | bee_rider wrote:
         | I wonder... this isn't what you want, but maybe just tmux in a
         | full screen, or half-screen terminal (if you need a web
         | browser) would suffice? Plus their built in "spaces"
         | (workspaces) feature.
        
       | feep wrote:
       | Oh, I like the fake Spaces approach.
       | 
       | I have considered trying that by minimizing windows, but would
       | never get around to it.
       | 
       | Tiling is doomed to sadness on macOS, because of lack of APIs.
       | But this is probably the most performant approach.
       | 
       | Have used yabai, but only for moving windows and focus-follows-
       | mouse. Not for tiling. Because flaky (not yabai's fault).
       | 
       | Thanks nikitabobko.
       | 
       | Looking forward to trying it as soon as I figure out how to mod
       | alt-tab to ignore all the windows (from every fake workspace) in
       | the corner.
       | 
       | Also, linked in the docs, JankyBorders. Nice.
       | 
       | https://github.com/koekeishiya/yabai
       | https://github.com/lwouis/alt-tab-macos
       | https://github.com/FelixKratz/JankyBorders
        
         | freeqaz wrote:
         | I get around that by using the Stack and I flip between windows
         | with alt+h/alt+j
         | 
         | Command+Tab is global window switch. The ones above are for
         | "local" switching in the context of the workspace.
        
           | feep wrote:
           | Oh, I know. I use sway -- and greatly miss alt-tab (windows-
           | style alt-tab), when I do.
           | 
           | Not linux-primary right now.
           | 
           | I can remember my linux-style stacking commands in order to
           | try it.
           | 
           | But I would want to fix my alt-tab at some point.
           | 
           | Note: my sway (or mac) usage is basically two vertical
           | windows or stacks of panes on a laptop screen. So a pretty
           | simple setup.
        
             | irth wrote:
             | you can get windows-style alt-tab with https://alt-tab-
             | macos.netlify.app/
        
               | feep wrote:
               | Right. Got it, love it.
               | 
               | But it won't work with AeroSpace.
               | 
               | I mean, it will work, but it won't work with all windows
               | from _visible spaces_.
               | 
               | Because ever window from _every space_ will be in the
               | current space (tucked in the lower right corner).
        
       | selimnairb wrote:
       | Can we stop pissing and moaning about notarization? macOS isn't
       | Linux and this isn't 1994. Given the cybersecurity threats of the
       | world today, signing by a central authority makes some amount of
       | sense for apps on consumer OSes.
        
         | felixgallo wrote:
         | What do you think signing does to prevent against 'the
         | cybersecurity threats of the world today'?
        
         | lxgr wrote:
         | As long as Apple's glorious code signing scheme can still
         | easily tricked by a single xattr call [1], I'm fine with it.
         | I've just got a feeling that that won't be forever.
         | 
         | [1] https://github.com/nikitabobko/homebrew-
         | tap/blob/main/Casks/...
        
         | nbobko wrote:
         | I agree that signing by a central authority makes sense. As the
         | readme mentions, I don't have anything against notarization as
         | a concept.
         | 
         | I specifically don't like how painfull Apple does it. (Google
         | for "notarization hell macos")
         | 
         | This is my pet project that I do for fun and for free. Bowing
         | my head to Apple every time I want to release a new version is
         | not fun. Waking up in the middle of the night, because Apple
         | revoked the app
         | (https://github.com/nikitabobko/AeroSpace/issues/167) is not
         | fun.
         | 
         | AeroSpace is a tool for developers by developers. Developers
         | can audit the code and install the app from sources
        
         | Hamuko wrote:
         | I'm not going to notarise anything as long as it costs $100 per
         | year.
        
         | cybrox wrote:
         | Signing by a central authority makes a lot of sense... if only
         | that authority would sign off on the software being secure
         | instead of the software fitting their current mood and business
         | strategy.
        
       | anonzzzies wrote:
       | I have been trying this for a few months now. I3 is quite perfect
       | and Aerospace is a nice try, but it's very far from i3; it's
       | quite flaky. I guess this is because Mac OS X doesn't actually
       | allow full control like Unix WMs do?
       | 
       | I have not found anything better though, but I will install Linux
       | when it's working well on Apple Silicon. Only i3 is at least for
       | me enough reason to use Linux as Mac OS X, again imho, is
       | terrible window manager wise.
        
         | jwells89 wrote:
         | Having dabbled in some of this for a hobby project (not a
         | window manager, but adjacent), it's because the official APIs
         | to do these things with are limited. You end up relying a lot
         | on undocumented private APIs and hacks, which are flaky both
         | due to their undocumented internal-use nature and because the
         | OS isn't designed to play nice with significant meddling with
         | window/process management, which results in the OS and third
         | party app frequently stepping on each others' toes.
        
           | behnamoh wrote:
           | Apple being Apple... gosh they just know how to build
           | hardware but for software they just flop.
        
             | jwells89 wrote:
             | In fairness, I've encountered similar flakiness when using
             | third party window/desktop manager utilities on Windows.
             | Commercial OSes in general just aren't designed with that
             | kind of flexibility in mind.
        
       | JZL003 wrote:
       | I use yabai pretty heavily, for the past 5 macos versions without
       | disabling SIP on a work computer. I really like it, the tiling is
       | flaky only maybe once every few days (I am doing yabai commands
       | probably once a minute at least) so I bound a keystroke to `yabai
       | --restart-service` and it always comes back immediately
       | 
       | So I find it really pretty reliable and pretty great.
       | Multimonitor is hard and I don't use it much, but having stacks
       | and fast 'full-screen' to minimize is so great
       | 
       | On some version upgrades, work antivirus thinks it's a virus so
       | disables it for 24 hours, and I hate using my computer those
       | days, it feels so clunky and sad
        
       | jitl wrote:
       | What is the difference in user experience between this and Yabai?
       | I don't think the SIP issues for Yabai is a big one, no one I
       | know who uses Yabai disables SIP, and they seem to enjoy it.
       | 
       | Is the i3 stuff the difference?
       | 
       | Personally I use a utility that allows resizing and moving
       | windows with the mouse from anywhere on the window when holding a
       | modifier combination, like Fluxbox. Not as automatic, but also
       | never flaky - more like making floating much easier with less
       | mouse movement than moving to a totally managed style.
        
         | freeqaz wrote:
         | I have used both extensively and I prefer AeroSpace.
         | 
         | Multi monitor support is the killer for me, but there are other
         | small wins.
         | 
         | When you move a workspace in Yabai to a new monitor, it changes
         | it's ID so you can't keep using keyboard shortcuts to access it
         | (alt+2 breaks because it is no longer workspace 2, it becomes
         | 11 or another number). I can move workspaces between monitors
         | easily with alt+m and alt+shift+m.
         | 
         | The other feature is that windows snap instantly without any
         | Mission Control animations. That is a big one that really irks
         | me.
         | 
         | Those are the two features that I need most days and I find
         | Yabai completely unusable because of the lack of workspace
         | support
        
         | Etheryte wrote:
         | With Yabai you need to disable SIP if you want to interact with
         | spaces in any way, change the stacking order of windows, and
         | many other things [0]. If you don't use those features, you do
         | you, but for many users those are core features.
         | 
         | [0] https://github.com/koekeishiya/yabai/wiki/Disabling-
         | System-I...
        
       | meter wrote:
       | I've been using this for the past few months, and for the most
       | part, I like it. I appreciate that it's all configured with a
       | single file (no GUI).
       | 
       | One issue: If an app uses native Mac tabs, Aerospace treats each
       | tab as a window, which completely breaks the full screen
       | functionality. Alacritty is one example. It's really odd.
       | 
       | Edit: there's an open issue for this:
       | https://github.com/nikitabobko/AeroSpace/issues/68
        
       | bsnnkv wrote:
       | Nice to see another twm on macOS.
       | 
       | Somehow over the past few years Windows became the more vibrant
       | platform for twms (vs macOS) with developers (including myself)
       | trying to push the envelope and introduce many quality of life
       | features you still won't find even in Linux twms today.
       | 
       | https://github.com/LGUG2Z/komorebi
       | 
       | https://github.com/glzr-io/glazewm
       | 
       | https://github.com/dalyIsaac/Whim
       | 
       | Hopefully this new entrant will drive even more innovation in
       | this space on macOS.
        
         | bbor wrote:
         | Not to drop this kind hacker's competitor, but I've been a
         | happy user of https://rectangleapp.com/. Will definitely be
         | checking this out instead tho, even though I've paid for
         | rectangle -- any demo that has SublimeText windows in it is a
         | demo I trust!
        
         | ashenke wrote:
         | I'm curious, what kind of features that are not found on Linux
         | ?
        
           | Carrok wrote:
           | For one, tools like Shortcat aren't really possible on Linux
           | afaict, since it relies on MacOS's fantastic accessibility
           | API.
           | 
           | https://shortcat.app/
        
             | ssivark wrote:
             | Hmm -- interesting/fantastic tool. Feels something like avy
             | in Emacs, but for everything on screen.
             | 
             | I think this should be possible in linux with a bit of work
             | (erm, famous last words?) especially because the whole
             | desktop environment is fundamentally open and you don't
             | need to depend on this providing an API.
             | 
             | But I think an even better approach is to have build this
             | functionality using screen parsers backed by recent AI
             | advances. That way, you decouple the source / rendering of
             | content from the sink / consumption of content, and can
             | have more flexible behavior on behalf of the end user. I
             | anticipate (hope) such tools to pop up over the next few
             | years.
        
           | FranOntanaya wrote:
           | Clicklock is much nicer in Windows than the awkward methods
           | I've found so far with Linux.
        
           | bsnnkv wrote:
           | The biggest QOL improvements imo are found in the approach to
           | the user-facing API design.
           | 
           | Compare basic multi-monitor commands in something like
           | bspwm[1] or yabai[2][3] to twms on Windows where this is
           | typically handled transparently by directional `move` and
           | `focus` commands understanding monitor boundaries.
           | 
           | Besides this, Whim has implemented a very functional ctrl+p
           | style command palette which provides a great interface for
           | more advanced on-the-fly/one-time window manager
           | interactions.
           | 
           | With komorebi I think that having different border colours to
           | indicate different types of containers is very helpful (one
           | colour for single window stacks, a different colour for
           | monocle containers, a different colour for stacks with
           | multiple windows), as well as custom window-based work area
           | offsets[4] (so if you have an ultrawide monitor with only a
           | single window on a workspace, you can add offsets to the
           | sides so it doesn't stretch across the whole width and give
           | poor usability).
           | 
           | It's not really any one "big thing" but rather a difference
           | in approach which adds up over many small design decisions.
           | 
           | [1]: https://github.com/baskerville/bspwm/issues/563
           | 
           | [2]: https://github.com/koekeishiya/yabai/issues/505
           | 
           | [3]: from my own personal yabai config - imo this is not
           | really acceptable for a user facing API, especially for basic
           | commands like focusing and moving:
           | 
           | ```                   # focus window         alt - h : yabai
           | -m window --focus west || yabai -m display --focus west
           | alt - j : yabai -m window --focus south || yabai -m display
           | --focus south         alt - k : yabai -m window --focus north
           | || yabai -m display --focus north         alt - l : yabai -m
           | window --focus east || yabai -m display --focus east
           | # swap window         alt + shift - h : yabai -m window
           | --swap west  || yabai -m window --display west && yabai -m
           | display --focus west         alt + shift - j : yabai -m
           | window --swap south || yabai -m window --display south &&
           | yabai -m display --focus south         alt + shift - k :
           | yabai -m window --swap north || yabai -m window --display
           | north && yabai -m display --focus north         alt + shift -
           | l : yabai -m window --swap east  || yabai -m window --display
           | east && yabai -m display --focus east
           | 
           | ```
           | 
           | [4]: https://hachyderm.io/@LGUG2Z/112493589633823318
        
       | malkosta wrote:
       | Finally...the day has come...this look awesome!!! Loved the
       | values.
        
       | better_sh wrote:
       | This is great! I find the one thing I miss the most from i3 that
       | none of the macOS tiling managers seem to have is i3bar, or a
       | minimal bar that displays what space I'm on, how many spaces I
       | have, cpu/ram usage, etc. I've tried to find configs that emulate
       | this with Spacebar [0], but haven't been able to find anything
       | 
       | [0] https://github.com/cmacrae/spacebar
        
         | tra3 wrote:
         | Sketchybar has this.
        
         | dorian-graph wrote:
         | Have you tried https://github.com/FelixKratz/SketchyBar?
        
         | cweagans wrote:
         | You can likely do this with Hammerspoon. It should be pretty
         | straightforward as long as you have somewhere you can get the
         | name/id of the space that you're on.
        
       | laweijfmvo wrote:
       | > Homebrew installation script is configured to automatically
       | delete com.apple.quarantine attribute, that's why the app should
       | work out of the box, without any warnings that "Apple cannot
       | check AeroSpace for malicious software"
       | 
       | Can someone ELI5 what this does? Does it impact AeroSpace only,
       | or something globally on my Mac? Thanks!
        
         | nbobko wrote:
         | It impacts only AeroSpace
        
         | Vegenoid wrote:
         | Without looking into the installation script to verify, based
         | on that description, it is only deleting an 'extended
         | attribute' of the AeroSpace app. MacOS adds this attribute
         | automatically to programs downloaded from the web, and prevents
         | a user from running the program while it has the attribute.
         | 
         | I frequently need to run a command like the following before
         | running a downloaded program, which I'm guessing is exactly
         | what the install script does:
         | 
         | xattr -d com.apple.quarantine some-program.app
        
         | baliex wrote:
         | It only affects AeroSpace.
         | 
         | The README links to the Homebrew install script, relevant lines
         | highlighted here: https://github.com/nikitabobko/homebrew-
         | tap/blob/main/Casks/...
        
       | maherbeg wrote:
       | I'd be curious to know how it is different than Amethyst.
       | Amethyst has gotten much more stable recently and I really enjoy
       | using it. The text based config seems pretty nice at a first
       | glance, but I'm not sure if it's worth switching.
        
         | Avi-D-coder wrote:
         | in my experience aerospace is way better in most ways.
         | 
         | there are a few oddities, and I need to file a couple of bug
         | reports, but it has made macos so much more tolerable than
         | amethyst.
        
         | matricaria wrote:
         | You can do text based configuration in Amethyst too.
         | 
         | https://github.com/ianyh/Amethyst/blob/development/docs/conf...
        
       | whartung wrote:
       | For folks that use the tiling window managers, what applications
       | are you running? And what does a typical desktop look like?
       | 
       | In terms of desktop layout, mind I don't use one, the Oberon
       | vision comes to mind. A single, large pane, with all(?) of the
       | others stacked to one side.
       | 
       | My friend didn't use a tiling window manager, but had this
       | desktop laid out as such, but all of those windows were terminal
       | windows that he kept an eye on (he was our ops guy).
       | 
       | But are folks using these layouts with their web browsers, word
       | processors, IDEs, etc.?
        
         | FranOntanaya wrote:
         | I use an ultra wide screen and do both coding and video
         | operations so I'm always having side by side layouts mixed in
         | with tabbed windows.
         | 
         | One typical case is navigating a file manager to grab files
         | that I need to drag and drop on a web UI, or folder/URI slug
         | names I need to keep copying back and forth to use on a
         | workflow.
         | 
         | Another is watching stdout/stderr of a running script and a log
         | tail at the same time.
         | 
         | Sometimes I have tabs of web, file manager and some other app
         | on one side and a terminal on the other as terminal commands
         | are the glue of a workflow.
         | 
         | Or I'll be screening a video on the left and doing edits on the
         | right. Or keeping notes open on the side during a conference
         | call.
         | 
         | Sometimes I'll only have one window in a virtual desktop and
         | ultrawide is too much, so I just have an idle terminal window
         | as padding.
         | 
         | Not having to hunt around for windows then hunting for their
         | edges helps when I'm constantly opening, closing and sizing
         | terminals, file managers and so on and so forth. It simply is
         | faster with tiles.
        
           | whartung wrote:
           | This will sound silly, but doesn't that hurt your neck? You
           | mention you use a ultra wide screen.
           | 
           | I have one of the "drive in theater" iMacs, and I prefer the
           | windows in the center. It's big enough that if things were on
           | either side, I'd have to crane my neck to focus on either
           | side. I'd hate to have to do that all the time.
           | 
           | I guess if I were to do anything "tile" wize it would be two
           | smaller columns, one on the left, and one on the right, and
           | then the big center as the main focus.
        
         | gpxyz wrote:
         | I don't work in programming, but in arts and academia. I
         | usually have 1 "main" window in working in and at least 1-2
         | more I am continually referring to, so I like to be able to
         | quickly switch between a single fullscreen window and a 2
         | column view. Typical workspaces for me are Zotero + Firefox +
         | Word (for writing and research) and Photoshop/InDesign + Finder
         | + Firefox (for design). When I do code, I like being able to
         | have at least 1 terminal window side-by-side with a coding LLM.
         | I usually also have a workspace with Spotify + MacPass +
         | Telegram open that I refer to as needed.
        
         | skydhash wrote:
         | I'm a developer so not as much an outlier. My usual workspace
         | is usually laid like this:
         | 
         | 1. Emacs. Coding and other stuff
         | 
         | 2. Browser. Either the web application I'm working on and other
         | searches
         | 
         | 3. Terminal. For long standing actions and other system stuff.
         | 
         | 4 . Documentation. Mostly another browser windows.
         | 
         | 5. Utilities. Mostly GUI related to the current project I'm
         | working on (Database, API Tests,...
         | 
         | I'm working inside a VM (macOS hosts) so I use the host
         | software for other things. But if it bare-metal, I'd add a
         | workspace for media, and another for communication.
         | 
         | As you may guess, it's almost one maximized application for
         | each workspace. This way I can quickly switch to it with the
         | keybindings. The only time I have a proper tiling structure is
         | when I need the information from both windows at once (Taking
         | notes and reading a document,...). Tiling is mostly about not
         | thinking about where the windows will be, not to have
         | everything there at once.
         | 
         | macOS has Spaces, but the ergonomics are bad. Especially the
         | animations if you use them a lot.
        
         | zamalek wrote:
         | Hyprland here. My primary screen (and workspaces on it) is
         | nearly always a single app, while the secondary has tiles -
         | much like your ops friend. I would actually love a window
         | manager that embeds this assumption.
        
       | carabiner wrote:
       | Man I hate the name. Has nothing to do with aerospace, but it
       | does seem like a fad in software to take on some stolen valor
       | from a far more interesting field.
        
         | nbobko wrote:
         | 1. The "AeroSpace" name means a space for your windows without
         | friction
         | 
         | 2. I myself consider the virtual emulation of workspaces to be
         | the strongest feature of the AeroSpace. If I could disable the
         | workspace switching animation in yabai or Amethyst (with SIP
         | enabled, of course), I'd probably not bother myself creating
         | AeroSpace. That's what the "space" part in the app name means.
         | It resembles the strongest feature of AeroSpace - workspaces
        
       | randomblast wrote:
       | I used i3 for a few years when my main dev machine was Linux. I
       | too am frustrated by the macOS builtin WM's shortcomings. Initial
       | feedback on AeroSpace though: it's utter shite.
       | 
       | I started it when I already had my usual number (many) of windows
       | open across my usual number of spaces (lots) on my usual number
       | of displays (3). First it spent 30 seconds trying to give me a
       | seizure, and when it had finished I'm left with a total mess of a
       | layout. Some windows 30px wide. Some windows not-quite-
       | fullscreen. Some windows just randomly floating without any kind
       | of recognisable pattern.
       | 
       | Now I can't navigate around because dragging a window sends it
       | flying off to the corner of a different display. None of the
       | default keybindings seem to do what they say they should. The
       | focussed window disappeared entirely when I tried resize mode,
       | and I can't find the way out of it because that was the window
       | with the instructions.
       | 
       | I think I'll try something else.
        
       | darksaints wrote:
       | Somewhat on subject: does anybody feel like the macos-style
       | application menu that is disconnected from the application window
       | has outlived its welcome? I feel like apple gets so much right
       | from a UX perspective, but in a world of multi-monitor setups and
       | common cross application workflows, I find it absolutely bizarre
       | that I might have to scroll across 2+ monitors to get to a
       | dropdown menu for an application that I'm using, and sometimes
       | still get to a dropdown menu for the wrong application.
        
         | throwaway38375 wrote:
         | Yes! Windows got it right IMO.
        
         | mbreese wrote:
         | I like the detached menu, but mainly because it makes the
         | application window smaller with less overall decoration. With
         | multiple applications open, each window having menu bar
         | decorations seems cluttered to me. I like the minimalist and
         | consistent nature of it all.
         | 
         | However, it does get more complicated with multiple monitors
         | and I don't know of the solution here. You're right that the UX
         | falls when you're trying to work with menus across multiple
         | monitors.
         | 
         | Perhaps the right mix is doing something like the Chrome extras
         | menu or if you've used VS Code on the web, where you have a
         | small hamburger or (...) button that opens a context menu. Then
         | you still have a menu for the application, but it's hidden
         | until you need it.
        
         | lloeki wrote:
         | > in a world of multi-monitor setups and common cross
         | application workflows, I find it absolutely bizarre that I
         | might have to scroll across 2+ monitors to get to a dropdown
         | menu for an application that I'm using
         | 
         | These days the menubar is always on all displays, not just the
         | main one?
         | 
         | (unless maybe you have "Displays use separate Spaces"
         | unchecked?)
        
       | idle_zealot wrote:
       | I daily drive this and my verdict is: it's the best way to manage
       | windows on a Mac, but falls short of i3/sway. In particular,
       | support for re-arranging windows by dragging them to positions
       | relative to one another is extremely limited in that it's not
       | able to create new vertical or horizontal splits the way you can
       | in sway, which forces me to take awkward detours with keyboard
       | commands to get to the window layout I want most of the time.
       | Like, say I have two windows side-by-side, and I want to split
       | one of them vertically. In sway I'd pop open the new window, then
       | drag it to the top or bottom half of the window I want it to
       | share horizontal space with, and bam, all done. With aerospace
       | the best way I've found to do this is to open the new window,
       | then switch all three windows into a vertical stack, then focus
       | the window that was originally on the left and invoke the 'move
       | left' command on it.
        
         | nbobko wrote:
         | If you have normalizations enabled, you don't need to "switch
         | into a vertical stack"
         | 
         | Given this layout:                   h_tiles         +--
         | window1 (focused)         +-- window2         +-- window3
         | 
         | `move left` will produce this layout:                   h_tiles
         | +-- window1 (focused)         +-- v_tiles             +--
         | window2             +-- window3
        
           | idle_zealot wrote:
           | Ah, so it does. I suppose this is an instance of my mental
           | model not having adjusted.
        
             | squigz wrote:
             | For what it's worth, this video from i3 really helped me
             | visualize how i3 and related WMs deal with windows -
             | https://www.youtube.com/watch?v=AWA8Pl57UBY
        
         | j45 wrote:
         | Thanks, I will try it out to see if it can first solve my main
         | problem - I'm looking for a way on Mac for it to reasonably
         | remember the screen layouts.
         | 
         | Every time it wakes from boots, the desktop has complete
         | amnesia with 3 screens.
         | 
         | Ideally I'd be able to drive my own workspaces, and it can use
         | the laptop screen only, or 2 or 3 external monitors at
         | different desks (work and home).
        
           | tln wrote:
           | I've resorted to running a shell script every time I plug in.
           | 
           | displayplacer "id:... res:2048x1330 hz:120 color_depth:8
           | enabled:true scaling:off origin:(0,0) degree:0" "id:...
           | res:3840x2160 hz:30 color_depth:8 enabled:true scaling:off
           | origin:(-918,-2160) degree:0"
           | 
           | displayplacer is very easy to set up and also gives you
           | access to modes that you can't access with System
           | Preferences.
        
           | xyst wrote:
           | The days of "it just works" is long gone.
        
           | ghotli wrote:
           | I use Rectangle on macos for this exact use case. Used to use
           | Yabai but now Rectangle is my daily driver for this sort of
           | thing. I'm going to try this one out but global hotkeys for
           | my windows snapping to the right spots when I plug my laptop
           | in is hard to give up
        
       | gbhdrew wrote:
       | Just want to say a huge thanks to the dev(s) here, you've
       | basically solved my major pain points with macOS window
       | management (especially around apple's infuriatingly broken
       | implementation of virtual desktops). This stuff has been gnawing
       | away at my sanity for years
        
       | jackhalford wrote:
       | I'm currently in using sway on fedora, I'm considering moving to
       | macOS because of tighter integration of icloud (everything is on
       | my iphone) and generally better polish of the OS. This is another
       | reason to switch
        
       | ftio wrote:
       | Cool YouTube video, but: my kingdom for a screenshot!
       | 
       | Product looks amazing. I use Divvy but will definitely try out
       | AeroSpace. Great name too.
        
       | jaimehrubiks wrote:
       | Is there any documentation for very beginners on how a regular
       | workflow would be? Like, if I have 7 windows opened, how do I
       | start organizing them with just shortkeys? I've found option+/ to
       | put all of them horizontally or vertically (alternating when
       | pressing twice), but not sure how to quickly make 1 of them
       | bigger or select just 2.
        
       | igorguerrero wrote:
       | This looks so awesome I gonna dust off my mac mini.
       | 
       | As a tiling wm user (Hyprland now) I always wonder how OSX users
       | claim they're that productive with all those alt+tabbin' I meant
       | cmd+tabbin'. Welcome to the 2010s guys!
        
         | vmladenov wrote:
         | Can you share any resources on learning to be productive with
         | tiling WMs? I have tried a few times and always bounce off of
         | them. I also find window overlapping to often be more intuitive
         | than forcing them to squeeze into a tile.
         | 
         | I internalized the swipe gestures (3 fingers left/right) early
         | on with OS X 10.6 snow leopard and then with the Mission
         | Control update (3 fingers up) I am basically always faster with
         | a trackpad than any keyboard "workspace" navigation.
        
       | gigatexal wrote:
       | It's like someone was thinking of me! I've been missing such
       | things on Mac. Toying with Yabai and others. Love seeing work in
       | this space.
        
       | peauc wrote:
       | Yabai was not working for me, Aerospace worked out of the box.
       | Great tool
        
       | AceJohnny2 wrote:
       | This looks very interesting. However, how do I create a new
       | container, to put a subset of windows in?
       | 
       | It's not clear to me from the example configs, either default or
       | i3-inspired. I've never used i3, though I did use AwesomeWM
       | extensively about a decade ago.
       | 
       | Edit: ah, the `join-with` command which is a superset of the
       | `split` command. In the default config, alt-shift-semicolon to
       | enter Service mode, then alt-shift-h/j/k/l for neighbor
       | selection.
        
       | danielfrg wrote:
       | I have been using Yabai for almost 1 year now. I had learned to
       | live with the transition between workspaces because I cant
       | disable SIP.
       | 
       | I just tried this. I love it. No SPI and no transitions, just
       | fast switching of apps. I will probably switch to this.
       | 
       | Thank you for your work!!
        
       | AceJohnny2 wrote:
       | Is it possible to display the current layout tree (of the current
       | workspace)?
       | 
       | As I'm learning to use this, I'm having trouble conceptualizing
       | how my windows are organized in the tree, and how I'm affecting
       | it.
        
       | filereaper wrote:
       | I use AutoFocus which gives focus-follows-mouse with AeroSpace
       | and its a good enough replacement for i3wm.
       | 
       | Extremely thankful for both projects.
       | 
       | https://github.com/synappser/AutoFocus
        
       ___________________________________________________________________
       (page generated 2024-06-06 23:00 UTC)