Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/divanvisagie/wbindkeys
A wayland replacement for xbindkeys
https://github.com/divanvisagie/wbindkeys
linux wayland xbindkeys
Last synced: 4 days ago
JSON representation
A wayland replacement for xbindkeys
- Host: GitHub
- URL: https://github.com/divanvisagie/wbindkeys
- Owner: divanvisagie
- License: gpl-2.0
- Created: 2024-07-09T09:26:00.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-07-10T15:43:37.000Z (4 months ago)
- Last Synced: 2024-07-11T12:54:10.382Z (4 months ago)
- Topics: linux, wayland, xbindkeys
- Language: Rust
- Homepage:
- Size: 29.3 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# wbindkeys
A wayland replacement for xbindkeys🚧 **This project is currently under construction** 🚧
You can bind direct bash commands to some key combos but not all combos are supported or tested. Performance is also untested so you may find
tasks like app switching to be a little unsatisfactory.## Philosophy
While wbindkeys intends to replace xbindkeys, in the spirit of wayland being a replacement with a better API, wbindkeys will offer a new config file format that is easier to handle for both machines and humans alike.
wbindkeys uses lua for maximum configurability, because sometimes you need an if statement in your config.
## Installation and setup
### Install
Currently the only way to install wbindkeys is to build from source. You will have to build the binary and copy it to a bin directory of your choice.
```sh
./configure
make
cp target/release/wbindkeys ~/.local/bin
```You will then need to run both files in the scripts directory.
```sh
./scripts/permissions.sh
```### Config
Save the following config in a file named `init.lua` inside your configuration directory (typically found using the `$XDG_CONFIG_HOME` environment variable or defaulting to `~/.config/wbindkeys/`).
```lua
-- Run alacritty on ALT+T
bind("ALT+A", "alacritty")
bind("ALT+T", "flatpak run org.telegram.desktop")
```### Loading the Configuration
The config file is automatically loaded from the `config_dir()/wbindkeys/init.lua`. Make sure the configuration file exists, otherwise the application will panic.
## Roadmap to 0.1.0
- [x] Hook into wayland keyboard events
- [x] Get a binding to execute a print from a lua binding config
- [x] Execute the command
- [x] Fix for launching app in userspace on the users privilege level
- [ ] Implement and test full range of keymaps
- [ ] Debian installer## Development Setup
```sh
./configure
make
```