What this project does
It adds an MX3 Control tile to GNOME Quick Settings and lets you start, stop, restart, and monitor the mx3 background process from the GNOME Shell UI.
A GNOME Shell extension that adds a Quick Settings control for the external mx3 daemon. It does not implement gesture handling itself. It controls the driver from your desktop session.
It adds an MX3 Control tile to GNOME Quick Settings and lets you start, stop, restart, and monitor the mx3 background process from the GNOME Shell UI.
This extension requires the mx3 executable from MX3 Linux Driver. Without that command, the extension loads but cannot control anything.
Install the driver first, confirm mx3 --help works in the same session where GNOME Shell runs, then install this extension to manage the daemon visually.
# 1. Install the driver first
mx3 --help
# 2. Install the extension
make install
# 3. Enable it
gnome-extensions enable mx3-control-gnome@enbonnet.github.com
If the extension is not listed immediately, log out and back in once so GNOME Shell refreshes its extension list.
On enable, the extension creates an Mx3Manager and refreshes status.
The manager resolves the mx3 executable from PATH or common install paths.
When started from Quick Settings, it launches mx3 --daemon --pid-file=/tmp/mx3.pid.
It reads /tmp/mx3.pid and checks /proc/<pid> to determine whether the daemon is still alive.
The Quick Settings tile updates to show Running, Stopped, or Error, with restart and preferences actions.
Single-click toggling for start and stop, plus submenu actions for restart and preferences.
The extension polls every 3 seconds and surfaces the last startup or runtime error in the menu.
Current preferences expose one setting: automatically start the daemon when the extension is enabled.
Device detection, gesture classification, configuration parsing, and virtual keyboard injection through /dev/uinput.
GNOME Shell integration only: Quick Settings UI, preferences, daemon launch, PID tracking, and error presentation.
mx3 binary is visible in the GNOME session.mx3 missingIf the tile reports an error immediately, confirm mx3 --help works in a terminal inside the same desktop session.
If the driver cannot open /dev/uinput, fix the driver installation and host permissions first. The extension cannot solve system device access issues.
make pack
./run-headless-test.sh
# optional visual test
./run-visual-test.sh
The documented working approach for recent GNOME Shell versions in this repository is gnome-shell-test-tool.