• v0.9.0 181c21b08c

    fedora-zenbook-duo-ctl v0.9.0
    All checks were successful
    build / verify (push) Successful in 38s
    release / rpm (push) Successful in 43s
    Stable

    Ghost released this 2026-06-20 20:21:34 +00:00 | 0 commits to master since this release

    Added

    • Daemon session D-Bus interface (org.zenbookduo.Daemon) publishing live
      keyboard-dock state; the Shell extension now shows a "keyboard docked"
      indicator and a keyboard-backlight slider driven by it.
    • Stylus libwacom tablet files so the pen is classified per panel.
    Downloads
  • v0.8.0 ad235c8e2c

    fedora-zenbook-duo-ctl v0.8.0
    All checks were successful
    build / verify (push) Successful in 39s
    release / rpm (push) Successful in 39s
    Stable

    Ghost released this 2026-06-20 20:04:03 +00:00 | 11 commits to master since this release

    Added

    • Expanded the test suite: coverage for the file/sysfs I/O helpers (charge-limit
      write with clamping, backlight read, USB dock parsing edge cases), an
      all-modules import smoke test, and more reconciler state-transition tests
      (96 tests total).

    Security

    • Supply-chain hardening: the CI base image is pinned by digest; ruff linting
      and desktop-file validation run as CI gates; and released RPMs now ship a
      SHA256SUMS checksum file for integrity verification.
    Downloads
  • v0.7.0 a7aa9059be

    fedora-zenbook-duo-ctl v0.7.0
    All checks were successful
    release / rpm (push) Successful in 30s
    build / verify (push) Successful in 37s
    Stable

    Ghost released this 2026-06-20 19:37:26 +00:00 | 17 commits to master since this release

    Added

    • zenbook-duo-control — a GTK4/libadwaita settings window for all options
      (backlight level, charge limit, scale, platform profile, and the toggles).
    Downloads
  • v0.6.0 0617349bf5

    fedora-zenbook-duo-ctl v0.6.0
    All checks were successful
    release / rpm (push) Successful in 36s
    build / verify (push) Successful in 46s
    Stable

    Ghost released this 2026-06-20 19:24:38 +00:00 | 24 commits to master since this release

    Added

    • GNOME Shell Quick Settings extension (zenbook-duo-ctl@jd.jdneer.com) with
      toggles for auto-rotate, brightness sync, bottom screen, and touch mapping
      (Shell 48/49/50).
    Downloads
  • v0.5.0 7b2040e861

    fedora-zenbook-duo-ctl v0.5.0
    All checks were successful
    build / verify (push) Successful in 28s
    release / rpm (push) Successful in 33s
    Stable

    Ghost released this 2026-06-20 19:13:46 +00:00 | 30 commits to master since this release

    Added

    • Battery charge limit (battery-charge-limit, 60–100%) applied via the kernel
      charge-threshold attribute (granted to the user with a tmpfiles rule), and
      platform power profile (platform-profile: quiet/balanced/performance) set
      through power-profiles-daemon — both with no root daemon.
    Downloads
  • v0.4.0 722664a6ba

    fedora-zenbook-duo-ctl v0.4.0
    All checks were successful
    build / verify (push) Successful in 23s
    release / rpm (push) Successful in 33s
    Stable

    Ghost released this 2026-06-20 18:53:04 +00:00 | 38 commits to master since this release

    Added

    • Map each touchscreen and stylus to its own panel (touchscreen-mapping) so
      touch lands on the screen you touch, disambiguating the two identical-EDID
      panels by connector name.
    Downloads
  • v0.3.0 1e8324fa6f

    fedora-zenbook-duo-ctl v0.3.0
    All checks were successful
    release / rpm (push) Successful in 32s
    build / verify (push) Successful in 35s
    Stable

    Ghost released this 2026-06-20 17:41:08 +00:00 | 45 commits to master since this release

    Added

    • Automatically rotate both panels together to match the accelerometer
      (auto-rotate), keeping the bottom panel positioned relative to the top, and
      disabling GNOME's own auto-rotate so the two don't fight.
    Downloads
  • v0.2.0 42c8db182c

    fedora-zenbook-duo-ctl v0.2.0
    All checks were successful
    build / verify (push) Successful in 34s
    release / rpm (push) Successful in 42s
    Stable

    Ghost released this 2026-06-20 16:58:07 +00:00 | 57 commits to master since this release

    Added

    • Automatically turn the bottom screen off when the keyboard is docked and back
      on when detached (bottom-screen-auto, monitor-scale), via gdctl.
    • Mirror the top panel's brightness onto the bottom panel (brightness-sync),
      set through logind with no root.
    Downloads
  • v0.1.1 8d004f05d0

    fedora-zenbook-duo-ctl v0.1.1
    All checks were successful
    build / verify (push) Successful in 27s
    release / rpm (push) Successful in 33s
    Stable

    Ghost released this 2026-06-20 15:10:41 +00:00 | 70 commits to master since this release

    Documentation

    • Document the uninstall lifecycle in the README — disable the zenbook-duod
      user service before dnf remove, the live-session stop caveat, and the
      optional dconf cleanup.
    Downloads
  • v0.1.0 7b6bc0f7b5

    fedora-zenbook-duo-ctl v0.1.0
    All checks were successful
    build / verify (push) Successful in 46s
    release / rpm (push) Successful in 44s
    Stable

    Ghost released this 2026-06-20 14:51:23 +00:00 | 72 commits to master since this release

    Initial release — a user-session daemon that controls the ASUS Zenbook Duo
    (UX8406) keyboard backlight on Fedora/GNOME, with a fully automated,
    self-contained RPM build.

    Keyboard backlight

    • Sets the keyboard backlight level (0–3) over the vendor HID feature report,
      working in both docked (USB, PID 1bf2) and detached (Bluetooth, PID 1bf3)
      modes — the correct hidraw node is found dynamically by its 0x5A report
      descriptor, so the same path works on both transports.
    • Configurable via the org.zenbookduo GSettings schema
      (keyboard-backlight-level); the daemon applies changes live.
    • Idempotent reconciler: re-applies the desired level on startup, keyboard
      dock/undock, and config change, and writes only on an actual change.

    Daemon & system integration

    • Event-driven zenbook-duod daemon on the GLib main loop, with USB hotplug
      observed via a NETLINK_KOBJECT_UEVENT socket and dock state read from sysfs.
    • Runs as a user systemd service, enabled on install via a systemd user
      preset (auto-starts at the next graphical login). Hardware access is granted
      to the active session through a logind uaccess udev ACL — no root, no
      sudo, no group membership, no /etc/sudoers edits.
    • Zero third-party Python dependencies (standard library + PyGObject only).

    Packaging & CI

    • Self-contained, noarch RPM with a fully offline build; Requires only
      python3 and python3-gobject.
    • Two Forgejo Actions workflows (build verification, release) that use no
      external/marketplace actions
      — plain git checkout and a stdlib-only
      release helper authenticated by the built-in Actions token.
    • The RPM is attached to the Forgejo Release for each vX.Y.Z tag; release
      notes are generated from this CHANGELOG.md (with a commit-log fallback).
    Downloads