Skip to content
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

Add preferences: more flexible controls #72

Closed
lwouis opened this issue Nov 1, 2019 · 4 comments
Closed

Add preferences: more flexible controls #72

lwouis opened this issue Nov 1, 2019 · 4 comments
Labels
preference Introduction of a new preference
Milestone

Comments

@lwouis
Copy link
Owner

lwouis commented Nov 1, 2019

From rich discussion in #61

Right now users can change the modifier key. It would be nice to be able to set other keys such as next, previous, cancel.

Supporting multiple shortcuts for each action would also be more flexible

@lwouis lwouis added enhancement New feature or request L size labels Nov 1, 2019
@lwouis
Copy link
Owner Author

lwouis commented Jan 4, 2020

I've been working on a mockup for a preferences UI that would satisfy many ways of using the app, outlined in #14, #64, #50, #9, #17, this comment and this issue. Here is a jsfiddle to showcase my vision:

image

Each input button is clickable and the user can change the shortcut they want. For the first one, it will only accept modifier keys. For the others, it will accept modifiers and/or keys.

I think this design is flexible enough to accommodate all possible user workflows.

The only thing this doesn't take into account is someone who would like multiple shortcut for the main actions of next/previous window. This would require some kind of UI to add new rows of shortcut.

I think both these multiple rows of shortcut for next/previous, and the "including" filters on the right could be hidden behind some kind of "advanced mode" UI, so most users are not overwhelmed, yet we satisfy advanced users.

Feel free to react and comment :)

@lwouis
Copy link
Owner Author

lwouis commented Jan 23, 2020

Here is an updated fiddle:

image

I made 2 changes:

  • Combined next/previous shortcut options as I don't think anyone would need that much flexibility that they want to go forward with 1 set of options and backwards with a different set of options
  • Added the "Add another shortcut" button to let users register multiple shortcuts for each action. The important use-case this targets is multiple shortcuts for selecting windows. For example the user may want 1 shortcut for all apps windows, and 1 shortcut for active app windows; or 1 shortcut for all display/space windows, and 1 shortcut for current display/space windows.

Note that this ticket is still blocked by ShortcutRecorder ticket for modifiers-only shortcuts: I really want to use that library as it is robust, and provides great UI to record shortcuts that are needed for what's on my mockup. We need this ticket because we act on alt (or the user defined modifiers-only shortcut) up.

@lwouis lwouis changed the title More granular preferences for shortcuts Add preferences: more flexible controls Jan 24, 2020
@lwouis lwouis added preference Introduction of a new preference and removed L size enhancement New feature or request labels Jan 24, 2020
@lwouis
Copy link
Owner Author

lwouis commented Feb 12, 2020

Using tables to layout: https://jsfiddle.net/pjnkeL0a/1/

image

@lwouis lwouis added this to the v4 milestone Mar 11, 2020
lwouis added a commit that referenced this issue Apr 1, 2020
lwouis added a commit that referenced this issue Apr 1, 2020
lwouis added a commit that referenced this issue Apr 2, 2020
@lwouis lwouis closed this as completed in 5eade75 Apr 2, 2020
lwouis pushed a commit that referenced this issue Apr 2, 2020
# [3.3.0](v3.2.1...v3.3.0) (2020-04-02)

### Bug Fixes

* .strings encoding should be utf-8 ([7109b08](7109b08))
* avoid having multiple login items ([65816a2](65816a2))
* preferences would not be live (closes [#188](#188)) ([d5b74a1](d5b74a1)), closes [#194](#194)
* simpler/better window focus ([574a640](574a640))

### Features

* localized in 5 new languages ([48bb3df](48bb3df))
* more flexible shortcuts (closes [#72](#72)) ([5eade75](5eade75)), closes [#50](#50) [#125](#125) [#133](#133)
@lwouis
Copy link
Owner Author

lwouis commented Apr 2, 2020

I just released v3.3.0 which implements this UX. I hope you guys enjoy! 👍

I didn't implement the "add another shortcut" yet. I think it will be done in a second iteration. It is quite an advanced use-case that makes the UI/code significantly more complex, so I'm kind of closing that for now until enough people ask for it.

Feel free to open a ticket if you have any issue with the new version

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
preference Introduction of a new preference
Projects
None yet
Development

No branches or pull requests

1 participant