From: Dana Jansens Date: Fri, 15 Feb 2008 04:04:54 +0000 (-0500) Subject: set the window type hint on menus to be "popup menus" X-Git-Url: https://git.dogcows.com/gitweb?a=commitdiff_plain;h=0c8aca23eb94efe740acffc6c20ab73794da2218;p=chaz%2Fopenbox set the window type hint on menus to be "popup menus" --- diff --git a/openbox/menuframe.c b/openbox/menuframe.c index ce77fc0f..54f0cdbc 100644 --- a/openbox/menuframe.c +++ b/openbox/menuframe.c @@ -21,6 +21,7 @@ #include "client.h" #include "menu.h" #include "screen.h" +#include "prop.h" #include "actions.h" #include "grab.h" #include "openbox.h" @@ -89,6 +90,10 @@ ObMenuFrame* menu_frame_new(ObMenu *menu, guint show_from, ObClient *client) self->window = createWindow(RootWindow(ob_display, ob_screen), CWEventMask, &attr); + /* make it a popup menu type window */ + PROP_SET32(self->window, net_wm_window_type, atom, + prop_atoms.net_wm_window_type_popup_menu); + XSetWindowBorderWidth(ob_display, self->window, ob_rr_theme->mbwidth); XSetWindowBorder(ob_display, self->window, RrColorPixel(ob_rr_theme->menu_border_color)); diff --git a/openbox/prop.c b/openbox/prop.c index c2b0b40f..695e441f 100644 --- a/openbox/prop.c +++ b/openbox/prop.c @@ -112,6 +112,7 @@ void prop_startup(void) CREATE(net_wm_window_type_splash, "_NET_WM_WINDOW_TYPE_SPLASH"); CREATE(net_wm_window_type_dialog, "_NET_WM_WINDOW_TYPE_DIALOG"); CREATE(net_wm_window_type_normal, "_NET_WM_WINDOW_TYPE_NORMAL"); + CREATE(net_wm_window_type_popup_menu, "_NET_WM_WINDOW_TYPE_POPUP_MENU"); prop_atoms.net_wm_moveresize_size_topleft = 0; prop_atoms.net_wm_moveresize_size_top = 1; diff --git a/openbox/prop.h b/openbox/prop.h index 464fe26d..ae423271 100644 --- a/openbox/prop.h +++ b/openbox/prop.h @@ -86,6 +86,10 @@ typedef struct Atoms { Atom net_wm_bottomright; Atom net_wm_bottomleft; + /* types that we use but don't support */ + + Atom net_wm_window_type_popup_menu; + /* Everything below here must go in net_supported on the root window */ /* root window properties */