summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
Diffstat (limited to 'openbox')
-rw-r--r--openbox/menuframe.c5
-rw-r--r--openbox/prop.c1
-rw-r--r--openbox/prop.h4
3 files changed, 10 insertions, 0 deletions
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 */