nikitabobko / AeroSpace

AeroSpace is an i3-like tiling window manager for macOS
https://nikitabobko.github.io/AeroSpace/guide
MIT License
4.98k stars 75 forks source link

I have created a Raycast Extension #215

Closed limonkufu closed 1 month ago

limonkufu commented 3 months ago

Hi @nikitabobko ,

Thank you very much for the awesome window support that your app brings. I myself struggle a lot remembering shortcuts so I went ahead and created a small raycast application and menubar extension to help myself to search for things easily until it becomes muscle memory.

I don't know whether you'd like to mention in anywhere in the docs or so that I can contribute it the docs myself.

You can check it out here: https://www.raycast.com/limonkufu/aerospace

Let me know what you think and again thanks for the awesome app.

nikitabobko commented 3 months ago

Very cool, thank you! I'm glad to see such contributions

I don't know whether you'd like to mention in anywhere in the docs or so that I can contribute it the docs myself.

I'm 100% for mentioning all the cool stuff around AeroSpace. There is a special page for it https://nikitabobko.github.io/AeroSpace/goodness

I've mentioned the extension in the docs https://github.com/nikitabobko/AeroSpace/commit/22c958fb9a87b8a540559fbb2fef4f58e0cef983

Feel free to submit a PR if you prefer a different wording/advertisement

It will appear on the site when I rebuild the site


Note 1. I've left a few questions in the Raycast PR https://github.com/raycast/extensions/pull/12122

Note 2. I notice that you parse the ~/.aerospace.toml file by yourself in the extension (and users also need to manually pick the location of the file).

Would the extension benefit from CLI commands that allow querying AeroSpace config state? I can introduce "plumbing" commands like aerospace list-bindings --mode <mode>, aerospace list-modes. The commands can be made to output the data in JSON format with --json flag for easier consumption by the extension

Note 3. I notice that you try to run command by triggering the bindings with AppleScript. It's fragile and it didn't work on my machine:

image

I can introduce the CLI command to run aerospace commands by bindings. Like aerospace trigger-binding alt-1. Will it be possible for the extension to use those commands? WDYT?


Again, thank you!

limonkufu commented 3 months ago

Yes I can make those changes so that I can use aerospace itself properly instead of AppleScript or parsing the config file. That would be great 👍 I was at unease since I wasn't using aerospace itself at all in the extension

May i also ask a cli command to print out the path of the config file ? I probably wouldn't need it if i can use AeroSpace itself but it would be nice still

limonkufu commented 3 months ago

I am glad you like it 😊 Also, i will reply to your comments on the MR and improve it 👍

nikitabobko commented 3 months ago

0.11.0-Beta comes with the following:

You can use (1) and (2) to validate the config without reloading it https://github.com/raycast/extensions/pull/12122#discussion_r1602676990

limonkufu commented 3 months ago

@nikitabobko Great! I think I can push a new version during next week and will ping you in the new MR :)

nikitabobko commented 2 months ago

@limonkufu please note that 0.12.0-Beta comes with the breaking change for config command. Output format is slightly different

https://github.com/nikitabobko/AeroSpace/commit/fdc143c71fca94c65c1d21eefea81c51b851a901

Since Raycast extension doesn't depend on this API yet, I think it's fine to break it

The new output better aligns with future embedded shell-like combinators https://github.com/nikitabobko/AeroSpace/issues/278

limonkufu commented 2 months ago

@limonkufu please note that 0.12.0-Beta comes with the breaking change for config command. Output format is slightly different

https://github.com/nikitabobko/AeroSpace/commit/fdc143c71fca94c65c1d21eefea81c51b851a901

Since Raycast extension doesn't depend on this API yet, I think it's fine to break it

The new output better aligns with future embedded shell-like combinators https://github.com/nikitabobko/AeroSpace/issues/278

Thanks for letting me know. I had some personal issues but i will update the plugin this week 👍👍