Potential internal restructuring
- Dominant language
- C
- Stars
- 8.1k
- Forks
- 241
- PR merge metrics
- No merged PRs in 30d
Description
I have had the following thoughts for some time now, and am debating whether I should do the changes listed below:
- Implement support to differentiate between commands that run on key-down, repeat, and release events.
- Implement mouse-down, up events.
- Add IPC mechanism to query current state and/or all state. This includes current available hotkeys (based on the active mode), or all modes with the hotkeys they provide. Probably json output for best integration with external tools.
- Utilize above IPC mechanism to synthesize hotkeys so that we don't need to take the overhead of process startup to simply synthesize a key. This will also allow the option to pass some kind of flag that makes skhd *not capture* the event it posted, so that key-remapping becomes more feasible than it currently is.
- I want to revise the syntax used to define hotkeys.
This might end up with me just starting from scratch and replacing the current files in the repo with a new version, eventually, as the planned changes pretty much call for a complete rewrite. The plan is to persist all current features somehow, but the syntax is probably going to be somewhat different.
Contributor guide
No contributing guide indexed for this repository
Research direction
Review the current hotkey event handling, command syntax, and process or IPC entry points before choosing a direction. The issue proposes event differentiation, mouse events, state-query IPC, synthesized hotkeys, and revised syntax, while preserving existing features; done would require an agreed design and a complete rewrite or restructuring implementing that scope.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, macos
- Domain
- cli, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100