diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Fl_x.cxx | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/Fl_x.cxx b/src/Fl_x.cxx index aa046d757..d47170670 100644 --- a/src/Fl_x.cxx +++ b/src/Fl_x.cxx @@ -1587,6 +1587,13 @@ void Fl_X::make_xid(Fl_Window* win, XVisualInfo *visual, Colormap colormap) XSetWMHints(fl_display, xp->xid, hints); XFree(hints); } + + // set the window type for menu and tooltip windows to avoid animations (compiz) + if (win->menu_window() || win->tooltip_window()) { + Atom net_wm_type = XInternAtom(fl_display, "_NET_WM_WINDOW_TYPE", False); + Atom net_wm_type_kind = XInternAtom(fl_display, "_NET_WM_WINDOW_TYPE_MENU", False); + int ret = XChangeProperty(fl_display, xp->xid, net_wm_type, XA_ATOM, 32, PropModeReplace, (unsigned char*)&net_wm_type_kind, 1); + } XMapWindow(fl_display, xp->xid); if (showit) { |
