Repository navigation
Releases: nictonus/mxoptions
Release list
MX Options 0.10.0 beta 3
Third beta of 0.10.0. Two large things: the Linux program no longer needs KDE Plasma, and there is a first build for Windows.
This is a beta. What was and was not tried is set out below and in the README; reports are welcome.
Linux without KDE Plasma
- The ready actions for windows and the desktop (overview, close window, desktops, screenshots, lock, …) are now done the way each desktop does them: KDE's shortcuts on Plasma, GNOME's key combinations,
swaymsgandhyprctlon sway and Hyprland, the usual combinations elsewhere. What a desktop cannot do is not offered there. Settings made on KDE keep working. - The Actions Ring also opens on X11, and on GNOME (through the session's X server, without taking the focus).
- Flow watches the screen edge on X11 and on layer-shell compositors too, and carries what was copied through Qt (X11) or wl-clipboard where KDE's clipboard service is not there. On GNOME under Wayland the edge cannot be watched: use the Move to the other computer action.
- The window tells you when other mouse software (logiops, Solaar) is running alongside.
mxoptions --call PlayHaptic knock,mxoptions --call Battery, …: the interface for other programs, without a D-Bus tool.
Run on KDE Plasma 6 (Wayland) with an MX Master 4. The X11 ways were run in a virtual X server only; nothing was run on GNOME, sway, Hyprland or an X11 desktop itself.
Windows (in progress)
mxoptions-0.10.0b3-setup.exe installs for your user without administrator rights; mxoptions-0.10.0b3-windows.zip is the same program as a folder. Neither is signed, so Windows asks before running them.
Logi Options+ has to be out of the way, service included, or the two undo each other's settings (administrator's PowerShell):
Stop-Service OptionsPlusUpdaterService; Stop-Process -Name logioptionsplus_agent, logioptionsplus_appbroker -ForceTried on Windows 11 with an MX Master 4 on Bluetooth: finding the mouse and its settings (pointer speed, wheel mode, vibration, Easy-Switch), sending keys, text, clicks and scrolling, the Actions Ring, screen brightness, the installer, and Flow with a Linux computer (the mouse, text, files and folders, both ways, by the action and by pushing past the screen edge).
Game rumble needs the ViGEmBus driver on Windows; with it, what a test program sent to the virtual controller through XInput was played on the mouse. Not tried: gestures and the wheels by hand, the Bolt receiver, and rumble in a game itself.
Files
mxoptions-0.10.0b3-setup.exe |
Windows installer |
mxoptions-0.10.0b3-windows.zip |
Windows, as a folder |
mxoptions_0.10.0.b3-1_all.deb |
Debian 13, Ubuntu 25.04 and newer (not installed on either by the author) |
mxoptions-0.10.0b3-py3-none-any.whl |
Python wheel |
Arch users: make install-user from the source, as before.
MX Options 0.10.0 beta 2
Beta. Not fully tested — see the list at the end. The last stable release is 0.9.0. Computers that use Flow together all need this same version.
Flow
- Three computers. A computer can have another one on two of its sides, so three in a row share one mouse. Pair the middle one with each of the others.
- Files travel on a connection of their own, with progress and a cancel button on the Flow page; small ones arrive at once. The clipboard of the computer you arrive on is left alone until they are all there, and the mouse then gives a vibration of your choice.
- Poor networks. Text and pictures are confirmed and sent again if the link failed them; a network that stalls for a while no longer drops the link; a computer that does not answer is not sent the mouse.
- The edge: how many millimetres the mouse has to be pushed past it, how much of the corners stays free, whether a full-screen window keeps the mouse.
- Faster hand-over to a computer on Bluetooth: the app is ready about 1.5 s sooner after the mouse arrives.
- The computers agree by themselves on who stands where, and the Flow page shows them as a picture.
Also new
- Shapes. Sixteen figures drawn with a gesture button held (corners, there and back, circles, shakes), each with its own action.
- Game rumble. A virtual gamepad whose rumble is played on the mouse's haptic motor (Haptics → Game rumble, off by default).
- Other mice. The battery of mice before the MX Master 3S, a plain drawing for models there is no picture of, and a tray icon in five styles.
- Packages. A
.debfor Debian 13 and Ubuntu 25.04 or newer (below), and a spec file for Fedora inpackaging/rpm.
Installing
- Debian, Ubuntu:
sudo apt install ./mxoptions_*_all.deb, thensystemctl --user enable --now mxoptions.service. - Arch and others: from the source,
make install-user && make enable(see the README), or the wheel below.
What has and has not been tested
Tried between one desktop (Bolt receiver) and one laptop (Bluetooth), both on KDE Plasma 6 (Wayland): crossing at the edge, text and a small file both ways, pairing over the network.
Only run in the unit tests so far:
- Flow with three computers: no third computer was at hand;
- pictures between two machines, large files on this version, sending again after a failed link;
- shapes drawn by a real hand, and pairing through the settings page;
- the
.deband the RPM spec have not been installed on their distributions. They were made on Arch from the package lists those distributions publish. Please report what does not fit.
Game rumble was tried with a test program, not in a game. MX Master 3 and other mice were not at hand.
MX Options 0.10.0 beta 1
Beta. Not fully tested — see the list at the end. The last stable release is 0.9.0.
New: Flow
One mouse on two computers that both run MX Options. Push the pointer past the edge of the screen and the mouse moves on to the other computer, together with what you copied: text, pictures, files and folders.
- Pairing with a six-digit code. One computer shows it, the other finds that computer on the network and asks for it. The code is never sent (SRP-6a, RFC 5054); everything afterwards is encrypted (TLS 1.2, ECDHE-PSK).
- A page of its own, with a picture of how the two computers stand: click where the other one is.
- The edge can be tuned: how many millimetres the mouse has to be pushed past it, how much of the corners stays free, whether a full-screen window keeps the mouse.
- Files travel on a connection of their own, with progress and a cancel button, and are put on the clipboard of the computer you arrive on.
- Works with the mouse on a Bolt receiver and over Bluetooth. The screen edge, pictures and files need KDE Plasma; elsewhere there is the action Move to the other computer (Flow) and text.
Both computers have to run this same version. Ports: TCP 47846, UDP 47846, and TCP 47847 while a pairing code is on show. Details are in the README, under Flow.
Also new
- Firmware versions of the mouse and its receiver, with an update check through fwupd (the app flashes nothing itself).
- Captions moved behind small info buttons.
- Over Bluetooth the app now follows held buttons and the wheel, as it did on a receiver.
- The mouse is set up about four seconds sooner after login.
- The settings file is readable by its owner only.
Installing
No Arch package for this beta. Install from the source: make install-user && make enable (see the README), or use the wheel below.
What has and has not been tested
Flow was tried between one desktop (Bolt receiver) and one laptop (Bluetooth), both on KDE Plasma 6 (Wayland), on one slow Wi-Fi network. Crossing at the edge, text and small files worked there.
Only run in the unit tests or on a single machine so far:
- the separate connection for files, with progress and cancelling (written after a large file failed to arrive in the field);
- pictures between two machines;
- pairing through the settings page (the exchange itself was tried between the two machines);
- how the push past the edge feels, and the fix for the mouse bouncing back right after it arrives.
Nothing was tried outside KDE.
MX Options 0.9.0
First public version of MX Options: a settings app for Logitech MX Master mice on Linux, in the spirit of Logi Options+. Buttons, gestures, the Actions Ring, the wheels, haptics and Easy-Switch, with a tray icon, a background service and a D-Bus API for other programs. See the README for what it does and its known limits.
Written entirely by Claude, Anthropic's AI model. Developed and tested on one setup: an MX Master 4 on a Bolt receiver, KDE Plasma 6 (Wayland), an Arch-based distribution.
Installing
Arch Linux, CachyOS, Manjaro, EndeavourOS — download mxoptions-0.9.0-1-any.pkg.tar.zst below, then:
sudo pacman -U mxoptions-0.9.0-1-any.pkg.tar.zst
systemctl --user enable --now mxoptions.serviceThe package brings the device access rules, the menu entry and the service, and pulls in what it needs (pyside6, python-evdev, qt6-declarative, qt6-multimedia, layer-shell-qt).
Other distributions — install from the source archive below; it needs no root:
tar xf mxoptions-0.9.0.tar.gz && cd mxoptions-0.9.0
make install-user && make enableRequirements and the udev rules are described in the README.
The wheel (mxoptions-0.9.0-py3-none-any.whl) is for packagers and for trying the app in a Python environment. It carries only the program: no service, menu entry or device rules. A PySide6 installed by pip cannot see the system's layer-shell module, so the Actions Ring will not appear with it.
Before you start
Stop other software that drives the mouse (logid, Solaar): two programs redirecting the same buttons undo each other's settings.
SHA256SUMS lists the checksums of the files attached here.