[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