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

Let fine tune customization of events and actions [Feature Request] #580

Open
federicofavale opened this issue Aug 28, 2017 · 3 comments
Open

Comments

@federicofavale
Copy link

What I propose is a model where events and actions can be modify by the user. Where general groups contain other groups which contains events (the same for all) assign to an action

Model propose:

  • [Window attribute]
    • [Window state]
      • [Event] - [Action]

Categories example:

  • On single instance

    • On focused window:
      • Hover
      • Left click
      • Right click
      • Middle click
      • Scroll action
    • On unfocused window:
      • Hover
      • Left click
      • Right click
      • Middle click
      • Scroll action
  • On multiple instances

    • On focused window:
      • Hover
      • Left click
      • Right click
      • Middle click
      • Scroll action
    • On unfocused window:
      • Hover
      • Left click
      • Right click
      • Middle click
      • Scroll action

Example (default maybe?):

  • On single instance

    • On focused window:
      • Hover: do nothing
      • Left click: Minimize
      • Right click: Context menu
      • Middle click: New instance
      • Scroll action: do nothing
    • On unfocused window:
      • Hover: Honor focus settings
      • Left click: Raise window
      • Right click: Honor focus settings
      • Middle click: Honor focus settings
      • Scroll action: Honor focus settings
  • On multiple instance

    • On focused window:
      • Hover: Window preview
      • Left click: Window preview
      • Right click: Context menu
      • Middle click: New instance
      • Scroll action: Cycle through windows
    • On unfocused window:
      • Hover: Honor focus settings
      • Left click: Raise all windows
      • Right click: Honor focus settings
      • Middle click: Honor focus settings
      • Scroll action: Honor focus settings

This approach can be handy in the future where more [Window attribute], [Window state], [Event] or [Action] can be added.
I have thought of these ones:

  • [Window attribute]
    • On single instance
    • On multiple instance
  • [Window state]
    • On focused window
    • On unfocused window
    • On minimize
  • [Event]
    • Hover
    • Left click
    • Right click
    • Middle click
    • Scroll action
    • Double click
    • Shift + all the above? (maybe in future releases)
    • Ctrl + all the above? (maybe in future releases)
    • (...)
  • [Actions]
    • Honor focus settings
    • Honor un-focus settings
    • Honor minimize settings
    • Window preview
    • Show activities
    • Minimize (if used in 'multiple instances' could be the last one)
    • Raise window (if used in 'multiple instances' could be the last one)
    • Raise all windows
    • (...)

I know this could be a pain to implement but on the other hand the maintenance or even adding new events and actions of a modular implementation like this, could be handy in the future.
Just something I would like to be consider even if it may never be implemented because of the difficulty or practicality to others.

@micheleg
Copy link
Owner

Hi Federico, thank for your suggestion and the time spent detailing it. I agree that the action settings and code could be more modular (the current status is the result of the slow implementation of this and that option, and the attempt to stay close to the upstream code). From an abstract point of view, it doesn't seem technically difficult to implement, yet it would require some time and effort.

However, what is is the goal of this? Do we just want to expose all these possible combinations of settings to the end user? How would we do this in a meaningful way? Or do we want just the flexibility in place because there's some behaviour currently not posssible to obtain that you'd like to see implemented?

@federicofavale
Copy link
Author

Yes the idea would be to expose all the settings to the end user (maybe an advance behavior tab) and have the flexibility just in place, as you say.
With today implementation there is no way to show -for example- the windows thumbnails only with hovering the icon, as some people have asked for and how others fork do.
Summarizing... execute some specify action as the user expects/wants it to happen in certain conditions (that's why I have though of all those levels, and in the future people could ask for more and easily be added!)
With the proposed approach all of these can be defined as the user wants (something others extensions don't do).
Of course making such implementation could take a really long time. It would be great if others can write if they would found something like these useful (I know I would!, the first thing I would tweak is to show windows preview on hover when there is more than one instance) <- see how customizable it can be

@micheleg
Copy link
Owner

A restructuring of the actions logic will be considered: I'm not sure I want to expose such a complecated set of settings, but we will see if and when this is done. Regarding the thumbnails on hover, there's actually a pull request (#574) if that can be of your interest.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants