[ANNOUNCE] piper 0.2.900
Peter Hutterer
peter.hutterer at who-t.net
Fri Aug 25 04:46:58 UTC 2017
piper 0.2.900 is now available. This is a development snapshot, mostly to
show that things are happening and get new people involved with the project.
piper is the GTK application to interact with libratbag.
piper 0.2.900 needs an up-to-date libratbag, use libratbag 0.9.900.
As you can see by the shortlog, Jente Hidskes has been busy working on piper
during this release. This was part of this year's GSoC, and what a busy time
it has been. We started with the premise that the old piper's interface was,
uhm, suboptimal, and needed quite a bit of work. The whole UI was redesigned
and piper now looks much better for it.
Jente has a bunch of blog posts about the design process and the resulting
work, with the technical bits starting here:
https://hjdskes.github.io/blog/gsoc-part-3/
At this point, piper is mostly feature-complete except for the odd cases
here and there. We recently merged localization support as well, so we have
piper translations in Dutch, German and Polish already.
As above, this is a development snapshot only, expect things to move quite a
bit for the next full release. We have a few more changes to libratbag
coming up and since piper is tightly tied to the dbus interface it likely
will need changing too.
Cheers,
Peter
Benjamin Tissoires (2):
Add circle.yml
ratbagd.py: sync with libratbag
Jente Hidskes (179):
Port to Meson
Import ratbagd bindings
ratbagd: add missing properties, methods and capabilities
ratbagd: add support for DBus signals
ratbagd: add missing commas
Conform to PEP8 style guide
ratbagd: add RatbagdLed class
README: update
RatbagdResolution: add minres and maxres
Application: a Gtk.Application subclass
ratbagd: fix min and max res
RatbagdDevice: add commit method
ratbagd: add RatbagErrorCode enum
_RatbagdDBus: make dbus_{property, method} private
_RatbagdDBus: s/GLib.GError/GLib.Error
_RatbagdDBus: catch call_sync exception
_RatbagdDBus: result is always a tuple
Update gitignore
ratbagd: small cleanups
Application: move imports to top
ratbagd: add Themes property and GetSvg(theme) method
ratbagd: print DBus exception message to stderr
RatbagdLed: use proper type signature in SetColor
RatbagdLed: use proper type signature in SetBrightness
bindings: rename some methods and variables for consistency
bindings: always query DBus for the latest value
bindings: use inheritance for object_path
CircleCI: use Fedora latest, not rawhide
bindings: s/dbus_property/get_dbus_property/g
bindings: raise proper exceptions from _dbus_call
bindings: add _set_dbus_property
Make piper great again: use get_svg("gnome")
ratbagd: sync with libratbag
RatbagdDBusUnavailable: add exception message
ratbagd: sync with libratbag
piper.py: adjust to new DBus interface
Add a piper.devel output to run from source tree
flake8: ignore piper.in
bindings: emit notify::action-type ourselves
ratbagd: sync with libratbag
MouseMap: custom container widget to map the device SVG
Window: add a skeleton window
MouseMap: add warning for incompatible SVGs
MouseMap: small cleanup
Window: use GtkTemplate to instantiate from a GtkBuilder template
Window: add list of resolutions
Window: add in-app notification for failed commit
Window: hook up report rate buttons to ratbagd
MouseMap: draw paths only if there is a child widget
Window: draw 'Switch resolution' label
Window: block the scroll event on the scales
ResolutionRow: remove support for separate x/y resolutions
Window: hide previously activated row upon activating another
ResolutionRow: snap resolution values to multiples of 50
Window: extract resolution code into ResolutionsPage class
MouseMap: use ratbagd themes
ResolutionsPage: fix toggling the wrong row
data: move ui files into subdirs
ResolutionRow: remove unused variable
Rename anonymous variables ('_') to __
OptionButton: a Gtk.Button with a cog
Add LED page to configure LEDs
Window: only add pages if supported by device
ResolutionsPage: set report rate for all resolutions
data/ui: add tooltips to control widgets
Window.ui: let Glade move things around
Make Piper work with the new bindings
Application: present error dialog when ratbagd isn't running
Application: move error handling to Window
ratbagd: cache lists to ensure we return the same objects
ratbagd.py: set property on setter methods
Window: do not crash when no devices are plugged in
LedsPage: remove button from callbacks
Add ButtonsPage to configure buttons
ButtonDialog: add button map page
ButtonDialog: add key mapping stack page
ButtonDialog: add special mapping page
ButtonDialog: merge all stack pages into a list
Merge key mappings with macros
ButtonDialog: separate different mappings in the list
Keystroke: remove clear, add cancel
ButtonsPage: display proper button labels
ratbagd: deal with notify::action-type better
Window: add profile switch popover
RatbagdDevice: add active_profile property
RatbagdProfile: add active_resolution property
RatbagdResolution: move report_rate setter to its getter
ratbagd: add active-profile-changed signal to RatbagdDevice
ResolutionsPage: respond to profile changes
ResolutionRow: respond to profile changes
LedsPage: respond to profile changes
ButtonsPage: respond to profile changes
LedsPage: do not number the LEDs
ResolutionRow: remove "Resolution x"
ResolutionRow: do not display frame label "Resolution"
404: remove caption and resize
Introduce perspectives to manage different screens
Add an ErrorPerspective according to the empty state pattern
MousePerspective: make everything visible with show_all()
Add a WelcomePerspective if there is more than 1 device
Window: request a default size
ResolutionsPage: fix labeling buttons related to resolutions
RatbagProfile: add dirty property
ResolutionRow: block the scale's value changed handler when initialising
MousePerspective: highlight the commit button when a profile gets dirty
MousePerspective: disable the commit button when the profile isn't dirty
ResolutionsPage: reduce width of the controls
Ratbagd: add device-added and device-removed signals
MousePerspective: make set_device a property
Window: be more specific in error message
Ratbagd: fix adding and removing devices
WelcomePerspective: add methods to add and remove devices
Window: react to devices being added or removed
MouseMap: work around do_forall getting an invalid instance
Application: don't call show_all() on the window
Ratbagd: emit notify::devices when the devices change
Window: give perspectives a back button
MousePerspective: change button icon to text
MousePerspective: correctly initialise the commit button
Window: ask for confirmation before closing with unsaved changes
ButtonsPage: apply profile cycle buttons across all profiles
MousePerspective: make device setter a real method
Window: cast ValueError to str to display it
Ratbagd: small return cleanup
MousePerspective: destroy profiles before adding new ones
MousePerspective: only consider profile dirty for commit button
ButtonDialog: also register key releases
RatbagdButton: add ACTION_SPECIAL_UNKNOWN to SPECIAL_DESCRIPTION
Do not crash if there is no active profile or resolution
MousePerspective: replace == with is
Ratbagd: increase timeout from 500 to 2000 milliseconds
ButtonDialog: only allow swapping for left- and right buttons
ButtonDialog: do not track visited links
ButtonDialog: fix the tooltip for the macro row
ResolutionRow: rename title_label to dpi_label
MousePerspective: do not use show_all()
ResolutionRow: initialize the DPI label
Meson: fix build with meson 0.42.0
Meson: remove whitespace
MouseMap: save & restore GtkStyleContext to prevent hogging the CPU
MouseMap: do not redraw on allocate
meson: copy configuration data so we don't have to duplicate it manually
Ratbagd: emit notify::is-active when IsActive is changed
ResolutionRow: add label to highlight the active resolution
Remove old piper code from the tree
UI files: unmark placeholder strings as translatable
UI files: consistently use (untranslatable) placeholder labels
ButtonDialog.ui: do not track links in labels
LedsPage: move LED mode to string to the bindings
Ratbagd: _set_dbus_property doesn't return anything
Ratbagd: do not return _dbus_call return value in setters
Ratbagd: remove unneeded global line
Revert "meson: copy configuration data so we don't have to duplicate it manually"
Meson: copy configuration data so we don't have to duplicate it manually
ButtonDialog: add a search entry to search mappings
ButtonDialog: move handedness to its separate stack page
ButtonDialog: do not list "Unknown" in the special mappings
RatbagdButton: update to reflect libratbag
Introduce RatbagdMacro to abstract macros
ButtonsPage: use RatbagdMacro to present macros
RatbagdMacro: remove KEY_ prefix
ButtonDialog: break lines after max character width
RatbagdMacro: group successive key press and release
Add support for translations
Ratbagd: use deferred translations to translate map entries
ButtonDialog: match "Send Keystroke" label with that in the .ui file
Add context where needed for translators
Add Dutch translation
po/nl: update with new strings
po/de: update based on line numbers
ButtonDialog: s/left-handedness/left-handed
WelcomePerspective: add context on the same string
ratbagd: s/Resolution Default/Default Resolution/
ratbagd: s/* Cycle [Up|Down]/Cycle * [Up|Down]/
piper: comment on {} for translators
po/nl: update with latest changes
po/de: update with latest changes
po/nl: translate missing string
po/pl: generate against new .pot
Julian Richen (1):
Application: change aboutDialog.ui resource path to AboutDialog.ui
Peter Hutterer (21):
Change 'description' to 'name'
Fix import path for ratbagd modules
Use 'name', not 'description' in the ratbagd bindings
Fix AttributeError after RatbagdButton.button was removed
Fix up device.description -> device.name
ratbagd: re-use the same dbus connection
Merge branch 'rewrite'
Piper: check for required GTK version at runtime
circle.yml: fix typo in flake8 scan targets
ButtonDialog: show right-handed mapping for things we don't understand
ButtonDialog: don't crash on unknown mapping types
ui: reconnect the radio button signal handler for left/right handed
ButtonDialog: always accept enter/escape for macros
ButtonDialog: when pressing Apply, make sure we commit the current macro
Add the ErrorPerspective before all others
ui: limit the length of macros displayed in the option box
data: make the "Oh Oh" title translatable
Add German translation
piper: change a string for missing ratbagd
data: make the Welcome title translatable
meson.build: 0.2.900
Piotr Drąg (2):
Add Polish translation
Update Polish translation
Rasmus Thomsen (1):
Meson.build: allow customisation of bindir
git tag: 0.2.900
The libratbag project does not generate tarballs for releases, you can
grab one directly from github:
https://github.com/libratbag/piper/archive/0.2.900.tar.gz
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 163 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/input-tools/attachments/20170825/ff4c141c/attachment-0001.sig>
More information about the Input-tools
mailing list