]> Dogcows Code - chaz/openbox/blobdiff - src/Toolbar.cc
add option to the rc file to use/not use AA for Xft fonts
[chaz/openbox] / src / Toolbar.cc
index f6ff130a8d633bdf6f381d7e6c982e90d19c2bd3..dac1ad7f16611b8189d8b5e29deffa92062b7e4f 100644 (file)
@@ -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<XKeyEvent*>(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) {
This page took 0.029586 seconds and 4 git commands to generate.