Skip to content

Releases: atoslins/omarchy-plugin-dualsense

Release list

DualSense 1.1.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 15:48

After updating, restart the shell (omarchy restart shell): it keeps the
panel code it already loaded until it restarts.

Fixed

  • The live input tester kept reading the first controller after switching
    in the picker
    (#1).
    A running Quickshell Process keeps the command it was started with, so the
    tester stayed on the old --device; it now restarts on the controller you
    pick, and on the one the panel falls back to when the selected one
    disconnects. Reported, with the fix, by
    @rhwaddell.
  • Test rumble needed hidraw access it does not use. Force feedback goes
    through the gamepad's input node, which the logged-in user can open without
    the udev rule, but the helper opened the hidraw node first and failed with
    "permission denied". dualsense-ctl rumble, the rumble IPC and the
    panel's Test rumble button now work without the rule.
  • omarchy-shell atoslins.dualsense trigger <effect> failed while the
    triggers were unlinked
    ("Same effect on both triggers" off): it asked the
    helper for an unknown triggers.both.effect key. It now sets both triggers.
  • Helper errors are one readable line instead of a Python traceback. A
    null, list or boolean for a numeric profile key now says
    <key> must be a number; bluetoothctl timing out during Reconnect
    moves on to the next controller and ends in the PS-button advice; and a hung
    bluetoothctl disconnect times out after 10 s instead of holding up every
    action queued behind it in the panel.
  • Settings written with omarchy bar set were misread. Without --json
    the value is stored as text, so notifications false kept notifications on
    and hideWhenDisconnected true did nothing. Switches now take
    true/false, on/off, yes/no and 1/0, as text or JSON;
    pollSeconds is kept within 1–3600 (0 used to poll non-stop) and
    lowBattery within 0–100.

Changed

  • With no controller connected the widget checks once a minute instead of
    every 5 s.
    Each check is a Python process costing about 55 ms of CPU. A
    controller that connects still shows up at once through the udev monitor,
    which is now restarted if it ever exits.
  • New installs land in the right section of the bar.
  • dualsense-ctl --version reads the version from manifest.json, the only
    place it is written now; 1.0.1 and 1.0.2 had shipped a helper that still
    said 1.0.0.
  • The preview image is a 2:1 banner.

Added

  • The Info tab shows the plugin version.
  • Tests for the helper, the udev installer and the manifest, run by CI on
    every push, and a release flow: every version is tagged vX.Y.Z and
    published as a GitHub release with its notes from this file.