Skip to content

v0.2.0

Latest
Compare
Choose a tag to compare
@taj-ny taj-ny released this 14 Oct 10:12
· 38 commits to main since this release
20130cd

Important

This release introduces breaking changes to the configuration format. Your existing configuration will not work as expected without changes.

New features

  • Added conditions for gestures and actions, giving the user better control over when they should be triggered.

Configuration file structure changes

New entries

  • [Gestures][$Device][$Gesture]
    • TriggerOneActionOnly (bool) - Whether to trigger only the first action that satisfies a condition.
      Default: false
       
    • [Conditions] - At least one condition (or 0 if none specified) must be satisfied in order for this gesture to be triggered.
      • [$ConditionId] (int) - Unique ID for this condition.
        • Negate (bool) - If true, this condition will be satisfied only when none of its specified properties are.
          Default: false
        • WindowClassRegex (string) - A regular expression executed on the currently focused window's resource class and resource name. If a match is not found for either, the condition will not be satisfied.
          Default: none
        • WindowState (enum) - Fullscreen, Maximized. Values can be combined using the | separator, For example, Fullscreen|Maximized will match either fullscreen or maximized windows.
          Default: none
           
    • [Actions]
      • [$ActionId]
        • [Conditions] - Same as [Gestures][$Device][$GestureId][Conditions], but only applied to this action.

Changed entries

  • [Gestures][$Device][$Gesture] WindowRegex - Renamed and moved to [Gestures][$Device][$GestureId][Conditions][$ConditionId] WindowClassRegex and [Gestures][$Device][$GestureId][Actions][$ActionId][Conditions][$ConditionId] WindowClassRegex.
  • [Gestures][$Device][$Gesture], [Gestures][$Device][$Gesture][Actions][$Action] - Types of $Gesture and $Action were changed from string to int due to KConfig returning groups in a random order. You can instead use comments (starting with #) anywhere to make your configuration more readable.