#include "otk/image.hh"
#include "otk/assassin.hh"
#include "screen.hh"
-#include "util.hh"
-#include "window.hh"
+#include "otk/util.hh"
+#include "bbwindow.hh"
#include "workspace.hh"
-#include "xatom.hh"
namespace ob {
argv = m_argv;
// try to make sure the ~/.openbox directory exists
- mkdir(expandTilde("~/.openbox").c_str(), S_IREAD | S_IWRITE | S_IEXEC |
+ mkdir(otk::expandTilde("~/.openbox").c_str(), S_IREAD | S_IWRITE | S_IEXEC |
S_IRGRP | S_IWGRP | S_IXGRP |
S_IROTH | S_IWOTH | S_IXOTH);
- if (! rc) rc = "~/.openbox/rc";
- rc_file = expandTilde(rc);
+ if (! rc) rc = "~/.openbox/rc3";
+ rc_file = otk::expandTilde(rc);
config.setFile(rc_file);
no_focus = False;
load_rc();
- xatom = new XAtom(otk::OBDisplay::display);
+ xatom = new otk::OBProperty();
cursor.session = XCreateFontCursor(otk::OBDisplay::display, XC_left_ptr);
cursor.move = XCreateFontCursor(otk::OBDisplay::display, XC_fleur);
reconfigure_wait = False;
- timer = new OBTimer(this);
+ timer = new otk::OBTimer(Openbox::instance->timerManager(),
+ (otk::OBTimeoutHandler)timeout,
+ this);
timer->setTimeout(0l);
}
case ClientMessage: {
if (e->xclient.format == 32) {
- if (e->xclient.message_type == xatom->getAtom(XAtom::wm_change_state)) {
+ if (e->xclient.message_type == xatom->atom(otk::OBProperty::wm_change_state)) {
// WM_CHANGE_STATE message
BlackboxWindow *win = searchWindow(e->xclient.window);
if (! win || ! win->validateClient()) return;
if (e->xclient.data.l[0] == NormalState)
win->deiconify();
} else if (e->xclient.message_type ==
- xatom->getAtom(XAtom::blackbox_change_workspace) ||
+ xatom->atom(otk::OBProperty::blackbox_change_workspace) ||
e->xclient.message_type ==
- xatom->getAtom(XAtom::net_current_desktop)) {
+ xatom->atom(otk::OBProperty::net_current_desktop)) {
// NET_CURRENT_DESKTOP message
BScreen *screen = searchScreen(e->xclient.window);
if (screen && workspace < screen->getWorkspaceCount())
screen->changeWorkspaceID(workspace);
} else if (e->xclient.message_type ==
- xatom->getAtom(XAtom::blackbox_change_window_focus)) {
+ xatom->atom(otk::OBProperty::blackbox_change_window_focus)) {
// TEMP HACK TO KEEP BBKEYS WORKING
BlackboxWindow *win = searchWindow(e->xclient.window);
if (win && win->isVisible() && win->setInputFocus())
win->installColormap(True);
} else if (e->xclient.message_type ==
- xatom->getAtom(XAtom::net_active_window)) {
+ xatom->atom(otk::OBProperty::net_active_window)) {
// NET_ACTIVE_WINDOW
BlackboxWindow *win = searchWindow(e->xclient.window);
}
}
} else if (e->xclient.message_type ==
- xatom->getAtom(XAtom::blackbox_cycle_window_focus)) {
+ xatom->atom(otk::OBProperty::blackbox_cycle_window_focus)) {
// BLACKBOX_CYCLE_WINDOW_FOCUS
BScreen *screen = searchScreen(e->xclient.window);
screen->nextFocus();
}
} else if (e->xclient.message_type ==
- xatom->getAtom(XAtom::net_wm_desktop)) {
+ xatom->atom(otk::OBProperty::net_wm_desktop)) {
// NET_WM_DESKTOP
BlackboxWindow *win = searchWindow(e->xclient.window);
}
}
} else if (e->xclient.message_type ==
- xatom->getAtom(XAtom::blackbox_change_attributes)) {
+ xatom->atom(otk::OBProperty::blackbox_change_attributes)) {
// BLACKBOX_CHANGE_ATTRIBUTES
BlackboxWindow *win = searchWindow(e->xclient.window);
win->changeBlackboxHints(&net);
}
} else if (e->xclient.message_type ==
- xatom->getAtom(XAtom::net_number_of_desktops)) {
+ xatom->atom(otk::OBProperty::net_number_of_desktops)) {
// NET_NUMBER_OF_DESKTOPS
BScreen *screen = searchScreen(e->xclient.window);
if (e->xclient.data.l[0] > 0)
screen->changeWorkspaceCount((unsigned) e->xclient.data.l[0]);
} else if (e->xclient.message_type ==
- xatom->getAtom(XAtom::net_close_window)) {
+ xatom->atom(otk::OBProperty::net_close_window)) {
// NET_CLOSE_WINDOW
BlackboxWindow *win = searchWindow(e->xclient.window);
if (win && win->validateClient())
win->close(); // could this be smarter?
} else if (e->xclient.message_type ==
- xatom->getAtom(XAtom::net_wm_moveresize)) {
+ xatom->atom(otk::OBProperty::net_wm_moveresize)) {
// NET_WM_MOVERESIZE
BlackboxWindow *win = searchWindow(e->xclient.window);
if (win && win->validateClient()) {
int x_root = e->xclient.data.l[0],
y_root = e->xclient.data.l[1];
if ((Atom) e->xclient.data.l[2] ==
- xatom->getAtom(XAtom::net_wm_moveresize_move)) {
+ xatom->atom(otk::OBProperty::net_wm_moveresize_move)) {
win->beginMove(x_root, y_root);
} else {
if ((Atom) e->xclient.data.l[2] ==
- xatom->getAtom(XAtom::net_wm_moveresize_size_topleft))
+ xatom->atom(otk::OBProperty::net_wm_moveresize_size_topleft))
win->beginResize(x_root, y_root, BlackboxWindow::TopLeft);
else if ((Atom) e->xclient.data.l[2] ==
- xatom->getAtom(XAtom::net_wm_moveresize_size_topright))
+ xatom->atom(otk::OBProperty::net_wm_moveresize_size_topright))
win->beginResize(x_root, y_root, BlackboxWindow::TopRight);
else if ((Atom) e->xclient.data.l[2] ==
- xatom->getAtom(XAtom::net_wm_moveresize_size_bottomleft))
+ xatom->atom(otk::OBProperty::net_wm_moveresize_size_bottomleft))
win->beginResize(x_root, y_root, BlackboxWindow::BottomLeft);
else if ((Atom) e->xclient.data.l[2] ==
- xatom->getAtom(XAtom::net_wm_moveresize_size_bottomright))
+ xatom->atom(otk::OBProperty::net_wm_moveresize_size_bottomright))
win->beginResize(x_root, y_root, BlackboxWindow::BottomRight);
}
}
} else if (e->xclient.message_type ==
- xatom->getAtom(XAtom::net_wm_state)) {
+ xatom->atom(otk::OBProperty::net_wm_state)) {
// NET_WM_STATE
BlackboxWindow *win = searchWindow(e->xclient.window);
if (win && win->validateClient()) {
if ((Atom) e->xclient.data.l[0] == 1) {
// ADD
- if (state[i] == xatom->getAtom(XAtom::net_wm_state_modal)) {
+ if (state[i] == xatom->atom(otk::OBProperty::net_wm_state_modal)) {
win->setModal(True);
} else if (state[i] ==
- xatom->getAtom(XAtom::net_wm_state_maximized_vert)) {
+ xatom->atom(otk::OBProperty::net_wm_state_maximized_vert)) {
if (win->isMaximizedHoriz()) {
win->maximize(0); // unmaximize
win->maximize(1); // full
win->maximize(2); // vert
}
} else if (state[i] ==
- xatom->getAtom(XAtom::net_wm_state_maximized_horz)) {
+ xatom->atom(otk::OBProperty::net_wm_state_maximized_horz)) {
if (win->isMaximizedVert()) {
win->maximize(0); // unmaximize
win->maximize(1); // full
win->maximize(3); // horiz
}
} else if (state[i] ==
- xatom->getAtom(XAtom::net_wm_state_shaded)) {
+ xatom->atom(otk::OBProperty::net_wm_state_shaded)) {
if (! win->isShaded())
win->shade();
} else if (state[i] ==
- xatom->getAtom(XAtom::net_wm_state_skip_taskbar)) {
+ xatom->atom(otk::OBProperty::net_wm_state_skip_taskbar)) {
win->setSkipTaskbar(True);
} else if (state[i] ==
- xatom->getAtom(XAtom::net_wm_state_skip_pager)) {
+ xatom->atom(otk::OBProperty::net_wm_state_skip_pager)) {
win->setSkipPager(True);
} else if (state[i] ==
- xatom->getAtom(XAtom::net_wm_state_fullscreen)) {
+ xatom->atom(otk::OBProperty::net_wm_state_fullscreen)) {
win->setFullscreen(True);
}
} else if (action == 0) {
// REMOVE
- if (state[i] == xatom->getAtom(XAtom::net_wm_state_modal)) {
+ if (state[i] == xatom->atom(otk::OBProperty::net_wm_state_modal)) {
win->setModal(False);
} else if (state[i] ==
- xatom->getAtom(XAtom::net_wm_state_maximized_vert)) {
+ xatom->atom(otk::OBProperty::net_wm_state_maximized_vert)) {
if (win->isMaximizedFull()) {
win->maximize(0); // unmaximize
win->maximize(3); // horiz
win->maximize(0); // unmaximize
}
} else if (state[i] ==
- xatom->getAtom(XAtom::net_wm_state_maximized_horz)) {
+ xatom->atom(otk::OBProperty::net_wm_state_maximized_horz)) {
if (win->isMaximizedFull()) {
win->maximize(0); // unmaximize
win->maximize(2); // vert
win->maximize(0); // unmaximize
}
} else if (state[i] ==
- xatom->getAtom(XAtom::net_wm_state_shaded)) {
+ xatom->atom(otk::OBProperty::net_wm_state_shaded)) {
if (win->isShaded())
win->shade();
} else if (state[i] ==
- xatom->getAtom(XAtom::net_wm_state_skip_taskbar)) {
+ xatom->atom(otk::OBProperty::net_wm_state_skip_taskbar)) {
win->setSkipTaskbar(False);
} else if (state[i] ==
- xatom->getAtom(XAtom::net_wm_state_skip_pager)) {
+ xatom->atom(otk::OBProperty::net_wm_state_skip_pager)) {
win->setSkipPager(False);
} else if (state[i] ==
- xatom->getAtom(XAtom::net_wm_state_fullscreen)) {
+ xatom->atom(otk::OBProperty::net_wm_state_fullscreen)) {
win->setFullscreen(False);
}
} else if (action == 2) {
// TOGGLE
- if (state[i] == xatom->getAtom(XAtom::net_wm_state_modal)) {
+ if (state[i] == xatom->atom(otk::OBProperty::net_wm_state_modal)) {
win->setModal(! win->isModal());
} else if (state[i] ==
- xatom->getAtom(XAtom::net_wm_state_maximized_vert)) {
+ xatom->atom(otk::OBProperty::net_wm_state_maximized_vert)) {
if (win->isMaximizedFull()) {
win->maximize(0); // unmaximize
win->maximize(3); // horiz
win->maximize(2); // vert
}
} else if (state[i] ==
- xatom->getAtom(XAtom::net_wm_state_maximized_horz)) {
+ xatom->atom(otk::OBProperty::net_wm_state_maximized_horz)) {
if (win->isMaximizedFull()) {
win->maximize(0); // unmaximize
win->maximize(2); // vert
win->maximize(3); // horiz
}
} else if (state[i] ==
- xatom->getAtom(XAtom::net_wm_state_shaded)) {
+ xatom->atom(otk::OBProperty::net_wm_state_shaded)) {
win->shade();
} else if (state[i] ==
- xatom->getAtom(XAtom::net_wm_state_skip_taskbar)) {
+ xatom->atom(otk::OBProperty::net_wm_state_skip_taskbar)) {
win->setSkipTaskbar(! win->skipTaskbar());
} else if (state[i] ==
- xatom->getAtom(XAtom::net_wm_state_skip_pager)) {
+ xatom->atom(otk::OBProperty::net_wm_state_skip_pager)) {
win->setSkipPager(! win->skipPager());
} else if (state[i] ==
- xatom->getAtom(XAtom::net_wm_state_fullscreen)) {
+ xatom->atom(otk::OBProperty::net_wm_state_fullscreen)) {
win->setFullscreen(! win->isFullscreen());
}
}
default: {
#ifdef SHAPE
- if (e->type == getShapeEventBase()) {
+ if (e->type == otk::OBDisplay::shapeEventBase()) {
XShapeEvent *shape_event = (XShapeEvent *) e;
BlackboxWindow *win = searchWindow(e->xany.window);
else if (resource.colors_per_channel > 6) resource.colors_per_channel = 6;
if (config.getValue("session.styleFile", s))
- resource.style_file = expandTilde(s);
+ resource.style_file = otk::expandTilde(s);
else
resource.style_file = DEFAULTSTYLE;
reconfigure_wait = True;
- if (! timer->isTiming()) timer->start();
+ if (! timer->timing()) timer->start();
}
}
-void Blackbox::timeout(void) {
- if (reconfigure_wait)
- real_reconfigure();
+void Blackbox::timeout(Blackbox *t) {
+ if (t->reconfigure_wait)
+ t->real_reconfigure();
- reconfigure_wait = False;
+ t->reconfigure_wait = False;
}