Merge pull request #3475 from Gravemind/fix-i3bar-re-hidden-on-any-modifier
i3bar: Fix i3bar re-hidden by any modifier (#3474)
This commit is contained in:
commit
5d70e2850f
|
@ -1067,13 +1067,16 @@ static void xcb_prep_cb(struct ev_loop *loop, ev_prepare *watcher, int revents)
|
|||
|
||||
xcb_xkb_state_notify_event_t *state = (xcb_xkb_state_notify_event_t *)event;
|
||||
const uint32_t mod = (config.modifier & 0xFFFF);
|
||||
mod_pressed = (mod != 0 && (state->mods & mod) == mod);
|
||||
if (state->xkbType == XCB_XKB_STATE_NOTIFY && config.modifier != XCB_NONE) {
|
||||
if (mod_pressed) {
|
||||
activated_mode = false;
|
||||
unhide_bars();
|
||||
} else if (!activated_mode) {
|
||||
hide_bars();
|
||||
const bool new_mod_pressed = (mod != 0 && (state->mods & mod) == mod);
|
||||
if (new_mod_pressed != mod_pressed) {
|
||||
mod_pressed = new_mod_pressed;
|
||||
if (state->xkbType == XCB_XKB_STATE_NOTIFY && config.modifier != XCB_NONE) {
|
||||
if (mod_pressed) {
|
||||
activated_mode = false;
|
||||
unhide_bars();
|
||||
} else if (!activated_mode) {
|
||||
hide_bars();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue