X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2FXAtom.cc;h=abd68f183c4224dbdc5670d0ae2db62ee32a9a69;hb=aa9ade7a902a3482fd68d05393fe53dac47a4df5;hp=f6d0be730f82a5e0deda8b3be4b16ab80b4b5bbc;hpb=e8b6f65186587ac8e79fcc81d8006ea1270a02d4;p=chaz%2Fopenbox diff --git a/src/XAtom.cc b/src/XAtom.cc index f6d0be73..abd68f18 100644 --- a/src/XAtom.cc +++ b/src/XAtom.cc @@ -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); +}