aboutsummaryrefslogtreecommitdiffstats
path: root/src/msg.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/msg.c')
-rw-r--r--src/msg.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/msg.c b/src/msg.c
index 1b1ddec..b94f765 100644
--- a/src/msg.c
+++ b/src/msg.c
@@ -547,6 +547,22 @@ msg_win_create(MBPanel *panel,
XFreePixmap(panel->dpy, mask);
}
+void
+msg_cancel (MBPanel *panel, XClientMessageEvent *e)
+{
+ MBPanelApp *sender;
+
+ if ((sender = panel_app_get_from_window(panel, e->window )) == NULL)
+ return;
+
+ if (panel->msg_win
+ && panel->msg_win_sender == sender
+ && panel->msg_sender_id == e->data.l[2])
+ {
+ XDestroyWindow(panel->dpy, panel->msg_win);
+ panel->msg_win = None;
+ }
+}
void
msg_handle_events(MBPanel *panel, XEvent *e)
@@ -566,6 +582,7 @@ msg_handle_events(MBPanel *panel, XEvent *e)
panel->msg_starttime = msg->starttime;
panel->msg_timeout = msg->timeout;
panel->msg_win_sender = msg->sender;
+ panel->msg_sender_id = msg->id;
panel->msg_has_context = False;