-
-
Notifications
You must be signed in to change notification settings - Fork 171
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
Allow new default gestures via package update #368
Comments
I believe we need to figure something smart for this use case. What do you think is most likely going to need updates in your distro? Global gestures? Or app specific gestures? Just thinking out loud... If the answer is app specific gestures -for example, Chromium changes a shortcut and you want to update it- then ignoring global gestures in |
I agree, it is not obvious exactly how to approach this. I would anticipate that both are likely to be desirable. In our case, most of our users will be happy to accept updates to default behaviour. However, I of course appreciate that others will want to ensure that only what they have configured works. Perhaps the user's config could also define the behaviour? e.g. "override" vs "extend" An easy way to ensure that people get what they want, of course, would be to provide a GUI that allows them to choose what behaviour they want, and/or offer the ability to enable/disable gestures. It could even be a neat way of offering examples/templates for different use-cases. |
That will work, but I find it really difficult to understand for most of the users.
Yes, I also think this is the best idea. One of the features I'd like to add to the GUI is creating gestures from templates/examples.I could put those examples in a JSON file so you can patch it in your distro. Does this work for you? |
I think that having a "user inherits from system and can extend, modify or disable in their own space" paradigm is still worth implementing. It allows distros and system admins to manage their own config files. Given that most will opt to preserve the default provided at source anyway, there would be no functional regression for most users. One example that I can think of is how XDG handles Another example would be If each gesture is thought of as a sort of "application" (a bit of a stretch, I know), then it would make sense if the user inherits from the system and can either extend, modify or disable in their own space. The GUI will help to ensure that users can easily see what functionality they will get as a user. They don't need to know what comes from the system - they can just see what their current configuration is and change it to their preference. If they have already defined a behaviour, then it will continue to work. If not, then it is unlikely that they will ever even know a new gesture was added. |
I think I agree with @m-roberts that the system-owned |
Does @cassidyjames approach also work for you @m-roberts ? Just a quick summary to make sure we are on the same page:
Pros:
Cons:
|
Yes
Not exactly. The default behaviour would be to extend/override the defaults. This is obviously more complicated to implement, but removes the drawback you mention. The challenge here comes in adding support for loading multiple configuration files and determining which gestures should be used. Empty user config for a specific gesture should override the system defaults, resulting in no gesture. A defined user config for a specific gesture should override the system defaults, resulting in a different gesture to the default. |
I still think this is confusing. Also, I believe you will have the same issue:
Let's illustrate it with an example: You ship a configuration file without an action for 5 fingers pinch. The more I think about it, the more I like Cassidy's solution. Unless there is a very important use case I'm missing I think I'm going to stick with Cassidy's approach. What do you think guys? |
Cassidy's solution at least gets us most of the way to where we want to get to, and it's easy. I would suggest implementing that while we continue to discuss possible solutions to the other suggestions I am making. I still feel that what I am suggesting is worth doing, but - as I have made clear from the start of this Issue - it's not self-evident what the implementation should look like. |
Current behaviour is to copy from
/usr/share
to user's home directory.If the logic were to change to always load the system's default config, and then apply additional changes (including unsetting any undesired defaults) in the home dir, it were possible for distros to provide an updated default configuration, without changing the behaviour for users of the core software.
The text was updated successfully, but these errors were encountered: