#include "Workspace.h"
#include "Workspacemenu.h"
-#include <X11/Xutil.h>
#include <X11/keysym.h>
-#ifdef STDC_HEADERS
+#ifdef HAVE_STRING_H
# include <string.h>
-#endif // STDC_HEADERS
+#endif // HAVE_STRING_H
#ifdef HAVE_STDIO_H
# include <stdio.h>
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);
void Toolbar::reconfigure(void) {
frame.bevel_w = screen.getBevelWidth();
- frame.width = screen.getWidth() * screen.getToolbarWidthPercent() / 100;
+ frame.width = screen.size().w() * screen.getToolbarWidthPercent() / 100;
if (i18n->multibyte())
frame.height =
case BottomLeft:
frame.x = 0;
- frame.y = screen.getHeight() - frame.height
+ frame.y = screen.size().h() - frame.height
- (screen.getBorderWidth() * 2);
frame.x_hidden = 0;
- frame.y_hidden = screen.getHeight() - screen.getBevelWidth()
+ frame.y_hidden = screen.size().h() - screen.getBevelWidth()
- screen.getBorderWidth();
break;
case TopCenter:
- frame.x = (screen.getWidth() - frame.width) / 2;
+ frame.x = (screen.size().w() - frame.width) / 2;
frame.y = 0;
frame.x_hidden = frame.x;
frame.y_hidden = screen.getBevelWidth() - screen.getBorderWidth()
case BottomCenter:
default:
- frame.x = (screen.getWidth() - frame.width) / 2;
- frame.y = screen.getHeight() - frame.height
+ frame.x = (screen.size().w() - frame.width) / 2;
+ frame.y = screen.size().h() - frame.height
- (screen.getBorderWidth() * 2);
frame.x_hidden = frame.x;
- frame.y_hidden = screen.getHeight() - screen.getBevelWidth()
+ frame.y_hidden = screen.size().h() - screen.getBevelWidth()
- screen.getBorderWidth();
break;
case TopRight:
- frame.x = screen.getWidth() - frame.width
+ frame.x = screen.size().w() - frame.width
- (screen.getBorderWidth() * 2);
frame.y = 0;
frame.x_hidden = frame.x;
break;
case BottomRight:
- frame.x = screen.getWidth() - frame.width
+ frame.x = screen.size().w() - frame.width
- (screen.getBorderWidth() * 2);
- frame.y = screen.getHeight() - frame.height
+ frame.y = screen.size().h() - frame.height
- (screen.getBorderWidth() * 2);
frame.x_hidden = frame.x;
- frame.y_hidden = screen.getHeight() - screen.getBevelWidth()
+ frame.y_hidden = screen.size().h() - screen.getBevelWidth()
- screen.getBorderWidth();
break;
}
XClearWindow(display, frame.nsbutton);
XClearWindow(display, frame.pwbutton);
XClearWindow(display, frame.nwbutton);
-
+
redrawWindowLabel();
redrawWorkspaceLabel();
redrawPrevWorkspaceButton();
redrawPrevWindowButton();
redrawNextWindowButton();
checkClock(True);
-
+
toolbarmenu->reconfigure();
}
if (x < 0)
x = 0;
- else if (x + toolbarmenu->getWidth() > screen.getWidth())
- x = screen.getWidth() - toolbarmenu->getWidth();
+ else if (x + toolbarmenu->getWidth() > screen.size().w())
+ x = screen.size().w() - toolbarmenu->getWidth();
if (y < 0)
y = 0;
- else if (y + toolbarmenu->getHeight() > screen.getHeight())
- y = screen.getHeight() - toolbarmenu->getHeight();
+ else if (y + toolbarmenu->getHeight() > screen.size().h())
+ y = screen.size().h() - toolbarmenu->getHeight();
toolbarmenu->move(x, y);
toolbarmenu->show();