13 releases

0.2.2 Oct 17, 2024
0.2.1 Dec 17, 2023
0.2.0 Nov 5, 2023
0.1.8 Sep 6, 2022
0.1.4 Mar 21, 2022

#1322 in Filesystem

Download history 137/week @ 2024-07-20 137/week @ 2024-07-27 131/week @ 2024-08-03 261/week @ 2024-08-10 256/week @ 2024-08-17 183/week @ 2024-08-24 54/week @ 2024-08-31 103/week @ 2024-09-07 217/week @ 2024-09-14 205/week @ 2024-09-21 61/week @ 2024-09-28 133/week @ 2024-10-05 513/week @ 2024-10-12 237/week @ 2024-10-19 84/week @ 2024-10-26 80/week @ 2024-11-02

941 downloads per month
Used in 2 crates

BSD-3-Clause

98KB
2K SLoC

LeftHK

LeftHK - A hotkey daemon written in Rust

THIS IS BETA SOFTWARE

The configuration file should be created in ~/.config/lefthk/ and called config.ron. If the configuration file is not created the program will exit. Example config:

#![enable(implicit_some)]
Config(
    default_modifier: ["Mod4", "Shift"],
    keybinds: [
        Keybind(
            command: Execute("st -e htop"),
            key: Key("x"),
        ),
        Keybind(
            command: Executes(["st -e htop", "st -e bpytop"]),
            key: Keys(["x", "m"]),
        ),
        Keybind(
            command: Chord([
                Keybind(
                    command: Execute("st -e htop"),
                    modifier: ["Mod4"],
                    key: Key("c"),
                ),
            ]),
            modifier: ["Mod4"],
            key: Key("c"),
        ),
    ]
)

Reload, Kill, Chord, and ExitChord are the only internal commands. To run a normal command you need to call Execute or Executes, with the added value or values of the command. A chord can accept any amount and type of extra keybinds, which when started blocks previous keybinds and will exit once a sub-keybind is executed. A Chord will take the ExitChord set within it first, then if not set it will take the ExitChord from its parent (e.g. a Chord within a Chord will take the ExitChord from the previous Chord). There is a pipe which receives commands through $XDG_RUNTIME_DIR/lefthk/commands.pipe, currently only accepts Reload and Kill.

Dependencies

~6–15MB
~182K SLoC