]> Dogcows Code - chaz/openbox/blobdiff - src/Netizen.cc
catch button presses on the window's frame window, else they end up passing up the...
[chaz/openbox] / src / Netizen.cc
index 0a0663b843a817ac5d25a7125ba500c4c4747d91..a50f5e0b82b831ad2ddcebf6f25356685a146521 100644 (file)
@@ -1,4 +1,5 @@
-// Netizen.cc for Openbox
+// -*- mode: C++; indent-tabs-mode: nil; -*-
+// Netizen.cc for Blackbox - An X11 Window Manager
 // Copyright (c) 2001 Sean 'Shaleh' Perry <shaleh@debian.org>
 // Copyright (c) 1997 - 2000 Brad Hughes (bhughes@tcac.net)
 //
 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 // DEALINGS IN THE SOFTWARE.
 
-// stupid macros needed to access some functions in version 2 of the GNU C
-// library
-#ifndef   _GNU_SOURCE
-#define   _GNU_SOURCE
-#endif // _GNU_SOURCE
-
 #ifdef    HAVE_CONFIG_H
 #include "../config.h"
 #endif // HAVE_CONFIG_H
 
-#include "Netizen.h"
-#include "Screen.h"
+#include "Netizen.hh"
+#include "Screen.hh"
+#include "XAtom.hh"
+
+Netizen::Netizen(BScreen *scr, Window win) {
+  screen = scr;
+  blackbox = scr->getBlackbox();
+  xatom = blackbox->getXAtom();
+  window = win;
 
-Netizen::Netizen(BScreen &scr, Window win) : screen(scr),
-  basedisplay(scr.getBaseDisplay()), window(win)
-{
   event.type = ClientMessage;
-  event.xclient.message_type = basedisplay.getOpenboxStructureMessagesAtom();
-  event.xclient.display = basedisplay.getXDisplay();
+  event.xclient.message_type =
+    xatom->getAtom(XAtom::blackbox_structure_messages);
+  event.xclient.display = blackbox->getXDisplay();
   event.xclient.window = window;
   event.xclient.format = 32;
-  event.xclient.data.l[0] = basedisplay.getOpenboxNotifyStartupAtom();
+  event.xclient.data.l[0] = xatom->getAtom(XAtom::blackbox_notify_startup);
   event.xclient.data.l[1] = event.xclient.data.l[2] =
     event.xclient.data.l[3] = event.xclient.data.l[4] = 0l;
 
-  XSendEvent(basedisplay.getXDisplay(), window, False, NoEventMask, &event);
+  XSendEvent(blackbox->getXDisplay(), window, False, NoEventMask, &event);
 }
 
 
 void Netizen::sendWorkspaceCount(void) {
-  event.xclient.data.l[0] = basedisplay.getOpenboxNotifyWorkspaceCountAtom();
-  event.xclient.data.l[1] = screen.getWorkspaceCount();
+  event.xclient.data.l[0] =
+    xatom->getAtom(XAtom::blackbox_notify_workspace_count);
+  event.xclient.data.l[1] = screen->getWorkspaceCount();
 
-  XSendEvent(basedisplay.getXDisplay(), window, False, NoEventMask, &event);
+  XSendEvent(blackbox->getXDisplay(), window, False, NoEventMask, &event);
 }
 
 
 void Netizen::sendCurrentWorkspace(void) {
-  event.xclient.data.l[0] = basedisplay.getOpenboxNotifyCurrentWorkspaceAtom();
-  event.xclient.data.l[1] = screen.getCurrentWorkspaceID();
+  event.xclient.data.l[0] =
+    xatom->getAtom(XAtom::blackbox_notify_current_workspace);
+  event.xclient.data.l[1] = screen->getCurrentWorkspaceID();
 
-  XSendEvent(basedisplay.getXDisplay(), window, False, NoEventMask, &event);
+  XSendEvent(blackbox->getXDisplay(), window, False, NoEventMask, &event);
 }
 
 
 void Netizen::sendWindowFocus(Window w) {
-  event.xclient.data.l[0] = basedisplay.getOpenboxNotifyWindowFocusAtom();
+  event.xclient.data.l[0] = xatom->getAtom(XAtom::blackbox_notify_window_focus);
   event.xclient.data.l[1] = w;
 
-  XSendEvent(basedisplay.getXDisplay(), window, False, NoEventMask, &event);
+  XSendEvent(blackbox->getXDisplay(), window, False, NoEventMask, &event);
 }
 
 
 void Netizen::sendWindowAdd(Window w, unsigned long p) {
-  event.xclient.data.l[0] = basedisplay.getOpenboxNotifyWindowAddAtom();
+  event.xclient.data.l[0] = xatom->getAtom(XAtom::blackbox_notify_window_add);
   event.xclient.data.l[1] = w;
   event.xclient.data.l[2] = p;
 
-  XSendEvent(basedisplay.getXDisplay(), window, False, NoEventMask, &event);
+  XSendEvent(blackbox->getXDisplay(), window, False, NoEventMask, &event);
 
   event.xclient.data.l[2] = 0l;
 }
 
 
 void Netizen::sendWindowDel(Window w) {
-  event.xclient.data.l[0] = basedisplay.getOpenboxNotifyWindowDelAtom();
+  event.xclient.data.l[0] = xatom->getAtom(XAtom::blackbox_notify_window_del);
   event.xclient.data.l[1] = w;
 
-  XSendEvent(basedisplay.getXDisplay(), window, False, NoEventMask, &event);
+  XSendEvent(blackbox->getXDisplay(), window, False, NoEventMask, &event);
 }
 
 
 void Netizen::sendWindowRaise(Window w) {
-  event.xclient.data.l[0] = basedisplay.getOpenboxNotifyWindowRaiseAtom();
+  event.xclient.data.l[0] = xatom->getAtom(XAtom::blackbox_notify_window_raise);
   event.xclient.data.l[1] = w;
 
-  XSendEvent(basedisplay.getXDisplay(), window, False, NoEventMask, &event);
+  XSendEvent(blackbox->getXDisplay(), window, False, NoEventMask, &event);
 }
 
 
 void Netizen::sendWindowLower(Window w) {
-  event.xclient.data.l[0] = basedisplay.getOpenboxNotifyWindowLowerAtom();
+  event.xclient.data.l[0] =
+    xatom->getAtom(XAtom::blackbox_notify_window_lower);
   event.xclient.data.l[1] = w;
 
-  XSendEvent(basedisplay.getXDisplay(), window, False, NoEventMask, &event);
+  XSendEvent(blackbox->getXDisplay(), window, False, NoEventMask, &event);
 }
 
 
 void Netizen::sendConfigNotify(XEvent *e) {
-  XSendEvent(basedisplay.getXDisplay(), window, False,
+  XSendEvent(blackbox->getXDisplay(), window, False,
              StructureNotifyMask, e);
 }
This page took 0.029617 seconds and 4 git commands to generate.