-
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 |
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 is an implementation of a backend gesture configuration based on a gist I made a few weeks ago: https://gist.github.com/ryanabx/e18b70d58f651c1a6946a5bca7a11165
This method of configuration would allow the frontend settings to do whatever they'd like with the gesture configuration without having to do something complex (unless they wanted to!)
Basically, gesture configurations are split per finger count and can be one of two types:
to-do: