Skip to content

skhd -t produces inconsistent result with short strings #31

@myelsukov

Description

@myelsukov

Describe the bug
I am observing inconsistent results while using skhd -t with short strings. In most cases skhd emits shorter substring of the short string.

To Reproduce
Steps to reproduce the behavior:

  1. My hotkey configuration that causes the issue:
ctrl+shift - s : skhd -t "12345678 "
  1. The application I'm trying to use the hotkey in:
    Any text input.

  2. What happens when I press the hotkey:
    When I am trying to print "12345678 " the result is very stable, but the shorter is the string the less stable are results. for example "12345 " almost never is printed correctly. In most cases it is printing 12

  3. Any error messages in the log /tmp/skhd_$USER.log (this is usually the configuration error):

No errors in the log.

Expected behavior
The result should be stable for strings of any length.

Debug Information
Please provide debug logs by following these steps:

For the string "123456 " the output was 123456 12123456 123456 123456 123456 123456123456123456
For the string "12345 " the output was 121212121212

The log:

info(skhd): Initializing skhd with config: /Users/test-user/.config/skhd/skhdrc
info(skhd): Using shell: /opt/homebrew/bin/bash
info(skhd): Initial process: kitty
info(main): Using config file: /Users/test-user/.config/skhd/skhdrc
info(main): Hot reload enabled
info(skhd): Enabling hot reload...
info(skhd): Watching main config: /Users/test-user/.config/skhd/skhdrc (resolved to: /Users/test-user/.dotfiles-stow/Darwin/.config/skhd/skhdrc)
info(skhd): Hot reload enabled successfully
info(skhd): Starting event tap
info(skhd): Event tap created successfully. skhd is now running.
debug(skhd): Found hotkey: 'lshift + lctrl - s' for process: 'terminal' in mode 'default'
debug(skhd): Executing command 'skhd -t "123456 "' for process terminal
debug(skhd): Found hotkey: 'lshift + lctrl - s' for process: 'terminal' in mode 'default'
debug(skhd): Executing command 'skhd -t "123456 "' for process terminal
debug(skhd): Found hotkey: 'lshift + lctrl - s' for process: 'terminal' in mode 'default'
debug(skhd): Executing command 'skhd -t "123456 "' for process terminal
debug(skhd): Found hotkey: 'lshift + lctrl - s' for process: 'terminal' in mode 'default'
debug(skhd): Executing command 'skhd -t "123456 "' for process terminal
debug(skhd): Found hotkey: 'lshift + lctrl - s' for process: 'terminal' in mode 'default'
debug(skhd): Executing command 'skhd -t "123456 "' for process terminal
debug(skhd): Found hotkey: 'lshift + lctrl - s' for process: 'terminal' in mode 'default'
debug(skhd): Executing command 'skhd -t "123456 "' for process terminal
debug(skhd): Found hotkey: 'lshift + lctrl - s' for process: 'terminal' in mode 'default'
debug(skhd): Executing command 'skhd -t "123456 "' for process terminal
debug(skhd): Found hotkey: 'lshift + lctrl - s' for process: 'terminal' in mode 'default'
debug(skhd): Executing command 'skhd -t "123456 "' for process terminal
debug(skhd): Found hotkey: 'lshift + lctrl - s' for process: 'terminal' in mode 'default'
debug(skhd): Executing command 'skhd -t "123456 "' for process terminal
info(skhd): Config file has been modified: /Users/test-user/.dotfiles-stow/Darwin/.config/skhd/skhdrc .. reloading config
info(skhd): Reloading configuration from: /Users/test-user/.config/skhd/skhdrc
info(skhd): Configuration reloaded successfully
debug(skhd): No matching hotkey found for key: lcmd - tab, process name: kitty
debug(skhd): No matching hotkey found for key: lctrl - c, process name: terminal
debug(skhd): Found hotkey: 'lshift + lctrl - s' for process: 'terminal' in mode 'default'
debug(skhd): Executing command 'skhd -t "12345 "' for process terminal
debug(skhd): Found hotkey: 'lshift + lctrl - s' for process: 'terminal' in mode 'default'
debug(skhd): Executing command 'skhd -t "12345 "' for process terminal
debug(skhd): Found hotkey: 'lshift + lctrl - s' for process: 'terminal' in mode 'default'
debug(skhd): Executing command 'skhd -t "12345 "' for process terminal
debug(skhd): Found hotkey: 'lshift + lctrl - s' for process: 'terminal' in mode 'default'
debug(skhd): Executing command 'skhd -t "12345 "' for process terminal
debug(skhd): Found hotkey: 'lshift + lctrl - s' for process: 'terminal' in mode 'default'
debug(skhd): Executing command 'skhd -t "12345 "' for process terminal
debug(skhd): Found hotkey: 'lshift + lctrl - s' for process: 'terminal' in mode 'default'
debug(skhd): Executing command 'skhd -t "12345 "' for process terminal
debug(skhd): No matching hotkey found for key: lctrl - c, process name: kitty
info(skhd): Run loop exited

Environment

  • macOS version: Tahoe 26.3
  • skhd.zig version: v0.0.18-dev-daf52ea (debug)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions