]> Dogcows Code - chaz/openbox/blobdiff - src/Toolbar.cc
Added a runtime option for hiding the toolbar totally. Will be cleaner
[chaz/openbox] / src / Toolbar.cc
index 9f7c3b8098be9c209dfc8d90fa8e3dc04377646c..6d5a5ac48fbf8a8edc1e0daad03927ada8e7a205 100644 (file)
@@ -43,9 +43,9 @@
 
 #include <X11/keysym.h>
 
-#ifdef    HAVE_STRING_H
+#ifdef    STDC_HEADERS
 #  include <string.h>
-#endif // HAVE_STRING_H
+#endif // STDC_HEADERS
 
 #ifdef    HAVE_STDIO_H
 #  include <stdio.h>
@@ -148,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);
@@ -467,7 +476,7 @@ void Toolbar::reconfigure(void) {
   XClearWindow(display, frame.nsbutton);
   XClearWindow(display, frame.pwbutton);
   XClearWindow(display, frame.nwbutton);
-
+  
   redrawWindowLabel();
   redrawWorkspaceLabel();
   redrawPrevWorkspaceButton();
@@ -475,7 +484,7 @@ void Toolbar::reconfigure(void) {
   redrawPrevWindowButton();
   redrawNextWindowButton();
   checkClock(True);
-
+  
   toolbarmenu->reconfigure();
 }
 
This page took 0.020659 seconds and 4 git commands to generate.