X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2FToolbar.cc;h=dac1ad7f16611b8189d8b5e29deffa92062b7e4f;hb=20bc088a998a362977233086577d74d00eea8765;hp=f6ff130a8d633bdf6f381d7e6c982e90d19c2bd3;hpb=be2f47223c17c399e05436a34ba4140f2fc44fc9;p=chaz%2Fopenbox diff --git a/src/Toolbar.cc b/src/Toolbar.cc index f6ff130a..dac1ad7f 100644 --- a/src/Toolbar.cc +++ b/src/Toolbar.cc @@ -77,8 +77,8 @@ static long aMinuteFromNow(void) { Toolbar::Toolbar(BScreen *scrn) { screen = scrn; blackbox = screen->getBlackbox(); - toolbarstr = (string)"session.screen" + itostring(screen->getScreenNumber()) - + ".toolbar."; + toolbarstr = "session.screen" + itostring(screen->getScreenNumber()) + + ".toolbar."; config = blackbox->getConfig(); load_rc(); @@ -159,8 +159,6 @@ Toolbar::Toolbar(BScreen *scrn) { frame.base = frame.label = frame.wlabel = frame.clk = frame.button = frame.pbutton = None; - screen->addStrut(&strut); - reconfigure(); mapToolbar(); } @@ -203,6 +201,7 @@ void Toolbar::mapToolbar() { XMapSubwindows(display, frame.window); XMapWindow(display, frame.window); } + screen->addStrut(&strut); updateStrut(); } @@ -211,6 +210,9 @@ void Toolbar::unmapToolbar() { if (toolbarmenu->isVisible()) toolbarmenu->hide(); //hidden so we can maximize over the toolbar + screen->removeStrut(&strut); + screen->updateAvailableArea(); + XUnmapWindow(display, frame.window); updateStrut(); } @@ -777,7 +779,7 @@ void Toolbar::edit(void) { } -void Toolbar::buttonPressEvent(XButtonEvent *be) { +void Toolbar::buttonPressEvent(const XButtonEvent *be) { if (be->button == 1) { if (be->window == frame.psbutton) redrawPrevWorkspaceButton(True, True); @@ -826,7 +828,7 @@ void Toolbar::buttonPressEvent(XButtonEvent *be) { -void Toolbar::buttonReleaseEvent(XButtonEvent *re) { +void Toolbar::buttonReleaseEvent(const XButtonEvent *re) { if (re->button == 1) { if (re->window == frame.psbutton) { redrawPrevWorkspaceButton(False, True); @@ -873,7 +875,7 @@ void Toolbar::buttonReleaseEvent(XButtonEvent *re) { } -void Toolbar::enterNotifyEvent(XCrossingEvent *) { +void Toolbar::enterNotifyEvent(const XCrossingEvent *) { if (! do_auto_hide) return; @@ -884,7 +886,7 @@ void Toolbar::enterNotifyEvent(XCrossingEvent *) { } } -void Toolbar::leaveNotifyEvent(XCrossingEvent *) { +void Toolbar::leaveNotifyEvent(const XCrossingEvent *) { if (! do_auto_hide) return; @@ -896,7 +898,7 @@ void Toolbar::leaveNotifyEvent(XCrossingEvent *) { } -void Toolbar::exposeEvent(XExposeEvent *ee) { +void Toolbar::exposeEvent(const XExposeEvent *ee) { if (ee->window == frame.clock) checkClock(True); else if (ee->window == frame.workspace_label && (! editing)) redrawWorkspaceLabel(); @@ -908,7 +910,7 @@ void Toolbar::exposeEvent(XExposeEvent *ee) { } -void Toolbar::keyPressEvent(XKeyEvent *ke) { +void Toolbar::keyPressEvent(const XKeyEvent *ke) { if (ke->window == frame.workspace_label && editing) { if (new_workspace_name.empty()) { new_name_pos = 0; @@ -916,7 +918,7 @@ void Toolbar::keyPressEvent(XKeyEvent *ke) { KeySym ks; char keychar[1]; - XLookupString(ke, keychar, 1, &ks, 0); + XLookupString(const_cast(ke), keychar, 1, &ks, 0); // either we are told to end with a return or we hit 127 chars if (ks == XK_Return || new_name_pos == 127) {