diff options
author | dec05eba <dec05eba@protonmail.com> | 2021-04-07 06:51:25 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2021-04-07 06:51:25 +0200 |
commit | 477bc6687a05f2820dcd1b8f2663b4a5537fb3ea (patch) | |
tree | 8057ee37bbfb19149caea9e1a59d6bdf2ee83af0 /src/QuickMedia.cpp | |
parent | 9939b656bf6a383b793f8b5b402d60b44345a097 (diff) |
Matrix: mark window as urgent when being mentioned or receiving an invite
Diffstat (limited to 'src/QuickMedia.cpp')
-rw-r--r-- | src/QuickMedia.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/QuickMedia.cpp b/src/QuickMedia.cpp index afd8461..ebbbba8 100644 --- a/src/QuickMedia.cpp +++ b/src/QuickMedia.cpp @@ -445,6 +445,21 @@ namespace QuickMedia { return body_item; } + void Program::window_set_urgent() { + XWMHints *hints = XGetWMHints(disp, x11_window); + if(!hints) { + fprintf(stderr, "seturgent: unable to get window manager hints\n"); + return; + } + + hints->flags |= XUrgencyHint; + + if(!XSetWMHints(disp, x11_window, hints)) + fprintf(stderr, "seturgent: unable to set urgency hint\n"); + + XFree(hints); + } + int Program::run(int argc, char **argv) { if(argc < 2) { usage(); @@ -616,6 +631,14 @@ namespace QuickMedia { XMapWindow(disp, x11_window); XFlush(disp); + XWMHints* hints = XAllocWMHints(); + if(hints) { + hints->flags = AllHints; + hints->initial_state = NormalState; + XSetWMHints(disp, x11_window, hints); + XFree(hints); + } + window.create(x11_window); resources_root = "/usr/share/quickmedia/"; |