add the MANAGER atom. allow prop_message to be used with a user-defined mask instead of only with the NetWM mask
Dana Jansens danakj@orodu.net
2 files changed,
10 insertions(+),
4 deletions(-)
M
openbox/prop.c
→
openbox/prop.c
@@ -16,6 +16,8 @@ CREATE(pixmap, "PIXMAP");
CREATE(atom, "ATOM"); CREATE(string, "STRING"); CREATE(utf8, "UTF8_STRING"); + + CREATE(manager, "MANAGER"); CREATE(wm_colormap_windows, "WM_COLORMAP_WINDOWS"); CREATE(wm_protocols, "WM_PROTOCOLS");@@ -395,7 +397,7 @@ XDeleteProperty(ob_display, win, prop);
} void prop_message(Window about, Atom messagetype, long data0, long data1, - long data2, long data3) + long data2, long data3, long mask) { XEvent ce; ce.xclient.type = ClientMessage;@@ -408,5 +410,5 @@ ce.xclient.data.l[1] = data1;
ce.xclient.data.l[2] = data2; ce.xclient.data.l[3] = data3; XSendEvent(ob_display, RootWindow(ob_display, ob_screen), FALSE, - SubstructureNotifyMask | SubstructureRedirectMask, &ce); + mask, &ce); }
M
openbox/prop.h
→
openbox/prop.h
@@ -17,6 +17,9 @@ Atom atom; /*!< The atom which represents atom values */
Atom string; /*!< The atom which represents ascii strings */ Atom utf8; /*!< The atom which represents utf8-encoded strings */ + /* selection stuff */ + Atom manager; + /* window hints */ Atom wm_colormap_windows; Atom wm_protocols;@@ -157,7 +160,7 @@
void prop_erase(Window win, Atom prop); void prop_message(Window about, Atom messagetype, long data0, long data1, - long data2, long data3); + long data2, long data3, long mask); #define PROP_GET32(win, prop, type, ret) \ (prop_get32(win, prop_atoms.prop, prop_atoms.type, ret))@@ -181,6 +184,7 @@
#define PROP_ERASE(win, prop) prop_erase(win, prop_atoms.prop) #define PROP_MSG(about, msgtype, data0, data1, data2, data3) \ - (prop_message(about, prop_atoms.msgtype, data0, data1, data2, data3)) + (prop_message(about, prop_atoms.msgtype, data0, data1, data2, data3, \ + SubstructureNotifyMask | SubstructureRedirectMask)) #endif