It's good to have more documentation on Zig by the community, but I'm gonna throw in a bit of criticism.
One major thing I appreciate about the official Zig Language Reference is that it is no-pagination single html page that I can ctrl+f https://ziglang.org/documentation/master/ I wish more projects published their docs like that.
When I read, my mouse is busy selecting different parts of the text that I'm thinking about.
1. I don't want to move my mouse off the text to click the "next" button.
2. I don't want to move my mouse off the text to expand TOC items.
3. I don't want to waste my time on switching between pages back and forth.
I prefer the raw text on a long scrollable, non-interactive page with TOC on the side.
Otherwise, great to see more guides on the Zig topic.
Well, you can't have different configs for different hosts. Other than that, I can't quickly recall what other limitations are, I see none. I really like the simplicity of the "pure git" approach.
My dotfiles repo dates back to 2018, I'm happy user of this git one-liner for the past 6 years.
Might be niche but for me - I have config files outside $HOME, I use a number of `.gitignore`-aware tools (tree, fuzzy finder), and I just don't like `git status` telling me I'm in a repo in any subdir of $HOME.
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
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
re 2: an added benefit of not using actual macOS spaces is that it seems (at least from my limited usage) to be much more reliable than yabai (not blaming yabai here, of course).
I also tried implementing an i3 like workspace numbering/creating on top of yabai - it was an uphill battle due to how limited native macOS space management is and I never finished, so thank you for creating AeroSpace :)
I actually use it in tandem with yabai now - I added an "exec-on-window-hide"[0] option similar to "exec-on-workspace-change", and use it to make the hidden windows transparent (and to make them visible again)[1].
I wonder if hooks like that would be a good way to have a nice middle-ground to let people who don't care as much about SIP to extend upon AeroSpace's model?
I'll probably send over a pull request for your consideration soon.
> 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
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?
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
I'm curious whether you've figured out a good monetization strategy for Atuin. The article doesn't answer that question.
Like you said, you won't be paying your rent with sponsors any time soon, but you've already quit your job. Are you living on your savings, and trying to come up with valuable paid features meanwhile? Is it the plan?
Anyway, good luck with whatever you're up to! Building a good monetization strategy is hard
The architecture of AeroSpace is that on every user input that may change window configuration (new window created, window moved, window resized, new app launched, etc), AeroSpace runs the same idempotent operation (I call it "refresh session") that tries to detect new window, checks all invariants, re-layouts windows, etc.
The "refresh session" performs all the mentioned steps regardless of the user input nature (it doesn't matter whether the window is moved, or a new app is launched)
I believe that this architecture may lose windows only if the macOS API returns invalid data.
I have been using AeroSpace for quite a while myself and I'm happy with it
Just tried it and my initial impressions are hugely positive. The main things missing that I frequently use like wrap around for focus and assigning applications to specific workspaces already have open issues that you've engaged on too!
I've been using i3 for over a decade now and hate using any computer that doesn't have it, been trying to find a suitable substitute for my work mac for ages. Amethyst, rectangle, magnet, yabai, each had its own problems. The virtual workspace idea is genius and solves some of the biggest issues with those alternatives. This is by far the closest thing to i3 on mac I've seen. Thank you so much for making this.
My suggestion: open up a way to take donations to the project, and/or sell a packaged version on the mac app store. I'd be happy to pay good money for this.
Very cool, looks great. Seems to hew pretty closely to i3 from what I could tell in the demo video. Will definitely give this a try. Thanks for your work on this!
One major thing I appreciate about the official Zig Language Reference is that it is no-pagination single html page that I can ctrl+f https://ziglang.org/documentation/master/ I wish more projects published their docs like that.
When I read, my mouse is busy selecting different parts of the text that I'm thinking about.
1. I don't want to move my mouse off the text to click the "next" button.
2. I don't want to move my mouse off the text to expand TOC items.
3. I don't want to waste my time on switching between pages back and forth.
I prefer the raw text on a long scrollable, non-interactive page with TOC on the side.
Otherwise, great to see more guides on the Zig topic.