ianyh / Amethyst

Automatic tiling window manager for macOS à la xmonad.
https://ianyh.com/amethyst/
MIT License
14.86k stars 487 forks source link

Ability to change all keybindings using `mod1` and `mod2` #1225

Open farzadmf opened 2 years ago

farzadmf commented 2 years ago

Is your feature request related to a problem? Please describe. I see Amethyst's plist file allows configuring mod1 and mod2 bindings, but they don't seem to have any effect

Describe the solution you'd like I like to be able to change, say, mod1 using the following command:

defaults write com.amethyst.Amethyst mod1 -array option shift command

And after, when I restart Amethyst, the keybindings using mod1 should now include cmd as well (in addition to the default is option + shift) I mean that, in the preferences window, the Shortcuts section should now refelect the change

Describe alternatives you've considered I tried changing the setting using different order of keys (option shift command, option shift cmd, or command option shift), but none of them seem to change anything.

Additional context Please let me know if there's any other information I can provide

seinmon commented 2 years ago

Actually defaults command does change the preferences file, but apparently Amethyst doesn't read modifier keys from the user defaults (I'm a new user, I don't know if it's due to a recent change or what). You can just change the key combinations from option shift control key to command shift option key in the Shortcuts section.

farzadmf commented 2 years ago

You can just change the key combinations from option shift control key to command shift option key in the Shortcuts section.

That's true, and I was doing that, but then I saw the mod1 and mod2 settings in defaults. Changing each shortcut individually is tedious; it was nice if the shortcuts would be "relative" to what you set as mods (that's how i3wm does it), and I was happy when I saw those options, but then the excitement died 🙁

norman-zon commented 2 years ago

That would absolutely be a much needed timesaver

farzadmf commented 2 years ago

I'm not sure what the state of the project is. I get the feeling that it's in "maintenance mode, but PRs are welcome", but usually that's clearly mentioned somewhere in the README, so maybe it's just me thinking like that.

zhisme commented 2 years ago

and what is current workaround to modify mod1 mod2? I didn't find any docs or mentions in README. You mentioned plist, but which one and how to modify it correctly?

farzadmf commented 2 years ago

You mentioned plist, but which one and how to modify it correctly?

Not sure who is the question for, but as far as I'm concernced, that's an unsolved issue and that's why I created the issue in the first place 🙁

And FWIW, I switched to yabai a few days after creating this issue, and, at least for now, it's working WAYYY much better than Amethyst, in my experience

zhisme commented 2 years ago

@farzadmf yeah, forgot to mention you somehow, but yep that was for you 😄 I also found that this app seems like forgotten and dropped it. many unexpected behaviour with tiling windows. I have used much awesome and dwm on linux systems, and this one cannot perform at the same level. thanks for mention of https://github.com/koekeishiya/yabai, will try it out

farzadmf commented 2 years ago

I have used much awesome and dwm on linux systems

@zhisme Yup, I myself have been (well, had been) an i3 user, and I was like "what is happening here? Is this supposed to be similar to i3???"

But yeah, in my experience, as I mentioned, yabai has been much closer to what I expect. You can configure everything in code etc., and it seems to have more predictable behavior (and I guess if you'd have the luxury of disabling SIP, then it would have many more features)

The only heads-up (at least what's happening for me): for some reason, yabai seems to have issues with Web pages that are JavaScript heavy (I think that's the common ground between the situations that happen), but, for example, in Chrome, when I go to Gmail, my Chrome freezes and I have to foce quit.

I personally have created a shortcut to stop yabai when I want to go to those pages, but sometimes I forget and well, boom!

There are some discussions in there about PWA web apps, but I've seen it in sites that I don't think are PWA, but only JavaScript heavy

Also, I've heard that it doesn't happen in Chrome Canary, but I'm too lazy to try to install that 😆

DaniaRepublic commented 2 weeks ago

They have a solution with config files in docs now https://github.com/ianyh/Amethyst/blob/development/docs/configuration-files.md

farzadmf commented 2 weeks ago

Thank you @DaniaRepublic ; it's been quite a while that I used Amethyst.

I was using yabai, but recently I switched to AeroSpace, and I'm quite happy with it