#include <strstream>
#include <string>
+using std::ends;
Toolbar::Toolbar(BScreen &scrn, Resource &conf) : screen(scrn),
openbox(scrn.getOpenbox()), config(conf)
void Toolbar::setAutoHide(bool b) {
m_autohide = b;
std::ostrstream s;
- s << "session.screen" << screen.getScreenNumber() << ".toolbar.autoHide" <<
- ends;
+ s << "session.screen" << screen.getScreenNumber() << ".toolbar.autoHide"
+ << ends;
config.setValue(s.str(), m_autohide ? "True" : "False");
s.rdbuf()->freeze(0);
}
void Toolbar::setPlacement(int p) {
m_placement = p;
std::ostrstream s;
- s << "session.screen" << screen.getScreenNumber() << ".toolbar.placement" <<
- ends;
+ s << "session.screen" << screen.getScreenNumber() << ".toolbar.placement"
+ << ends;
const char *placement;
switch (m_placement) {
case TopLeft: placement = "TopLeft"; break;
m_width_percent =66;
rname.seekp(0); rclass.seekp(0);
+ rname.rdbuf()->freeze(0); rclass.rdbuf()->freeze(0);
rname << rscreen.str() << "toolbar.placement" << ends;
rclass << rscreen.str() << "Toolbar.Placement" << ends;
if (config.getValue(rname.str(), rclass.str(), s)) {
m_placement = BottomCenter;
rname.seekp(0); rclass.seekp(0);
+ rname.rdbuf()->freeze(0); rclass.rdbuf()->freeze(0);
rname << rscreen.str() << "toolbar.onTop" << ends;
rclass << rscreen.str() << "Toolbar.OnTop" << ends;
if (config.getValue(rname.str(), rclass.str(), b))
m_ontop = false;
rname.seekp(0); rclass.seekp(0);
+ rname.rdbuf()->freeze(0); rclass.rdbuf()->freeze(0);
rname << rscreen.str() << "toolbar.autoHide" << ends;
rclass << rscreen.str() << "Toolbar.AutoHide" << ends;
if (config.getValue(rname.str(), rclass.str(), b))
m_hidden = m_autohide = false;
rscreen.rdbuf()->freeze(0);
- rname.rdbuf()->freeze(0);
- rclass.rdbuf()->freeze(0);
+ rname.rdbuf()->freeze(0); rclass.rdbuf()->freeze(0);
}
void Toolbar::reconfigure() {
if (tt) {
char t[1025], *time_string = (char *) 0;
int len = strftime(t, 1024, screen.strftimeFormat(), tt);
- t[len++] = ' '; // add a space to the string for padding
+ t[len++] = 'A'; // add size to the string for padding
+ t[len++] = 'A'; // add size to the string for padding
t[len] = '\0';
if (i18n->multibyte()) {
void Toolbar::redrawWindowLabel(Bool redraw) {
- if (screen.getOpenbox().getFocusedWindow()) {
+ OpenboxWindow *foc = screen.getOpenbox().focusedWindow();
+ if (foc != (OpenboxWindow *) 0) {
if (redraw)
XClearWindow(display, frame.window_label);
- OpenboxWindow *foc = screen.getOpenbox().getFocusedWindow();
if (foc->getScreen() != &screen) return;
int dx = (frame.bevel_w * 2), dlen = strlen(*foc->getTitle());
return;
XSetInputFocus(display, frame.workspace_label,
- ((screen.sloppyFocus()) ? RevertToPointerRoot :
- RevertToParent),
- CurrentTime);
+ RevertToPointerRoot, CurrentTime);
XClearWindow(display, frame.workspace_label);
openbox.setNoFocus(True);
- if (openbox.getFocusedWindow())
- openbox.getFocusedWindow()->setFocusFlag(False);
+ if (openbox.focusedWindow())
+ openbox.focusedWindow()->setFocusFlag(False);
XDrawRectangle(display, frame.workspace_label,
screen.getWindowStyle()->l_text_focus_gc,
m_editing = False;
openbox.setNoFocus(False);
- if (openbox.getFocusedWindow()) {
- openbox.getFocusedWindow()->setInputFocus();
- openbox.getFocusedWindow()->setFocusFlag(True);
+ if (openbox.focusedWindow()) {
+ openbox.focusedWindow()->setInputFocus();
+ openbox.focusedWindow()->setFocusFlag(True);
} else {
XSetInputFocus(display, PointerRoot, None, CurrentTime);
}