asmvik / asmvik/skhd

vim-like modal keybindings workflow

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

Description

Hello,

I wanted to share my `skhd` keybindings that I use with (SIP disabled) `yabai` to manage windows, launch apps, etc.
I am using `skhd` as a central place for triggering shortcuts.

https://github.com/nikhgupta/dotfiles/blob/osx/user/.config/skhd/skhdrc#L74-L128
^^ can be useful for VIM users. I can trigger my vim bindings using `SPACE` as leader and OSX bindings using `CAPS LOCK` as leader key.

However, I have one simple issue - when space does not have any windows, I can not display borders to know which modal state I am in.

- I searched for AppleScript to display an overlay screen, but could not find one.
- I, also, used `hammerspoon` but it had an issue that resulted in slow `yabai` commands.
- I can display this modal state via Alfred or Ubersicht, but if possible I would prefer to rely on `skhd`, and terminal commands alone.
- I can display a custom wallpaper with the current modal state as text for this purpose, but it's a bit complicated to setup.

If anyone has any ideas for displaying modal state or better yet, display cheat sheet for possible keybindings, please advise.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the linked skhdrc section at lines 74-128 and review how its leader-key workflows invoke skhd and terminal commands. Determine whether skhd alone can expose modal state or a keybinding cheat sheet without the mentioned external tools; document a concrete supported approach or confirm that this requires a separate integration.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, vim
Domain
desktop, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.