-
Notifications
You must be signed in to change notification settings - Fork 98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Gesture configuration backend #396
base: master
Are you sure you want to change the base?
Conversation
f89023e
to
d42b6df
Compare
d42b6df
to
0eccd82
Compare
0eccd82
to
38898bf
Compare
Rebased to include the RWLock changes. @Drakulix can you look at this at some point? I think this is a good direction to go for gesture configurations but I need to know if you and others agree |
cosmic-comp-config/src/input.rs
Outdated
WindowLeft, | ||
WindowRight, | ||
Custom(String), | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we really need another enum for this? We already have the Action
-enum that is used for key-bindings. Can't we just use that and special case some actions like NextWorkspace
/PreviousWorkspace
when using gestures? (To animate those properly.)
That would make configuration much more flexible and allow binding more things to gestures.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, I'll look into doing that
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After looking into it, I'll hold onto this PR until #400 is finished, because it moves the Actions enum into cosmic-comp-config, where I need it
38898bf
to
9319fe3
Compare
Going to start working on this again. But it looks like actions and keybinds are defined in c-s-d, so I'm going to make the proper gesture type there first! |
This commit adds a Gesture abstraction, which can define gestures by the number of fingers used, and the direction the gesture is performed in. Oftentimes, we want the gesture to be either absolute (i.e. ignoring context such as workspace direction), or relative (if workspaces are horizontal, forward would be right, backward would be left. if workspaces are vertical, forward would be up, backward would be down). The abstraction is modeled after the Binding type, and the resulting Gestures type is similar to the Shortcuts type. This is the first step in implementing configurable touchpad gestures (pop-os/cosmic-comp#396) Signed-off-by: Ryan Brue <[email protected]>
This commit adds a Gesture abstraction, which can define gestures by the number of fingers used, and the direction the gesture is performed in. Oftentimes, we want the gesture to be either absolute (i.e. ignoring context such as workspace direction), or relative (if workspaces are horizontal, forward would be right, backward would be left. if workspaces are vertical, forward would be up, backward would be down). The abstraction is modeled after the Binding type, and the resulting Gestures type is similar to the Shortcuts type. This is the first step in implementing configurable touchpad gestures (pop-os/cosmic-comp#396) Signed-off-by: Ryan Brue <[email protected]>
This commit adds a Gesture abstraction, which can define gestures by the number of fingers used, and the direction the gesture is performed in. Oftentimes, we want the gesture to be either absolute (i.e. ignoring context such as workspace direction), or relative (if workspaces are horizontal, forward would be right, backward would be left. if workspaces are vertical, forward would be up, backward would be down). The abstraction is modeled after the Binding type, and the resulting Gestures type is similar to the Shortcuts type. This is the first step in implementing configurable touchpad gestures (pop-os/cosmic-comp#396) Signed-off-by: Ryan Brue <[email protected]>
This commit adds a Gesture abstraction, which can define gestures by the number of fingers used, and the direction the gesture is performed in. Oftentimes, we want the gesture to be either absolute (i.e. ignoring context such as workspace direction), or relative (if workspaces are horizontal, forward would be right, backward would be left. if workspaces are vertical, forward would be up, backward would be down). The abstraction is modeled after the Binding type, and the resulting Gestures type is similar to the Shortcuts type. This is the first step in implementing configurable touchpad gestures (pop-os/cosmic-comp#396) Signed-off-by: Ryan Brue <[email protected]>
This commit adds a Gesture abstraction, which can define gestures by the number of fingers used, and the direction the gesture is performed in. Oftentimes, we want the gesture to be either absolute (i.e. ignoring context such as workspace direction), or relative (if workspaces are horizontal, forward would be right, backward would be left. if workspaces are vertical, forward would be up, backward would be down). The abstraction is modeled after the Binding type, and the resulting Gestures type is similar to the Shortcuts type. This is the first step in implementing configurable touchpad gestures (pop-os/cosmic-comp#396) Signed-off-by: Ryan Brue <[email protected]>
This commit adds a Gesture abstraction, which can define gestures by the number of fingers used, and the direction the gesture is performed in. Oftentimes, we want the gesture to be either absolute (i.e. ignoring context such as workspace direction), or relative (if workspaces are horizontal, forward would be right, backward would be left. if workspaces are vertical, forward would be up, backward would be down). The abstraction is modeled after the Binding type, and the resulting Gestures type is similar to the Shortcuts type. This is the first step in implementing configurable touchpad gestures (pop-os/cosmic-comp#396) Signed-off-by: Ryan Brue <[email protected]>
This commit adds a Gesture abstraction, which can define gestures by the number of fingers used, and the direction the gesture is performed in. Oftentimes, we want the gesture to be either absolute (i.e. ignoring context such as workspace direction), or relative (if workspaces are horizontal, forward would be right, backward would be left. if workspaces are vertical, forward would be up, backward would be down). The abstraction is modeled after the Binding type, and the resulting Gestures type is similar to the Shortcuts type. This is the first step in implementing configurable touchpad gestures (pop-os/cosmic-comp#396) Signed-off-by: Ryan Brue <[email protected]>
9319fe3
to
316d95d
Compare
This commit adds a Gesture abstraction, which can define gestures by the number of fingers used, and the direction the gesture is performed in. The abstraction is modeled after the Binding type, and the resulting Gestures type is similar to the Shortcuts type. This is the first step in implementing configurable touchpad gestures (pop-os/cosmic-comp#396) Signed-off-by: Ryan Brue <[email protected]>
316d95d
to
e48e352
Compare
…aemon config This commit adds very very simple configurable touchpad gestures, starting with next and previous workspace. We need to add support for more actions at some point, but this is a good start. Signed-off-by: Ryan Brue <[email protected]>
I think this should be ready now, pending pop-os/cosmic-settings-daemon#63 |
Depends on: pop-os/cosmic-settings-daemon#63
This PR has been updated as of 2024-12-23
This version of the gesture configuration backend is very simple to start, only supporting the gestures that are currently supported prior to this PR (i.e. next and previous workspace).
Using the
custom_gestures
configuration in cosmic-settings-daemon's config, you can specify custom gestures to override the default gesture configuration.