Skip to content

v0.8.0

Choose a tag to compare

@taj-ny taj-ny released this 07 Sep 07:25
· 320 commits to main since this release
f3efe9f

Breaking changes

  • devices/touchpad/properties: pressure_ranges.thumb is now of type uint (previously range(uint)), use pressure_ranges.palm to set the upper thumb pressure threshold
  • EventHandler: removed blacklist and whitelist properties, use a gesture group with a $device_name variable condition instead

New features

  • actions: limit property - limits the amount of times an action can execute during a gesture
  • actions/command: wait property - delays further actions until the command finishes
  • actions/input: delay property - can be used to slow down the action (see Known issues)
  • actions/input: keyboard text action - writes text into the focused text area (Wayland programs only)
    input:
      - keyboard: [ text: 'aaaaaa' ]
    It is also possible to use the output of a command:
    input: # makes selected text uppercase
      - keyboard:
          - text:
              command: echo -n '$(wl-paste --primary)' | tr '[:lower:]' '[:upper:]' 
  • actions/sleep: can be used to delay further actions
  • conditions: variables are allowed after the operator (e.g. $window_id == $window_under_id)
  • devices/keyboard: shortcut gesture
  • devices/touchpad: one-finger swipe and stroke gestures (the pointer's position is locked during a gesture), requires libevdev backend
  • devices/touchpad: tap gesture - supports 1 to 5 fingers, requires libevdev backend
  • devices/touchpad/properties: pressure_ranges.finger and pressure_ranges.palm properties
  • variables: finger_{1..5}_initial_position_percentage and thumb_initial_position_percentage, use these for swipe from edge gestures

Changes

  • conditions: bool variable conditions no longer require operators ($variable and !$variable are valid and equivalent to $variable == true and $variable == false respectively)
  • dbus: values of point variables are now displayed in the output of the variables method, _x and _y variables are hidden, but still exist
  • devices/touchpad: 1- and 2-finger press gestures are never blocked, as they are used to stop kinetic scrolling

Fixed bugs

  • File descriptors are leaked to processes spawned using the command action - this only affected the inotify fd (used for watching the config file and directory) and touchpad fds (only if the udev rule was created, in which case any program could open the device anyways).
  • devices/mouse: certain mice are incorrectly recognized as keyboards and ignored
  • devices/touchpad: finger position variables can be incorrect or negative on some devices
  • devices/touchpad: finger_ variables may be filled in the wrong order, and on devices with more than 5 slots, some may not be filled at all
  • hyprland: device removal is not detected properly
  • hyprland: using any input device after a config reload crashes the compositor

Support

If you like InputActions, consider making a donation to support the development.