Skip to content

3L0C/wk

Repository files navigation

wk

wk is a popup menu for your custom keyboard shortcuts. Inspired by emacs-which-key, dmenu, and bemenu.

demo-basic.webm

Features

  • X11 and Wayland - take your workflow wherever you go
  • Custom scripting language - define key chords with wks, a purpose-built language designed to capture your simple and complex workflows
  • Themeable - customize colors, fonts, borders, and padding
  • Flexible input - compile key chords into the binary, load from a file, or pipe via stdin for dynamic scripting

Documentation

Full documentation is available at 3l0c-wk.readthedocs.io.

Video Demos

Prefer to watch a demonstration rather than read the docs? Check out the video walkthrough series covering wk basics and beyond here. You might want to watch at 1.5-2 times speed :).

Installing from source

Dependencies

Build dependencies include:

  • C compiler
  • make
  • pkg-config
  • wayland-scanner (if building with Wayland support)
Backend Dependencies
Common cairo, pango, pangocairo
X11 x11, xinerama
Wayland wayland-client, wayland-protocols, xkbcommon
Arch
sudo pacman -S base-devel cairo pango libx11 libxinerama wayland wayland-protocols libxkbcommon
Fedora
sudo dnf install gcc make pkg-config cairo-devel pango-devel libX11-devel libXinerama-devel wayland-devel wayland-protocols-devel libxkbcommon-devel
Ubuntu / Debian
sudo apt install build-essential pkg-config libcairo2-dev libpango1.0-dev libx11-dev libxinerama-dev libwayland-dev wayland-protocols libxkbcommon-dev
openSUSE
sudo zypper install gcc make pkg-config cairo-devel pango-devel libX11-devel libXinerama-devel wayland-devel wayland-protocols-devel libxkbcommon-devel
Void
sudo xbps-install -S base-devel cairo-devel pango-devel libX11-devel libXinerama-devel wayland-devel wayland-protocols libxkbcommon-devel

Building

git clone "https://github.com//3L0C/wk.git"
cd wk
make && sudo make install

See the installation guide for backend-specific builds, building with a custom wks config, and Nix instructions.

Contributing

Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.

Acknowledgments

This project would not be where it is without dmenu and bemenu. The Wayland runtime has been lightly adapted from bemenu. All credit goes to the people who work on that project for the code there.

About

wk is a popup menu for your custom keyboard shortcuts. Inspired by emacs-which-key, dmenu, and bemenu.

Resources

License

Stars

25 stars

Watchers

2 watching

Forks

Packages

 
 
 

Contributors