ungrab keyboard when no notification
This doesn't apply to history key.
This commit is contained in:
parent
bab419f56f
commit
a84e558d82
42
dunst.c
42
dunst.c
@ -893,6 +893,20 @@ void run(void)
|
||||
|
||||
void hide_win()
|
||||
{
|
||||
KeyCode code;
|
||||
Window root;
|
||||
root = RootWindow(dc->dpy, DefaultScreen(dc->dpy));
|
||||
|
||||
if (key != NoSymbol) {
|
||||
code = XKeysymToKeycode(dc->dpy, key);
|
||||
XUngrabKey(dc->dpy, code, mask, root);
|
||||
}
|
||||
|
||||
if (all_key != NoSymbol) {
|
||||
code = XKeysymToKeycode(dc->dpy, all_key);
|
||||
XUngrabKey(dc->dpy, code, mask, root);
|
||||
}
|
||||
|
||||
XUngrabButton(dc->dpy, AnyButton, AnyModifier, win);
|
||||
XUnmapWindow(dc->dpy, win);
|
||||
XFlush(dc->dpy);
|
||||
@ -962,14 +976,26 @@ void setup(void)
|
||||
CWOverrideRedirect | CWBackPixmap | CWEventMask, &wa);
|
||||
|
||||
/* grab keys */
|
||||
if (key != NoSymbol) {
|
||||
code = XKeysymToKeycode(dc->dpy, key);
|
||||
if (history_key != NoSymbol) {
|
||||
code = XKeysymToKeycode(dc->dpy, history_key);
|
||||
XGrabKey(dc->dpy, code, mask, root, True, GrabModeAsync,
|
||||
GrabModeAsync);
|
||||
}
|
||||
|
||||
if (history_key != NoSymbol) {
|
||||
code = XKeysymToKeycode(dc->dpy, history_key);
|
||||
}
|
||||
|
||||
void map_win(void)
|
||||
{
|
||||
/* window is already mapped or there's nothing to show */
|
||||
if (visible || l_is_empty(displayed_notifications)) {
|
||||
return;
|
||||
}
|
||||
|
||||
KeyCode code;
|
||||
Window root;
|
||||
root = RootWindow(dc->dpy, DefaultScreen(dc->dpy));
|
||||
if (key != NoSymbol) {
|
||||
code = XKeysymToKeycode(dc->dpy, key);
|
||||
XGrabKey(dc->dpy, code, mask, root, True, GrabModeAsync,
|
||||
GrabModeAsync);
|
||||
}
|
||||
@ -979,14 +1005,6 @@ void setup(void)
|
||||
XGrabKey(dc->dpy, code, mask, root, True, GrabModeAsync,
|
||||
GrabModeAsync);
|
||||
}
|
||||
}
|
||||
|
||||
void map_win(void)
|
||||
{
|
||||
/* window is already mapped or there's nothing to show */
|
||||
if (visible || l_is_empty(displayed_notifications)) {
|
||||
return;
|
||||
}
|
||||
|
||||
update_screen_info();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user