]> Dogcows Code - chaz/openbox/blobdiff - src/Toolbar.cc
fixed HAVE_STRING_H introduced from some parrallel development. blast
[chaz/openbox] / src / Toolbar.cc
index 3d3f867fef696a39b382369a21408c771f417417..b44017d4f6091633e8419e7f29cf160d3283c2f1 100644 (file)
@@ -41,7 +41,6 @@
 #include "Workspace.h"
 #include "Workspacemenu.h"
 
-#include <X11/Xutil.h>
 #include <X11/keysym.h>
 
 #ifdef    HAVE_STRING_H
@@ -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();
 }
 
This page took 0.023879 seconds and 4 git commands to generate.