summaryrefslogtreecommitdiff
path: root/src/Fl_x.cxx
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2014-06-11 14:09:28 +0000
committerPierre Ossman <ossman@cendio.se>2014-06-11 14:09:28 +0000
commit7057e56c28f7c08d45521fbc29efaf5a4913bf1a (patch)
tree534f95f790f770189f13d4b7bc296926cfdd8e0b /src/Fl_x.cxx
parent0cfc2554c695bd472ce9e579ddcf1240f4fa155a (diff)
Behave better when it comes to modal windows. Primarily this
makes sure that windows are decorated better when a modal window is active. STR #2802. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10190 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/Fl_x.cxx')
-rw-r--r--src/Fl_x.cxx6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/Fl_x.cxx b/src/Fl_x.cxx
index bc5810b7c..3896777cd 100644
--- a/src/Fl_x.cxx
+++ b/src/Fl_x.cxx
@@ -2432,6 +2432,12 @@ void Fl_X::make_xid(Fl_Window* win, XVisualInfo *visual, Colormap colormap)
while (wp->parent()) wp = wp->window();
XSetTransientForHint(fl_display, xp->xid, fl_xid(wp));
if (!wp->visible()) showit = 0; // guess that wm will not show it
+ if (win->modal()) {
+ Atom net_wm_state = XInternAtom (fl_display, "_NET_WM_STATE", 0);
+ Atom net_wm_state_skip_taskbar = XInternAtom (fl_display, "_NET_WM_STATE_MODAL", 0);
+ XChangeProperty (fl_display, xp->xid, net_wm_state, XA_ATOM, 32,
+ PropModeAppend, (unsigned char*) &net_wm_state_skip_taskbar, 1);
+ }
}
// Make sure that borderless windows do not show in the task bar