GNOME Bugzilla – Bug 673824
Introduce a "ButtonBinding" system
Last modified: 2013-07-19 20:01:12 UTC
These patches are very WIP. A number of extension authors wanted the ability to do interesting things on button presses, or scroll events. This might be a little overengineered, especially hooking this up to GSettings, but, welp, sorry. Ideas for how it would be used: * Add a binding for <Alt>4 and <Alt>5, that adusts the opacity on a window. * <Super>4 and <Super>5 could change workspaces. * Set up right-click handler on the root window to add a menu to launch a terminal or something.
Created attachment 211701 [details] [review] keybindings: Use G_DEFINE_BOXED_TYPE
Created attachment 211702 [details] [review] Introduce a ButtonBinding system Similar to keybindings, buttonbindings allow you to add bindings on buttons.
Created attachment 211703 [details] [review] display: Port some of the special ops over to ButtonBindings
Created attachment 211704 [details] [review] frames: Remove frame button grab
Created attachment 211705 [details] [review] display: Remove grab_window_buttons
Created attachment 211706 [details] [review] display: Move grab_focus_button into keybindings.c
Created attachment 211707 [details] [review] display: Remove now unused meta_change_button_grab
Review of attachment 211701 [details] [review]: sure
Do we want to expose these bindings in the control-center too ?
I don't think so, no.
I'm following this bug as Jasper mentioned it in answer to a question I posed in the Gnome Shell list. Like he says in the report above, I wish to be able to do some “interesting things” with mouse clicks, esp. in relation to where they occur (e.g., over the window title bar), so as long as the API is there for extensions to hook into there's probably no need to worry about a more generic bindings GUI for the control-center, at least for now. If a truly generic bindings *extension* is written, that could always be pulled in later (with the author's permission!).
Using super+scroll wheel to move workspaces seems pretty cool! (cannot refrain from a me too, sorry :P)
Comment on attachment 211701 [details] [review] keybindings: Use G_DEFINE_BOXED_TYPE Attachment 211701 [details] pushed as e6ed29f - keybindings: Use G_DEFINE_BOXED_TYPE
Created attachment 218675 [details] [review] keybindings: Remove unused keybindings_switch_window
Created attachment 218676 [details] [review] Introduce a ButtonBinding system Similar to keybindings, buttonbindings allow you to add bindings on buttons.
Created attachment 218677 [details] [review] display: Port some of the special ops over to ButtonBindings
Created attachment 218678 [details] [review] frames: Remove frame button grab
Created attachment 218679 [details] [review] display: Remove grab_window_buttons
Created attachment 218680 [details] [review] display: Move grab_focus_button into keybindings.c
Created attachment 218681 [details] [review] display: Remove now unused meta_change_button_grab
I don't think I'm going to continue this.