Releases: taj-ny/kwin-gestures
Releases · taj-ny/kwin-gestures
v0.4.0
- Fixed pinch gestures not being able to have the 'any' direction.
- Update actions now always repeat. If the interval is 0, the action will trigger exactly once per input event. If it's not 0, the action can trigger 0 or multiple times, depending on the delta.
- Added the input action, which allows for pressing mouse buttons and moving the cursor, in addition to pressing keyboard keys. The keyboard action functions as before, but it's now deprecated and may be removed in the future.
- Swipe gestures can now have the any direction, although this isn't implemented properly yet, as thresholds and intervals still only apply to one axis.
- It's now possible to create a drag window gesture. See example gestures.
v0.3.1
v0.3.0
Important
This release introduces major breaking changes to the configuration format. Your existing configuration will not work without a manual rewrite. There will be no more big changes like this one, but small ones may still be made.
The plugin also now depends on yaml-cpp. Re-run the dependency installation command for your distribution from the README.
This version doesn't support Plasma 6.3 yet, I'll try to add support for it this weekend.
Changes
- The configuration file path has been changed to
~/.config/kwingestures.yml
and it now uses YAML. All properties and their values have been renamed. Some properties were merged. See docs/configuration.md and docs/example_gestures.md. - The configuration file is now watched and the plugin reconfigured automatically.
- Certain errors in the configuration file will be logged. Run
journalctl --boot=0 -g "kwin_gestures:" -n 5
to see them. - Gestures now have a speed property, which can be used to make a gesture trigger only when performed fast or slow. The thresholds can be configured.
- Actions can be triggered when the gesture begins, ends, is updated, ended or cancelled.
- Update actions can repeat.
- Only specific subconditions of a condition can be negated instead of the entire condition.
- Removed Gesture.TriggerWhenThresholdReached. Set a minimum threshold on the gesture and add a
on: begin
action. - Moved Gesture.TriggerOneActionOnly to Action.block_other.
- Improved the format for the key sequence action.
- I probably missed something here.
v0.2.0
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.