]> Dogcows Code - chaz/openbox/blobdiff - src/XAtom.cc
add support for the kde-override hint, making the windows get no decorations.
[chaz/openbox] / src / XAtom.cc
index f6d0be730f82a5e0deda8b3be4b16ab80b4b5bbc..abd68f183c4224dbdc5670d0ae2db62ee32a9a69 100644 (file)
@@ -151,6 +151,8 @@ XAtom::XAtom(Display *d) {
   _atoms[kde_net_system_tray_windows] = create("_KDE_NET_SYSTEM_TRAY_WINDOWS");
   _atoms[kde_net_wm_system_tray_window_for] =
     create("_KDE_NET_WM_SYSTEM_TRAY_WINDOW_FOR");
+  _atoms[kde_net_wm_window_type_override] =
+    create("_KDE_NET_WM_WINDOW_TYPE_OVERRIDE");
 }
 
 
@@ -491,3 +493,25 @@ void XAtom::eraseValue(Window win, Atoms atom) const {
   assert(atom >= 0 && atom < NUM_ATOMS);
   XDeleteProperty(_display, win, _atoms[atom]);
 }
+
+
+void XAtom::sendClientMessage(Window target, Atoms type, Window about,
+                              long data, long data1, long data2,
+                              long data3) const {
+  assert(atom >= 0 && atom < NUM_ATOMS);
+  assert(target != None);
+
+  XEvent e;
+  e.xclient.type = ClientMessage;
+  e.xclient.format = 32;
+  e.xclient.message_type = _atoms[type];
+  e.xclient.window = about;
+  e.xclient.data.l[0] = data;
+  e.xclient.data.l[1] = data1;
+  e.xclient.data.l[2] = data2;
+  e.xclient.data.l[3] = data3;
+
+  XSendEvent(_display, target, False,
+             SubstructureRedirectMask | SubstructureNotifyMask,
+             &e);
+}
This page took 0.023894 seconds and 4 git commands to generate.