[ANNOUNCE] piper 0.8

Yaroslav Chvanov yaroslav.chvanov at gmail.com
Tue Sep 24 16:21:27 UTC 2024


piper 0.8 is out.

The list of interesting changes are:

- Use new APIs from libratbag v0.18. Older libratbag versions are not
  supported.
- Add debounce time and angle snapping changing.
- Fix remapping of first two keys on keyboards only allowing to set left
  and right mouse buttons.
- Reflect changes done with ratbagctl while Piper is running.
- Add resolution disabling.
- Add a text box for changing resolutions.
- Use single-key actions for simple macros if possible (important for
  ASUS and some Logitech devices).
- New images for following devices:
  - ASUS ROG Chakram X
  - ASUS ROG Gladius II Origin
  - ASUS ROG Gladius II Origin PNK LTD
  - ASUS ROG Harpe Wireless
  - ASUS ROG Keris Wireless
  - ASUS ROG Keris Wireless AimPoint
  - ASUS ROG Strix Carry
  - ASUS ROG Strix Impact II
  - ASUS ROG Strix Impact II Wireless
  - Glorious Model D
  - Glorious Model O/O-
  - Logitech G502 X Wireless
  - Logitech G502 X
  - Logitech G705
  - Logitech G Pro Keyboard
  - Logitech MX Anywhere 3B
  - Logitech MX Master 3S

See the full log at the end if you are interested in the details.

Ahmet Sait (1):
      Fix blank app icon issues with KDE application launcher

Andreas Grosse (1):
      Add Support for G502 X over USB

BigBoiMan123 (1):
      Add device image for ASUS ROG Keris Wireless AimPoint

Daniel Levi-Minzi (1):
      add svg for asus rog harpe wireless

Domefemia (3):
      Converted strings to f string
      Replaced multiple comparison with in function
      Removed unneeded stuff

Domenico (2):
      data: add svg for Glorious Model O/O-
      Added svg for logitech g303 se

Heimen Stoffels (2):
      po: update the Dutch translation
      po: update the Dutch translation

José Almeida (1):
      data: add svg for Logitech G Pro (X) keyboard

Julian Kandlhofer (1):
      allow remapping of first two buttons

Kyoken (10):
      resolutionspage: show available rates only
      data: add asus common svgs
      data: asus svgs symlinks
      data: fix name to fit libratbag
      implement key bindings feature
      show key name instead of code in button page
      show current key binding in list
      data: add rog strix impact 2 image
      Add "advanced settings" page with debounce time and angle snapping
      asus: add chakram x svg

LGTM Migrator (1):
      CI: add CodeQL workflow for GitHub code scanning

Maximiliano (1):
      Replace Quit buttons with normal close buttons (#770)

Nadeflore (1):
      Add svg for Logitech G705 Mouse

NkosenhleDuma (1):
      Update README.md - Using ninja test command

NorwayFun (1):
      po: add Georgian translation

PeakKS (1):
      Add support for G502-X Lightspeed

Peter Hutterer (5):
      ci: bump the test image to Ubuntu 22.04
      CI: bump some actions to newer versions
      meson.build: fix the ratbagd runtime check
      data: don't make the appstreamcli tool required
      flatpak: sync the flatpak JSON file with the one from flathub

Pierre-Clément Tosi (1):
      LedDialog: fix buggy effect duration slider

Stephan Lachnit (1):
      ResolutionRow Redesign

TCH (1):
      data: add SVG for Logitech MX Master 3S

Tobias Kortkamp (1):
      Fix tests for out-of-source builds

Vincent Verdier (1):
      Update French translation

Vitaly Zaitsev (1):
      Switched to gnome.post_install() to run post-installation actions. (#759)

Yaroslav Chvanov (83):
      data: sort SVGs by device names
      build: bump ratbagd DBus API version
      ratbagd.py: sync with libratbag
      ratbagd.py: sync with libratbag
      ratbagd.py: sync with libratbag
      ratbagd.py: sync with libratbag
      resolutionspage: disable report rate buttons instead of hiding them
      resolutionspage: disable the report rate button box if unsupported
      Use Gtk's Template class
      Remove now redundant calls to Template.init_template()
      leddialog: work-around title bar not being shown
      ui: require Gtk 3.22 in all UI files
      ui: regenerate all UI files using current Glade version
      ui: Replace `padding` properties with `margin` properties
      ui: use margin-start/end instead of margin-left/right
      ui: run gtk-builder-tool simplify on files
      ui: don't use deprecated GtkAlignment
      advancedpage: put profile changing into a helper
      advancedpage: do show_all() after at the end of widget initialization
      advancedpage: update settings on profile change
      mouseperspective: add a note on how to reorganize the code
      README: use proper file types in code snippets
      README: add testing commands
      resolutionrow: make the caller recreate the widget on profile switch
      build: remove the `tests` build option
      build: use black instead of flake8 for code formatting
      Format code base with black
      ratbagd.py: sync with libratbag
      build: add ruff for Python linting
      Automatically fix ruff warnings
      svg: call `startswith` with a tuple
      Remove all unnecessary `else` statements
      mousemap: chain exceptions
      advancedpage: shut up `module import not at the top` warning
      advancedpage: remove redundant init_template() call
      Ensure signal handlers get disconnected when GObject is removed
      mouseperspective: recreate the stack on profile change
      advancedpage: take profile in the constructor
      buttonspage: take profile in the constructor
      ledspage: take profile in the constructor
      resolutionspage: take profile in the constructor
      piper: add type hints where possible
      build: bump minimal ratbagd version for runtime dependency checks
      piper: fix optional access warnings
      ratbagd.py: make profile dirty if angle snapping or debounce time change
      buttonsdialog: implement button disabling
      Move report rate changing from ResolutionsPage to AdvancedPage
      ui: fix a position property
      devicerow: show device firmware version near it's name
      ratbagd.py: sync with Piper
      mouseperspective: fix wrong profile potentially being shown as dirty
      ratbagd.py: connect to notify::dirty of child objects in the profile
      piper: make util an explicit namespace
      ratbagd.py: remove LED types
      mouseperspective: update profile list when a profile is set to active
      ratbagd.py: add a helper for getting non-null values from D-Bus
      ratbagd.py: notify on external resolution changes
      resolutionrow: listen for external resolution changes
      ratbagd.py: update the report rate of the profile
      ratbagd.py: notify on report rate changes
      advancedpage: listen for external report rate updates
      mouseperspective: show the advanced page if report rates are supported
      ratbagd.py: use try-except when checking changed props on D-Bus
      ratbagd.py: notify about debounce time changes in the profile
      advancedpage: listen for external debounce time updates
      ratbagd.py: notify about external angle snapping value changes
      advancedpage: listen for external angle snapping value changes
      ratbagd.py: notify about external updates to LED properties
      ratbagd.py: sync with libratbag
      buttonspage: support BTN_* events in key-type button actions
      ratbagd.py: listen and notify about RatabgdProfile.Disabled changes
      piper: listen to notify::disabled on profiles
      mouseperspective: don't ever hide the `add profile` button in the list
      profilerow: don't allow "deleting" the active profile
      mouseperspective: enable `add profile` if at least one is disabled
      mouseperspective: enable the "commit" button if any profile is dirty
      piper: add more missing and fix wrong type hints
      piper: fix an optional access warning
      po: add the "advanced" page to translatable files
      resolutionrow: disable the "disable" button for the default resolution
      Refactor some easy typing issues
      buttondialog: simplify keyboard grabbing
      Piper 0.8

czinehuba (1):
      data: add Logitech MX Anywhere 3B

detiam (1):
      Add zh_CN translation

mistepien (1):
      data: add additional USB id for Logitech G102 (046d:c09d)

rpachon (1):
      add glorious model-d svg

sizzlesloth (1):
      Text box can be used to set DPI (#960)

Štěpán Šebestian (1):
      po: add Czech translation (#761)

git tag: 0.8

The libratbag project does not generate tarballs for releases, you can
grab one directly from github:

https://github.com/libratbag/piper/archive/0.8/piper-0.8.tar.gz
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/input-tools/attachments/20240924/1281141e/attachment-0001.sig>


More information about the Input-tools mailing list