Skip to content
Indra55Public

About

A lightweight Rust daemon for trackpad gestures on Wayland compositor

Topics

Resources

Stars

151 stars

Watchers

2 watching

Forks

Repository files navigation

Bezel

Bezel turns the edges of your Linux trackpad into a configurable control surface. Bind 1–4 fingers independently: use one finger on the left edge for volume, two for brightness, and three for workspace controls.

bezel-teaser.mp4

Features

  • Taps, double taps, holds, eight swipe directions, and repeating slides.
  • Gesture Studio: a terminal wizard with gesture previews, 30 action presets, and custom commands.
  • Different bindings for each edge and finger count, with shared or per-binding sensitivity.
  • NixOS and Home Manager support, plus compatible legacy one-finger configuration.
  • Normal center touches remain available to your desktop.

Bezel requires Linux, Wayland, and a trackpad with type-B multitouch slots. Pinch/zoom and tap-then-swipe gestures are not implemented.

Install

curl -sSfL https://raw.githubusercontent.com/indra55/bezel/main/install.sh | bash

Run the same command to update. On first install, Gesture Studio helps you configure gestures and set up the service. Command tools such as wpctl, brightnessctl, and playerctl must be installed separately.

From source:

cargo install --git https://github.com/indra55/bezel

For NixOS and Home Manager, see the installation guide.

First setup

Add your user to the input group and reboot:

sudo usermod -aG input "$USER"

On NixOS, configure the input and uinput groups declaratively. See the guide for permissions and udev setup.

Bezel reads ~/.config/bezel/config.toml. To run Gesture Studio again from a cloned checkout:

./onboard.sh

The NixOS package also installs the onboard script under the bezel-onboard command.

A two-finger swipe on the left edge can control brightness:

[[bindings]]
zone = "left"
fingers = 2
gesture = "swipe_up"
action = "command"
cmd = "brightnessctl set 10%+"

If the installer or a Nix module already runs Bezel as a service, do not start another instance from your compositor.

Documentation

Read the full documentation for:

  • Installation, permissions, and first setup.
  • Gesture bindings, presets, and sensitivity settings.
  • NixOS and Home Manager configuration.
  • Autostart, on-screen notifications, and the web visualizer.
  • Device selection and troubleshooting.

The same guide is available in this repository. Configuration templates: TOML and Nix.

The guide describes the current main branch. Check releases for published binaries.

Contributing

Report a bug or suggest a feature. Include your Bezel version, compositor, trackpad model, and relevant logs when reporting a problem. Documentation improvements belong in docs/guide.md.

License

GPL-3.0-or-later.

About

A lightweight Rust daemon for trackpad gestures on Wayland compositor

Topics

Resources

Stars

151 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages