asmvik / asmvik/skhd

is there a such thing as 'no modifier'?

Open
#164 2 comments 5 reactions 0 assignees View on GitHub
Dominant language
C
Stars
8.1k
Forks
241
PR merge metrics
No merged PRs in 30d

Description

Coming from i3/sway, I am use to entering "resize mode" by pressing `mod - r` at which point 'hjkl' act as resize modifiers. This was nice as I didn't have to hold down any modifier keys while adjusting my window sizes.

I was able to get `modes` figured out with skhd (to enter resize modes) but it seems all shortcuts still require you press and hold a modifier key. Just wonder if there was as way to stipulate 'no modifier' somehow so you can do stuff like:

```
# resize mode
:: default
:: grow
:: shrink

alt - r ; grow
grow < alt - r ; default

shift + alt - r ; shrink
grow < shift + alt - r ; default

# resize managed window
grow < h : yabai -m window --resize left:-20:0
grow < l : yabai -m window --resize right:20:0
grow < j : yabai -m window --resize bottom:0:20
grow < k : yabai -m window --resize top:0:-20

shrink < h : yabai -m window --resize left:20:0
shrink < l : yabai -m window --resize right:-20:0
shrink < j : yabai -m window --resize bottom:0:-20
shrink < k : yabai -m window --resize top:0:20
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with skhd's mode syntax and the configuration examples in the issue, then trace how shortcuts are parsed and matched inside the daemon. Done means a mode can bind h, j, k, and l without a held modifier while retaining the shown grow and shrink transitions.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, macos
Domain
cli, operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.