Skip to content

v0.1.33

Choose a tag to compare

@github-actions github-actions released this 04 Nov 17:07
· 21 commits to main since this release

Two things the GUI can now do about running in the background, both proposed as designs and reviewed before any code was written, by @martingem.

A warning when the battery gets low

A wireless mouse now says so once per discharge, through the desktop's own notifications. Off by default; the threshold is yours, in 5% steps from 5 to 50, on the Tools page.

It warns once and then stays quiet until the mouse is charged back above the threshold — a mouse sitting at 19% does not warn again every minute, and the tray and the command line do not warn twice about the same mouse. "Keep the warning until I dismiss it" asks the desktop not to expire it, at normal urgency, so it still respects Do Not Disturb.

Nothing polls the mouse for it. It uses the battery reading the tray already takes once a minute, so a warning costs no extra USB traffic and no extra chance of waking a mouse out of its own power-saving sleep.

Start in the tray on login

Start in Tray, under Start on Login on the Tools page, leaves the window closed at login and brings up only the tray icon. Clicking the icon opens the window, and so does launching the app from the start menu — the flag goes only into the autostart file, so Exec=pulsar-mouse-gui from the menu behaves exactly as before.

A session with no tray host is handled rather than assumed away. Nothing owns org.kde.StatusNotifierWatcher on a desktop without one, so the app looks four times across about two seconds — the panel often takes that name a second or two after autostart runs — and opens the window if nobody claims it. No mouse at all opens it immediately.

That work also fixed something older. A GUI started with no session bus at all opened a window that never read the mouse: the tray's 500 ms timer is what takes the first reading, starts the button listener and arms the battery poll, and a failed tray build took all three with it. It now runs either way.

Also

  • The tray no longer shows a polling rate it failed to write — a refused rate leaves the tick where the mouse actually is.
  • tools/nordic-snapshot.py labels record checksums and reads the shortcut table, so a diff no longer points at a byte that is only a checksum, or stops short of the records holding media keys. Found by @bluesceada.
  • The README no longer suggests usbhid.mousepoll for polling rate. It is in milliseconds and overrides the device, so that advice capped an 8K mouse at 1000 Hz; it now says how to check what your mouse already does.
  • The battery JSON at ~/.cache/pulsar-mouse/battery.json is written down as a contract, for panel widgets that read it.

Full attribution is in the README.