X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2FToolbar.cc;h=b44017d4f6091633e8419e7f29cf160d3283c2f1;hb=82e61c015fe82b673676c3242f014bf26c0dd152;hp=10a31d7047b2e7c56e831b5e712ae3b7bbd37ef3;hpb=44e3582d5e08556c7b1136cfd9a49546cf5fcae0;p=chaz%2Fopenbox diff --git a/src/Toolbar.cc b/src/Toolbar.cc index 10a31d70..b44017d4 100644 --- a/src/Toolbar.cc +++ b/src/Toolbar.cc @@ -41,12 +41,11 @@ #include "Workspace.h" #include "Workspacemenu.h" -#include #include -#ifdef STDC_HEADERS +#ifdef HAVE_STRING_H # include -#endif // STDC_HEADERS +#endif // HAVE_STRING_H #ifdef HAVE_STDIO_H # include @@ -149,15 +148,24 @@ Toolbar::Toolbar(BScreen &scrn) : screen(scrn), openbox(scrn.getOpenbox()) { frame.pbutton = None; reconfigure(); - - XMapSubwindows(display, frame.window); - XMapWindow(display, frame.window); + mapToolbar(); } - -Toolbar::~Toolbar(void) { +inline void Toolbar::mapToolbar(){ + if(!screen.doToolbarHide()){ + do_hide=false;//not hidden, so windows should not maximize over the toolbar + XMapSubwindows(display, frame.window); + XMapWindow(display, frame.window); + }else + do_hide=true; +} +inline void Toolbar::unMapToolbar(){ + do_hide=true; //hidden so we can maximize over the toolbar XUnmapWindow(display, frame.window); +} +Toolbar::~Toolbar(void) { + unMapToolbar(); if (frame.base) image_ctrl->removeImage(frame.base); if (frame.label) image_ctrl->removeImage(frame.label); if (frame.wlabel) image_ctrl->removeImage(frame.wlabel); @@ -468,7 +476,7 @@ void Toolbar::reconfigure(void) { XClearWindow(display, frame.nsbutton); XClearWindow(display, frame.pwbutton); XClearWindow(display, frame.nwbutton); - + redrawWindowLabel(); redrawWorkspaceLabel(); redrawPrevWorkspaceButton(); @@ -476,7 +484,7 @@ void Toolbar::reconfigure(void) { redrawPrevWindowButton(); redrawNextWindowButton(); checkClock(True); - + toolbarmenu->reconfigure(); }