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
- Negate (bool) - If true, this condition will be satisfied only when none of its specified properties are.
- [$ConditionId] (int) - Unique ID for this condition.
- [Actions]
- [$ActionId]
- [Conditions] - Same as [Gestures][$Device][$GestureId][Conditions], but only applied to this action.
- [$ActionId]
- TriggerOneActionOnly (bool) - Whether to trigger only the first action that satisfies a condition.
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.