Introduce --exclude-titlebar flag for mouse bindings. (#2703)

This introduces the flag --exclude-titlebar for mouse bindings which
allows bindings like

    bindsym --whole-window --border --exclude-titlebar button3 focus

fixes #2347
This commit is contained in:
Ingo Bürk
2017-05-02 09:08:42 +02:00
committed by Michael Stapelberg
parent 1d4e9f5de0
commit d78fd8d91f
9 changed files with 44 additions and 22 deletions

View File

@ -27,7 +27,8 @@ extern const char *DEFAULT_BINDING_MODE;
*/
Binding *configure_binding(const char *bindtype, const char *modifiers, const char *input_code,
const char *release, const char *border, const char *whole_window,
const char *command, const char *mode, bool pango_markup);
const char *exclude_titlebar, const char *command, const char *mode,
bool pango_markup);
/**
* Grab the bound keys (tell X to send us keypress events for those keycodes)

View File

@ -67,10 +67,10 @@ CFGFUN(color_single, const char *colorclass, const char *color);
CFGFUN(floating_modifier, const char *modifiers);
CFGFUN(new_window, const char *windowtype, const char *border, const long width);
CFGFUN(workspace, const char *workspace, const char *output);
CFGFUN(binding, const char *bindtype, const char *modifiers, const char *key, const char *release, const char *border, const char *whole_window, const char *command);
CFGFUN(binding, const char *bindtype, const char *modifiers, const char *key, const char *release, const char *border, const char *whole_window, const char *exclude_titlebar, const char *command);
CFGFUN(enter_mode, const char *pango_markup, const char *mode);
CFGFUN(mode_binding, const char *bindtype, const char *modifiers, const char *key, const char *release, const char *border, const char *whole_window, const char *command);
CFGFUN(mode_binding, const char *bindtype, const char *modifiers, const char *key, const char *release, const char *border, const char *whole_window, const char *exclude_titlebar, const char *command);
CFGFUN(bar_font, const char *font);
CFGFUN(bar_separator_symbol, const char *separator);

View File

@ -298,6 +298,10 @@ struct Binding {
* title bar (default). */
bool whole_window;
/** If this is true for a mouse binding, the binding should only be
* executed if the button press was not on the titlebar. */
bool exclude_titlebar;
/** Keycode to bind */
uint32_t keycode;