X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2Fbbwindow.cc;h=88d62b0b55b407cc64592bfecfe8343c210c65b0;hb=37be3ef9249b452b8edec25a441aefff80c2d4b8;hp=17c539662d3ade7f71d67573059a4451d4741e85;hpb=6f8b36ff823e0eeabc439d15255353516745e23f;p=chaz%2Fopenbox diff --git a/src/bbwindow.cc b/src/bbwindow.cc index 17c53966..88d62b0b 100644 --- a/src/bbwindow.cc +++ b/src/bbwindow.cc @@ -28,10 +28,12 @@ extern "C" { #include "gccache.hh" #include "image.hh" #include "screen.hh" -#include "util.hh" -#include "window.hh" +#include "bbwindow.hh" #include "workspace.hh" +#include "otk/util.hh" +#include "otk/style.hh" + using std::string; using std::abs; @@ -94,7 +96,7 @@ BlackboxWindow::BlackboxWindow(Blackbox *b, Window w, BScreen *s) { flags.skip_pager = flags.fullscreen = False; flags.maximized = 0; - blackbox_attrib.workspace = window_number = BSENTINEL; + blackbox_attrib.workspace = window_number = otk::BSENTINEL; blackbox_attrib.flags = blackbox_attrib.attrib = blackbox_attrib.stack = 0l; blackbox_attrib.decoration = DecorNormal; @@ -1049,8 +1051,9 @@ void BlackboxWindow::positionWindows(void) { void BlackboxWindow::updateStrut(void) { unsigned long num = 4; unsigned long *data; - if (! xatom->getValue(client.window, XAtom::net_wm_strut, XAtom::cardinal, - num, &data)) + if (! xatom->get(client.window, otk::OBProperty::net_wm_strut, + otk::OBProperty::Atom_Cardinal, + &num, &data)) return; if (num == 4) { @@ -1071,27 +1074,28 @@ bool BlackboxWindow::getWindowType(void) { unsigned long *val; unsigned long num = (unsigned) -1; - if (xatom->getValue(client.window, XAtom::net_wm_window_type, XAtom::atom, - num, &val)) { + if (xatom->get(client.window, otk::OBProperty::net_wm_window_type, + otk::OBProperty::Atom_Atom, + &num, &val)) { for (unsigned long i = 0; i < num; ++i) { - if (val[i] == xatom->getAtom(XAtom::net_wm_window_type_desktop)) + if (val[i] == xatom->atom(otk::OBProperty::net_wm_window_type_desktop)) window_type = Type_Desktop; - else if (val[i] == xatom->getAtom(XAtom::net_wm_window_type_dock)) + else if (val[i] == xatom->atom(otk::OBProperty::net_wm_window_type_dock)) window_type = Type_Dock; - else if (val[i] == xatom->getAtom(XAtom::net_wm_window_type_toolbar)) + else if (val[i] == xatom->atom(otk::OBProperty::net_wm_window_type_toolbar)) window_type = Type_Toolbar; - else if (val[i] == xatom->getAtom(XAtom::net_wm_window_type_menu)) + else if (val[i] == xatom->atom(otk::OBProperty::net_wm_window_type_menu)) window_type = Type_Menu; - else if (val[i] == xatom->getAtom(XAtom::net_wm_window_type_utility)) + else if (val[i] == xatom->atom(otk::OBProperty::net_wm_window_type_utility)) window_type = Type_Utility; - else if (val[i] == xatom->getAtom(XAtom::net_wm_window_type_splash)) + else if (val[i] == xatom->atom(otk::OBProperty::net_wm_window_type_splash)) window_type = Type_Splash; - else if (val[i] == xatom->getAtom(XAtom::net_wm_window_type_dialog)) + else if (val[i] == xatom->atom(otk::OBProperty::net_wm_window_type_dialog)) window_type = Type_Dialog; - else if (val[i] == xatom->getAtom(XAtom::net_wm_window_type_normal)) + else if (val[i] == xatom->atom(otk::OBProperty::net_wm_window_type_normal)) window_type = Type_Normal; else if (val[i] == - xatom->getAtom(XAtom::kde_net_wm_window_type_override)) + xatom->atom(otk::OBProperty::kde_net_wm_window_type_override)) mwm_decorations = 0; // prevent this window from getting any decor } delete val; @@ -1115,22 +1119,23 @@ bool BlackboxWindow::getWindowType(void) { void BlackboxWindow::getWMName(void) { - if (xatom->getValue(client.window, XAtom::net_wm_name, - XAtom::utf8, client.title) && + if (xatom->get(client.window, otk::OBProperty::net_wm_name, + otk::OBProperty::utf8, &client.title) && !client.title.empty()) { - xatom->eraseValue(client.window, XAtom::net_wm_visible_name); + xatom->erase(client.window, otk::OBProperty::net_wm_visible_name); return; } //fall through to using WM_NAME - if (xatom->getValue(client.window, XAtom::wm_name, XAtom::ansi, client.title) + if (xatom->get(client.window, otk::OBProperty::wm_name, + otk::OBProperty::ascii, &client.title) && !client.title.empty()) { - xatom->eraseValue(client.window, XAtom::net_wm_visible_name); + xatom->erase(client.window, otk::OBProperty::net_wm_visible_name); return; } // fall back to an internal default client.title = "Unnamed"; - xatom->setValue(client.window, XAtom::net_wm_visible_name, XAtom::utf8, - client.title); + xatom->set(client.window, otk::OBProperty::net_wm_visible_name, + otk::OBProperty::utf8, client.title); #ifdef DEBUG_WITH_ID // the 16 is the 8 chars of the debug text plus the number @@ -1143,23 +1148,25 @@ void BlackboxWindow::getWMName(void) { void BlackboxWindow::getWMIconName(void) { - if (xatom->getValue(client.window, XAtom::net_wm_icon_name, - XAtom::utf8, client.icon_title) && + if (xatom->get(client.window, otk::OBProperty::net_wm_icon_name, + otk::OBProperty::utf8, &client.icon_title) && !client.icon_title.empty()) { - xatom->eraseValue(client.window, XAtom::net_wm_visible_icon_name); + xatom->erase(client.window, otk::OBProperty::net_wm_visible_icon_name); return; } //fall through to using WM_ICON_NAME - if (xatom->getValue(client.window, XAtom::wm_icon_name, XAtom::ansi, - client.icon_title) && + if (xatom->get(client.window, otk::OBProperty::wm_icon_name, + otk::OBProperty::ascii, + &client.icon_title) && !client.icon_title.empty()) { - xatom->eraseValue(client.window, XAtom::net_wm_visible_icon_name); + xatom->erase(client.window, otk::OBProperty::net_wm_visible_icon_name); return; } // fall back to using the main name client.icon_title = client.title; - xatom->setValue(client.window, XAtom::net_wm_visible_icon_name, XAtom::utf8, - client.icon_title); + xatom->set(client.window, otk::OBProperty::net_wm_visible_icon_name, + otk::OBProperty::utf8, + client.icon_title); } @@ -1177,10 +1184,10 @@ void BlackboxWindow::getWMProtocols(void) { if (XGetWMProtocols(otk::OBDisplay::display, client.window, &proto, &num_return)) { for (int i = 0; i < num_return; ++i) { - if (proto[i] == xatom->getAtom(XAtom::wm_delete_window)) { + if (proto[i] == xatom->atom(otk::OBProperty::wm_delete_window)) { decorations |= Decor_Close; functions |= Func_Close; - } else if (proto[i] == xatom->getAtom(XAtom::wm_take_focus)) + } else if (proto[i] == xatom->atom(otk::OBProperty::wm_take_focus)) flags.send_focus_message = True; } @@ -1318,8 +1325,9 @@ void BlackboxWindow::getWMNormalHints(void) { void BlackboxWindow::getNetWMHints(void) { unsigned long workspace; - if (xatom->getValue(client.window, XAtom::net_wm_desktop, XAtom::cardinal, - workspace)) { + if (xatom->get(client.window, otk::OBProperty::net_wm_desktop, + otk::OBProperty::Atom_Cardinal, + &workspace)) { if (workspace == 0xffffffff) flags.stuck = True; else @@ -1328,26 +1336,27 @@ void BlackboxWindow::getNetWMHints(void) { unsigned long *state; unsigned long num = (unsigned) -1; - if (xatom->getValue(client.window, XAtom::net_wm_state, XAtom::atom, - num, &state)) { + if (xatom->get(client.window, otk::OBProperty::net_wm_state, + otk::OBProperty::Atom_Atom, + &num, &state)) { bool vert = False, horz = False; for (unsigned long i = 0; i < num; ++i) { - if (state[i] == xatom->getAtom(XAtom::net_wm_state_modal)) + if (state[i] == xatom->atom(otk::OBProperty::net_wm_state_modal)) flags.modal = True; - else if (state[i] == xatom->getAtom(XAtom::net_wm_state_shaded)) + else if (state[i] == xatom->atom(otk::OBProperty::net_wm_state_shaded)) flags.shaded = True; - else if (state[i] == xatom->getAtom(XAtom::net_wm_state_skip_taskbar)) + else if (state[i] == xatom->atom(otk::OBProperty::net_wm_state_skip_taskbar)) flags.skip_taskbar = True; - else if (state[i] == xatom->getAtom(XAtom::net_wm_state_skip_pager)) + else if (state[i] == xatom->atom(otk::OBProperty::net_wm_state_skip_pager)) flags.skip_pager = True; - else if (state[i] == xatom->getAtom(XAtom::net_wm_state_fullscreen)) + else if (state[i] == xatom->atom(otk::OBProperty::net_wm_state_fullscreen)) flags.fullscreen = True; - else if (state[i] == xatom->getAtom(XAtom::net_wm_state_hidden)) + else if (state[i] == xatom->atom(otk::OBProperty::net_wm_state_hidden)) setState(IconicState); - else if (state[i] == xatom->getAtom(XAtom::net_wm_state_maximized_vert)) + else if (state[i] == xatom->atom(otk::OBProperty::net_wm_state_maximized_vert)) vert = True; - else if (state[i] == xatom->getAtom(XAtom::net_wm_state_maximized_horz)) + else if (state[i] == xatom->atom(otk::OBProperty::net_wm_state_maximized_horz)) horz = True; } if (vert && horz) @@ -1374,9 +1383,9 @@ void BlackboxWindow::getMWMHints(void) { MwmHints *mwm_hint; num = PropMwmHintsElements; - if (! xatom->getValue(client.window, XAtom::motif_wm_hints, - XAtom::motif_wm_hints, num, - (unsigned long **)&mwm_hint)) + if (! xatom->get(client.window, otk::OBProperty::motif_wm_hints, + otk::OBProperty::motif_wm_hints, &num, + (unsigned long **)&mwm_hint)) return; if (num < PropMwmHintsElements) { delete [] mwm_hint; @@ -1438,9 +1447,9 @@ bool BlackboxWindow::getBlackboxHints(void) { BlackboxHints *blackbox_hint; num = PropBlackboxHintsElements; - if (! xatom->getValue(client.window, XAtom::blackbox_hints, - XAtom::blackbox_hints, num, - (unsigned long **)&blackbox_hint)) + if (! xatom->get(client.window, otk::OBProperty::blackbox_hints, + otk::OBProperty::blackbox_hints, &num, + (unsigned long **)&blackbox_hint)) return False; if (num < PropBlackboxHintsElements) { delete [] blackbox_hint; @@ -1721,11 +1730,11 @@ bool BlackboxWindow::setInputFocus(void) { if (flags.send_focus_message) { XEvent ce; ce.xclient.type = ClientMessage; - ce.xclient.message_type = xatom->getAtom(XAtom::wm_protocols); + ce.xclient.message_type = xatom->atom(otk::OBProperty::wm_protocols); ce.xclient.display = otk::OBDisplay::display; ce.xclient.window = client.window; ce.xclient.format = 32; - ce.xclient.data.l[0] = xatom->getAtom(XAtom::wm_take_focus); + ce.xclient.data.l[0] = xatom->atom(otk::OBProperty::wm_take_focus); ce.xclient.data.l[1] = blackbox->getLastTime(); ce.xclient.data.l[2] = 0l; ce.xclient.data.l[3] = 0l; @@ -1823,7 +1832,7 @@ void BlackboxWindow::show(void) { void BlackboxWindow::deiconify(bool reassoc, bool raise) { if (flags.iconic || reassoc) - screen->reassociateWindow(this, BSENTINEL, False); + screen->reassociateWindow(this, otk::BSENTINEL, False); else if (blackbox_attrib.workspace != screen->getCurrentWorkspaceID()) return; @@ -1846,11 +1855,11 @@ void BlackboxWindow::close(void) { XEvent ce; ce.xclient.type = ClientMessage; - ce.xclient.message_type = xatom->getAtom(XAtom::wm_protocols); + ce.xclient.message_type = xatom->atom(otk::OBProperty::wm_protocols); ce.xclient.display = otk::OBDisplay::display; ce.xclient.window = client.window; ce.xclient.format = 32; - ce.xclient.data.l[0] = xatom->getAtom(XAtom::wm_delete_window); + ce.xclient.data.l[0] = xatom->atom(otk::OBProperty::wm_delete_window); ce.xclient.data.l[1] = CurrentTime; ce.xclient.data.l[2] = 0l; ce.xclient.data.l[3] = 0l; @@ -2026,7 +2035,7 @@ void BlackboxWindow::remaximize(void) { void BlackboxWindow::setWorkspace(unsigned int n) { blackbox_attrib.flags |= AttribWorkspace; blackbox_attrib.workspace = n; - if (n == BSENTINEL) { // iconified window + if (n == otk::BSENTINEL) { // iconified window /* we set the workspace to 'all workspaces' so that taskbars will show the window. otherwise, it made uniconifying a window imposible without the @@ -2034,7 +2043,8 @@ void BlackboxWindow::setWorkspace(unsigned int n) { */ n = 0xffffffff; } - xatom->setValue(client.window, XAtom::net_wm_desktop, XAtom::cardinal, n); + xatom->set(client.window, otk::OBProperty::net_wm_desktop, + otk::OBProperty::Atom_Cardinal, n); } @@ -2084,11 +2094,12 @@ void BlackboxWindow::stick(void) { screen->getWorkspace(i)->removeWindow(this, True); if (! flags.iconic) - screen->reassociateWindow(this, BSENTINEL, True); + screen->reassociateWindow(this, otk::BSENTINEL, True); // temporary fix since sticky windows suck. set the hint to what we // actually hold in our data. - xatom->setValue(client.window, XAtom::net_wm_desktop, XAtom::cardinal, - blackbox_attrib.workspace); + xatom->set(client.window, otk::OBProperty::net_wm_desktop, + otk::OBProperty::Atom_Cardinal, + blackbox_attrib.workspace); setState(current_state); } else { @@ -2099,8 +2110,9 @@ void BlackboxWindow::stick(void) { // temporary fix since sticky windows suck. set the hint to a different // value than that contained in the class' data. - xatom->setValue(client.window, XAtom::net_wm_desktop, XAtom::cardinal, - 0xffffffff); + xatom->set(client.window, otk::OBProperty::net_wm_desktop, + otk::OBProperty::Atom_Cardinal, + 0xffffffff); for (unsigned int i = 0; i < screen->getNumberOfWorkspaces(); ++i) if (i != blackbox_attrib.workspace) @@ -2254,21 +2266,22 @@ void BlackboxWindow::setAllowedActions(void) { Atom actions[7]; int num = 0; - actions[num++] = xatom->getAtom(XAtom::net_wm_action_shade); - actions[num++] = xatom->getAtom(XAtom::net_wm_action_change_desktop); - actions[num++] = xatom->getAtom(XAtom::net_wm_action_close); + actions[num++] = xatom->atom(otk::OBProperty::net_wm_action_shade); + actions[num++] = xatom->atom(otk::OBProperty::net_wm_action_change_desktop); + actions[num++] = xatom->atom(otk::OBProperty::net_wm_action_close); if (functions & Func_Move) - actions[num++] = xatom->getAtom(XAtom::net_wm_action_move); + actions[num++] = xatom->atom(otk::OBProperty::net_wm_action_move); if (functions & Func_Resize) - actions[num++] = xatom->getAtom(XAtom::net_wm_action_resize); + actions[num++] = xatom->atom(otk::OBProperty::net_wm_action_resize); if (functions & Func_Maximize) { - actions[num++] = xatom->getAtom(XAtom::net_wm_action_maximize_horz); - actions[num++] = xatom->getAtom(XAtom::net_wm_action_maximize_vert); + actions[num++] = xatom->atom(otk::OBProperty::net_wm_action_maximize_horz); + actions[num++] = xatom->atom(otk::OBProperty::net_wm_action_maximize_vert); } - xatom->setValue(client.window, XAtom::net_wm_allowed_actions, XAtom::atom, - actions, num); + xatom->set(client.window, otk::OBProperty::net_wm_allowed_actions, + otk::OBProperty::Atom_Atom, + actions, num); } @@ -2278,38 +2291,39 @@ void BlackboxWindow::setState(unsigned long new_state) { unsigned long state[2]; state[0] = current_state; state[1] = None; - xatom->setValue(client.window, XAtom::wm_state, XAtom::wm_state, state, 2); + xatom->set(client.window, otk::OBProperty::wm_state, otk::OBProperty::wm_state, state, 2); - xatom->setValue(client.window, XAtom::blackbox_attributes, - XAtom::blackbox_attributes, (unsigned long *)&blackbox_attrib, + xatom->set(client.window, otk::OBProperty::blackbox_attributes, + otk::OBProperty::blackbox_attributes, (unsigned long *)&blackbox_attrib, PropBlackboxAttributesElements); Atom netstate[8]; int num = 0; if (flags.modal) - netstate[num++] = xatom->getAtom(XAtom::net_wm_state_modal); + netstate[num++] = xatom->atom(otk::OBProperty::net_wm_state_modal); if (flags.shaded) - netstate[num++] = xatom->getAtom(XAtom::net_wm_state_shaded); + netstate[num++] = xatom->atom(otk::OBProperty::net_wm_state_shaded); if (flags.iconic) - netstate[num++] = xatom->getAtom(XAtom::net_wm_state_hidden); + netstate[num++] = xatom->atom(otk::OBProperty::net_wm_state_hidden); if (flags.skip_taskbar) - netstate[num++] = xatom->getAtom(XAtom::net_wm_state_skip_taskbar); + netstate[num++] = xatom->atom(otk::OBProperty::net_wm_state_skip_taskbar); if (flags.skip_pager) - netstate[num++] = xatom->getAtom(XAtom::net_wm_state_skip_pager); + netstate[num++] = xatom->atom(otk::OBProperty::net_wm_state_skip_pager); if (flags.fullscreen) - netstate[num++] = xatom->getAtom(XAtom::net_wm_state_fullscreen); + netstate[num++] = xatom->atom(otk::OBProperty::net_wm_state_fullscreen); if (flags.maximized == 1 || flags.maximized == 2) - netstate[num++] = xatom->getAtom(XAtom::net_wm_state_maximized_vert); + netstate[num++] = xatom->atom(otk::OBProperty::net_wm_state_maximized_vert); if (flags.maximized == 1 || flags.maximized == 3) - netstate[num++] = xatom->getAtom(XAtom::net_wm_state_maximized_horz); - xatom->setValue(client.window, XAtom::net_wm_state, XAtom::atom, - netstate, num); + netstate[num++] = xatom->atom(otk::OBProperty::net_wm_state_maximized_horz); + xatom->set(client.window, otk::OBProperty::net_wm_state, + otk::OBProperty::Atom_Atom, + netstate, num); } bool BlackboxWindow::getState(void) { - bool ret = xatom->getValue(client.window, XAtom::wm_state, XAtom::wm_state, - current_state); + bool ret = xatom->get(client.window, otk::OBProperty::wm_state, + otk::OBProperty::wm_state, ¤t_state); if (! ret) current_state = 0; return ret; } @@ -2318,8 +2332,8 @@ bool BlackboxWindow::getState(void) { void BlackboxWindow::restoreAttributes(void) { unsigned long num = PropBlackboxAttributesElements; BlackboxAttributes *net; - if (! xatom->getValue(client.window, XAtom::blackbox_attributes, - XAtom::blackbox_attributes, num, + if (! xatom->get(client.window, otk::OBProperty::blackbox_attributes, + otk::OBProperty::blackbox_attributes, &num, (unsigned long **)&net)) return; if (num < PropBlackboxAttributesElements) { @@ -2552,7 +2566,7 @@ void BlackboxWindow::redrawLabel(void) const { } XClearWindow(otk::OBDisplay::display, frame.label); - WindowStyle *style = screen->getWindowStyle(); + otk::Style *style = screen->getWindowStyle(); int pos = frame.bevel_w * 2; style->doJustify(client.title.c_str(), pos, frame.label_w, frame.bevel_w * 4); @@ -2615,7 +2629,7 @@ void BlackboxWindow::redrawIconifyButton(bool pressed) const { otk::BPen pen((flags.focused) ? screen->getWindowStyle()->b_pic_focus : screen->getWindowStyle()->b_pic_unfocus); - PixmapMask pm = screen->getWindowStyle()->icon_button; + otk::Style::PixmapMask pm = screen->getWindowStyle()->icon_button; if (screen->getWindowStyle()->icon_button.mask != None) { XSetClipMask(otk::OBDisplay::display, pen.gc(), pm.mask); @@ -2647,7 +2661,7 @@ void BlackboxWindow::redrawMaximizeButton(bool pressed) const { otk::BPen pen((flags.focused) ? screen->getWindowStyle()->b_pic_focus : screen->getWindowStyle()->b_pic_unfocus); - PixmapMask pm = screen->getWindowStyle()->max_button; + otk::Style::PixmapMask pm = screen->getWindowStyle()->max_button; if (pm.mask != None) { XSetClipMask(otk::OBDisplay::display, pen.gc(), pm.mask); @@ -2681,7 +2695,7 @@ void BlackboxWindow::redrawCloseButton(bool pressed) const { otk::BPen pen((flags.focused) ? screen->getWindowStyle()->b_pic_focus : screen->getWindowStyle()->b_pic_unfocus); - PixmapMask pm = screen->getWindowStyle()->close_button; + otk::Style::PixmapMask pm = screen->getWindowStyle()->close_button; if (pm.mask != None) { XSetClipMask(otk::OBDisplay::display, pen.gc(), pm.mask); @@ -2715,7 +2729,7 @@ void BlackboxWindow::redrawStickyButton(bool pressed) const { otk::BPen pen((flags.focused) ? screen->getWindowStyle()->b_pic_focus : screen->getWindowStyle()->b_pic_unfocus); - PixmapMask pm = screen->getWindowStyle()->stick_button; + otk::Style::PixmapMask pm = screen->getWindowStyle()->stick_button; if (pm.mask != None) { XSetClipMask(otk::OBDisplay::display, pen.gc(), pm.mask); @@ -2875,7 +2889,7 @@ void BlackboxWindow::propertyNotifyEvent(const XPropertyEvent *pe) { if (flags.iconic) screen->propagateWindowName(this); break; - case XAtom::net_wm_name: + case otk::OBProperty::net_wm_name: case XA_WM_NAME: getWMName(); @@ -2917,7 +2931,7 @@ void BlackboxWindow::propertyNotifyEvent(const XPropertyEvent *pe) { } default: - if (pe->atom == xatom->getAtom(XAtom::wm_protocols)) { + if (pe->atom == xatom->atom(otk::OBProperty::wm_protocols)) { getWMProtocols(); if ((decorations & Decor_Close) && (! frame.close_button)) { @@ -2927,7 +2941,7 @@ void BlackboxWindow::propertyNotifyEvent(const XPropertyEvent *pe) { XMapSubwindows(otk::OBDisplay::display, frame.title); } } - } else if (pe->atom == xatom->getAtom(XAtom::net_wm_strut)) { + } else if (pe->atom == xatom->atom(otk::OBProperty::net_wm_strut)) { updateStrut(); } @@ -3876,8 +3890,8 @@ void BlackboxWindow::restore(bool remap) { // erase the netwm stuff that we read when a window maps, so that it // doesn't persist between mappings. // (these are the ones read in getNetWMFlags().) - xatom->eraseValue(client.window, XAtom::net_wm_desktop); - xatom->eraseValue(client.window, XAtom::net_wm_state); + xatom->erase(client.window, otk::OBProperty::net_wm_desktop); + xatom->erase(client.window, otk::OBProperty::net_wm_state); restoreGravity(client.rect); @@ -3976,12 +3990,12 @@ void BlackboxWindow::changeBlackboxHints(const BlackboxHints *net) { * window's dimensions. */ void BlackboxWindow::upsize(void) { - frame.bevel_w = screen->getBevelWidth(); + frame.bevel_w = screen->getWindowStyle()->getBevelWidth(); if (decorations & Decor_Border) { - frame.border_w = screen->getBorderWidth(); + frame.border_w = screen->getWindowStyle()->getBorderWidth(); if (! isTransient()) - frame.mwm_border_w = screen->getFrameWidth(); + frame.mwm_border_w = screen->getWindowSty2le()->getFrameWidth(); else frame.mwm_border_w = 0; } else { @@ -3991,7 +4005,7 @@ void BlackboxWindow::upsize(void) { if (decorations & Decor_Titlebar) { // the height of the titlebar is based upon the height of the font being // used to display the window's title - WindowStyle *style = screen->getWindowStyle(); + otk::Style *style = screen->getWindowStyle(); frame.title_h = style->font->height() + (frame.bevel_w * 2) + 2; frame.label_h = frame.title_h - (frame.bevel_w * 2); @@ -4014,7 +4028,7 @@ void BlackboxWindow::upsize(void) { if (decorations & Decor_Handle) { frame.grip_w = frame.button_w * 2; - frame.handle_h = screen->getHandleWidth(); + frame.handle_h = screen->getWindowStyle()->getHandleWidth(); // set the bottom frame margin frame.margin.bottom = frame.border_w + frame.handle_h + @@ -4145,32 +4159,6 @@ void BlackboxWindow::constrain(Corner anchor, } -void WindowStyle::doJustify(const std::string &text, int &start_pos, - unsigned int max_length, - unsigned int modifier) const { - size_t text_len = text.size(); - unsigned int length; - - do { - length = font->measureString(string(text, 0, text_len)) + modifier; - } while (length > max_length && text_len-- > 0); - - switch (justify) { - case RightJustify: - start_pos += max_length - length; - break; - - case CenterJustify: - start_pos += (max_length - length) / 2; - break; - - case LeftJustify: - default: - break; - } -} - - BWindowGroup::BWindowGroup(Blackbox *b, Window _group) : blackbox(b), group(_group) { XWindowAttributes wattrib;