Add '--release' flag for bindsym in the bar block
i3bar's handle_button is modified to also handle XCB_BUTTON_RELEASE events. During these button release events, only custom commands are checked to avoid sending multiple workspace ipc messages. The way this patch is implemented will allow to assign a custom command for both the press and release of the same button: bar { ... bindsym buttonX exec command1 bindsym --release buttonX exec command2 } Fixes #3068.
This commit is contained in:
@ -84,7 +84,7 @@ CFGFUN(bar_verbose, const char *verbose);
|
||||
CFGFUN(bar_modifier, const char *modifier);
|
||||
CFGFUN(bar_wheel_up_cmd, const char *command);
|
||||
CFGFUN(bar_wheel_down_cmd, const char *command);
|
||||
CFGFUN(bar_bindsym, const char *button, const char *command);
|
||||
CFGFUN(bar_bindsym, const char *button, const char *release, const char *command);
|
||||
CFGFUN(bar_position, const char *position);
|
||||
CFGFUN(bar_i3bar_command, const char *i3bar_command);
|
||||
CFGFUN(bar_color, const char *colorclass, const char *border, const char *background, const char *text);
|
||||
|
@ -384,6 +384,9 @@ struct Barbinding {
|
||||
/** The command which is to be executed for this button. */
|
||||
char *command;
|
||||
|
||||
/** If true, the command will be executed after the button is released. */
|
||||
bool release;
|
||||
|
||||
TAILQ_ENTRY(Barbinding)
|
||||
bindings;
|
||||
};
|
||||
|
Reference in New Issue
Block a user