X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2FToolbar.cc;h=8a3ea6b2828acea09a5d0cbd2394fcc9a9e01513;hb=f75083669f65aadd6b32f8ed25880ca362296a2f;hp=5d5e924a3ecddbeda8ac2ba168e0f1a249b80243;hpb=30b899fc025e7fee283be7170bd642b509f5c7b5;p=chaz%2Fopenbox diff --git a/src/Toolbar.cc b/src/Toolbar.cc index 5d5e924a..8a3ea6b2 100644 --- a/src/Toolbar.cc +++ b/src/Toolbar.cc @@ -64,10 +64,10 @@ #include #include -using namespace std; +using std::ends; -Toolbar::Toolbar(BScreen &scrn, Resource &conf) : screen(scrn), - openbox(scrn.getOpenbox()), config(conf) +Toolbar::Toolbar(BScreen &scrn, Resource &conf) : openbox(scrn.getOpenbox()), + screen(scrn), config(conf) { load(); @@ -215,7 +215,7 @@ Toolbar::~Toolbar() { void Toolbar::setOnTop(bool b) { m_ontop = b; - ostrstream s; + std::ostrstream s; s << "session.screen" << screen.getScreenNumber() << ".toolbar.onTop" << ends; config.setValue(s.str(), m_ontop ? "True" : "False"); s.rdbuf()->freeze(0); @@ -223,7 +223,7 @@ void Toolbar::setOnTop(bool b) { void Toolbar::setAutoHide(bool b) { m_autohide = b; - ostrstream s; + std::ostrstream s; s << "session.screen" << screen.getScreenNumber() << ".toolbar.autoHide" << ends; config.setValue(s.str(), m_autohide ? "True" : "False"); @@ -232,7 +232,7 @@ void Toolbar::setAutoHide(bool b) { void Toolbar::setWidthPercent(int w) { m_width_percent = w; - ostrstream s; + std::ostrstream s; s << "session.screen" << screen.getScreenNumber() << ".toolbar.widthPercent" << ends; config.setValue(s.str(), m_width_percent); @@ -241,7 +241,7 @@ void Toolbar::setWidthPercent(int w) { void Toolbar::setPlacement(int p) { m_placement = p; - ostrstream s; + std::ostrstream s; s << "session.screen" << screen.getScreenNumber() << ".toolbar.placement" << ends; const char *placement; @@ -265,8 +265,8 @@ void Toolbar::save() { } void Toolbar::load() { - ostrstream rscreen, rname, rclass; - string s; + std::ostrstream rscreen, rname, rclass; + std::string s; bool b; long l; rscreen << "session.screen" << screen.getScreenNumber() << '.' << ends; @@ -725,7 +725,9 @@ void Toolbar::checkClock(Bool redraw, Bool date) { void Toolbar::redrawWindowLabel(Bool redraw) { OpenboxWindow *foc = screen.getOpenbox().focusedWindow(); - if (foc != (OpenboxWindow *) 0) { + if (foc == (OpenboxWindow *) 0) { + XClearWindow(display, frame.window_label); + } else { if (redraw) XClearWindow(display, frame.window_label); @@ -780,8 +782,6 @@ void Toolbar::redrawWindowLabel(Bool redraw) { else XDrawString(display, frame.window_label, style->w_text_gc, dx, (style->font->ascent + 1), *foc->getTitle(), dlen); - } else { - XClearWindow(display, frame.window_label); } } @@ -1154,9 +1154,9 @@ void Toolbar::keyPressEvent(XKeyEvent *ke) { if (openbox.focusedWindow()) { openbox.focusedWindow()->setInputFocus(); openbox.focusedWindow()->setFocusFlag(True); - } else { - XSetInputFocus(display, PointerRoot, None, CurrentTime); - } + } else + openbox.focusWindow((OpenboxWindow *) 0); + // check to make sure that new_name[0] != 0... otherwise we have a null // workspace name which causes serious problems, especially for the // Openbox::LoadRC() method.