- int i;
- unsigned int w = 0;
- frame.workspace_label_w = 0;
-
- for (i = 0; i < screen.getWorkspaceCount(); i++) {
- if (i18n->multibyte()) {
- XRectangle ink, logical;
- XmbTextExtents(screen.getToolbarStyle()->fontset,
- screen.getWorkspace(i)->getName(),
- strlen(screen.getWorkspace(i)->getName()),
- &ink, &logical);
- w = logical.width;
- } else {
- w = XTextWidth(screen.getToolbarStyle()->font,
- screen.getWorkspace(i)->getName(),
- strlen(screen.getWorkspace(i)->getName()));
- }
- w += (frame.bevel_w * 4);
-
- if (w > frame.workspace_label_w) frame.workspace_label_w = w;
- }
-
- if (frame.workspace_label_w < frame.clock_w)
- frame.workspace_label_w = frame.clock_w;
- else if (frame.workspace_label_w > frame.clock_w)
- frame.clock_w = frame.workspace_label_w;
-
- frame.window_label_w =
- (frame.width - (frame.clock_w + (frame.button_w * 4) +
- frame.workspace_label_w + (frame.bevel_w * 8) + 6));
-
- if (m_hidden) {
- XMoveResizeWindow(display, frame.window, frame.x_hidden, frame.y_hidden,
- frame.width, frame.height);
- } else {
- XMoveResizeWindow(display, frame.window, frame.x, frame.y,
- frame.width, frame.height);
- }
-
- XMoveResizeWindow(display, frame.workspace_label, frame.bevel_w,
- frame.bevel_w, frame.workspace_label_w,
- frame.label_h);
- XMoveResizeWindow(display, frame.psbutton, (frame.bevel_w * 2) +
- frame.workspace_label_w + 1, frame.bevel_w + 1,
- frame.button_w, frame.button_w);
- XMoveResizeWindow(display ,frame.nsbutton, (frame.bevel_w * 3) +
- frame.workspace_label_w + frame.button_w + 2,
- frame.bevel_w + 1, frame.button_w, frame.button_w);
- XMoveResizeWindow(display, frame.window_label, (frame.bevel_w * 4) +
- (frame.button_w * 2) + frame.workspace_label_w + 3,
- frame.bevel_w, frame.window_label_w, frame.label_h);
- XMoveResizeWindow(display, frame.pwbutton, (frame.bevel_w * 5) +
- (frame.button_w * 2) + frame.workspace_label_w +
- frame.window_label_w + 4, frame.bevel_w + 1,
- frame.button_w, frame.button_w);
- XMoveResizeWindow(display, frame.nwbutton, (frame.bevel_w * 6) +
- (frame.button_w * 3) + frame.workspace_label_w +
- frame.window_label_w + 5, frame.bevel_w + 1,
- frame.button_w, frame.button_w);
- XMoveResizeWindow(display, frame.clock, frame.width - frame.clock_w -
- frame.bevel_w, frame.bevel_w, frame.clock_w,
- frame.label_h);
-
- Pixmap tmp = frame.base;
- BTexture *texture = &(screen.getToolbarStyle()->toolbar);
- if (texture->getTexture() == (BImage_Flat | BImage_Solid)) {
- frame.base = None;
- XSetWindowBackground(display, frame.window,
- texture->getColor()->getPixel());
- } else {
- frame.base =
- image_ctrl->renderImage(frame.width, frame.height, texture);
- XSetWindowBackgroundPixmap(display, frame.window, frame.base);
- }
- if (tmp) image_ctrl->removeImage(tmp);
-
- tmp = frame.label;
- texture = &(screen.getToolbarStyle()->window);
- if (texture->getTexture() == (BImage_Flat | BImage_Solid)) {
- frame.label = None;
- XSetWindowBackground(display, frame.window_label,
- texture->getColor()->getPixel());
- } else {
- frame.label =
- image_ctrl->renderImage(frame.window_label_w, frame.label_h, texture);
- XSetWindowBackgroundPixmap(display, frame.window_label, frame.label);
- }
- if (tmp) image_ctrl->removeImage(tmp);
-
- tmp = frame.wlabel;
- texture = &(screen.getToolbarStyle()->label);
- if (texture->getTexture() == (BImage_Flat | BImage_Solid)) {
- frame.wlabel = None;
- XSetWindowBackground(display, frame.workspace_label,
- texture->getColor()->getPixel());
- } else {
- frame.wlabel =
- image_ctrl->renderImage(frame.workspace_label_w, frame.label_h, texture);
- XSetWindowBackgroundPixmap(display, frame.workspace_label, frame.wlabel);
- }
- if (tmp) image_ctrl->removeImage(tmp);
-
- tmp = frame.clk;
- texture = &(screen.getToolbarStyle()->clock);
- if (texture->getTexture() == (BImage_Flat | BImage_Solid)) {
- frame.clk = None;
- XSetWindowBackground(display, frame.clock,
- texture->getColor()->getPixel());
- } else {
- frame.clk =
- image_ctrl->renderImage(frame.clock_w, frame.label_h, texture);
- XSetWindowBackgroundPixmap(display, frame.clock, frame.clk);
- }
- if (tmp) image_ctrl->removeImage(tmp);
-
- tmp = frame.button;
- texture = &(screen.getToolbarStyle()->button);
- if (texture->getTexture() == (BImage_Flat | BImage_Solid)) {
- frame.button = None;
-
- frame.button_pixel = texture->getColor()->getPixel();
- XSetWindowBackground(display, frame.psbutton, frame.button_pixel);
- XSetWindowBackground(display, frame.nsbutton, frame.button_pixel);
- XSetWindowBackground(display, frame.pwbutton, frame.button_pixel);
- XSetWindowBackground(display, frame.nwbutton, frame.button_pixel);
- } else {
- frame.button =
- image_ctrl->renderImage(frame.button_w, frame.button_w, texture);
-
- XSetWindowBackgroundPixmap(display, frame.psbutton, frame.button);
- XSetWindowBackgroundPixmap(display, frame.nsbutton, frame.button);
- XSetWindowBackgroundPixmap(display, frame.pwbutton, frame.button);
- XSetWindowBackgroundPixmap(display, frame.nwbutton, frame.button);
- }
- if (tmp) image_ctrl->removeImage(tmp);
-
- tmp = frame.pbutton;
- texture = &(screen.getToolbarStyle()->pressed);
- if (texture->getTexture() == (BImage_Flat | BImage_Solid)) {
- frame.pbutton = None;
- frame.pbutton_pixel = texture->getColor()->getPixel();
- } else {
- frame.pbutton =
- image_ctrl->renderImage(frame.button_w, frame.button_w, texture);
- }
- if (tmp) image_ctrl->removeImage(tmp);
-
- XSetWindowBorder(display, frame.window,
- screen.getBorderColor()->getPixel());
- XSetWindowBorderWidth(display, frame.window, screen.getBorderWidth());
-
- XClearWindow(display, frame.window);
- XClearWindow(display, frame.workspace_label);
- XClearWindow(display, frame.window_label);
- XClearWindow(display, frame.clock);
- XClearWindow(display, frame.psbutton);
- XClearWindow(display, frame.nsbutton);
- XClearWindow(display, frame.pwbutton);
- XClearWindow(display, frame.nwbutton);
-
- redrawWindowLabel();
- redrawWorkspaceLabel();
- redrawPrevWorkspaceButton();
- redrawNextWorkspaceButton();
- redrawPrevWindowButton();
- redrawNextWindowButton();
- checkClock(True);
-
- toolbarmenu->reconfigure();
+ int i;
+ unsigned int w = 0;
+ frame.workspace_label_w = 0;
+
+ for (i = 0; i < screen.getWorkspaceCount(); i++) {
+ if (i18n.multibyte()) {
+ XRectangle ink, logical;
+ XmbTextExtents(screen.getToolbarStyle()->fontset,
+ screen.getWorkspace(i)->getName(),
+ strlen(screen.getWorkspace(i)->getName()),
+ &ink, &logical);
+ w = logical.width;
+ } else {
+ w = XTextWidth(screen.getToolbarStyle()->font,
+ screen.getWorkspace(i)->getName(),
+ strlen(screen.getWorkspace(i)->getName()));
+ }
+ w += (frame.bevel_w * 4);
+
+ if (w > frame.workspace_label_w) frame.workspace_label_w = w;
+ }
+
+ if (frame.workspace_label_w < frame.clock_w)
+ frame.workspace_label_w = frame.clock_w;
+ else if (frame.workspace_label_w > frame.clock_w)
+ frame.clock_w = frame.workspace_label_w;
+
+ frame.window_label_w =
+ (frame.width - (frame.clock_w + (frame.button_w * 4) +
+ frame.workspace_label_w + (frame.bevel_w * 8) + 6));
+
+ if (m_hidden) {
+ XMoveResizeWindow(display, frame.window, frame.x_hidden, frame.y_hidden,
+ frame.width, frame.height);
+ } else {
+ XMoveResizeWindow(display, frame.window, frame.x, frame.y,
+ frame.width, frame.height);
+ }
+
+ XMoveResizeWindow(display, frame.workspace_label, frame.bevel_w,
+ frame.bevel_w, frame.workspace_label_w,
+ frame.label_h);
+ XMoveResizeWindow(display, frame.psbutton, (frame.bevel_w * 2) +
+ frame.workspace_label_w + 1, frame.bevel_w + 1,
+ frame.button_w, frame.button_w);
+ XMoveResizeWindow(display ,frame.nsbutton, (frame.bevel_w * 3) +
+ frame.workspace_label_w + frame.button_w + 2,
+ frame.bevel_w + 1, frame.button_w, frame.button_w);
+ XMoveResizeWindow(display, frame.window_label, (frame.bevel_w * 4) +
+ (frame.button_w * 2) + frame.workspace_label_w + 3,
+ frame.bevel_w, frame.window_label_w, frame.label_h);
+ XMoveResizeWindow(display, frame.pwbutton, (frame.bevel_w * 5) +
+ (frame.button_w * 2) + frame.workspace_label_w +
+ frame.window_label_w + 4, frame.bevel_w + 1,
+ frame.button_w, frame.button_w);
+ XMoveResizeWindow(display, frame.nwbutton, (frame.bevel_w * 6) +
+ (frame.button_w * 3) + frame.workspace_label_w +
+ frame.window_label_w + 5, frame.bevel_w + 1,
+ frame.button_w, frame.button_w);
+ XMoveResizeWindow(display, frame.clock, frame.width - frame.clock_w -
+ frame.bevel_w, frame.bevel_w, frame.clock_w,
+ frame.label_h);
+
+ Pixmap tmp = frame.base;
+ BTexture *texture = &(screen.getToolbarStyle()->toolbar);
+ if (texture->getTexture() == (BImage_Flat | BImage_Solid)) {
+ frame.base = None;
+ XSetWindowBackground(display, frame.window,
+ texture->getColor()->getPixel());
+ } else {
+ frame.base =
+ image_ctrl->renderImage(frame.width, frame.height, texture);
+ XSetWindowBackgroundPixmap(display, frame.window, frame.base);
+ }
+ if (tmp) image_ctrl->removeImage(tmp);
+
+ tmp = frame.label;
+ texture = &(screen.getToolbarStyle()->window);
+ if (texture->getTexture() == (BImage_Flat | BImage_Solid)) {
+ frame.label = None;
+ XSetWindowBackground(display, frame.window_label,
+ texture->getColor()->getPixel());
+ } else {
+ frame.label =
+ image_ctrl->renderImage(frame.window_label_w, frame.label_h, texture);
+ XSetWindowBackgroundPixmap(display, frame.window_label, frame.label);
+ }
+ if (tmp) image_ctrl->removeImage(tmp);
+
+ tmp = frame.wlabel;
+ texture = &(screen.getToolbarStyle()->label);
+ if (texture->getTexture() == (BImage_Flat | BImage_Solid)) {
+ frame.wlabel = None;
+ XSetWindowBackground(display, frame.workspace_label,
+ texture->getColor()->getPixel());
+ } else {
+ frame.wlabel =
+ image_ctrl->renderImage(frame.workspace_label_w, frame.label_h, texture);
+ XSetWindowBackgroundPixmap(display, frame.workspace_label, frame.wlabel);
+ }
+ if (tmp) image_ctrl->removeImage(tmp);
+
+ tmp = frame.clk;
+ texture = &(screen.getToolbarStyle()->clock);
+ if (texture->getTexture() == (BImage_Flat | BImage_Solid)) {
+ frame.clk = None;
+ XSetWindowBackground(display, frame.clock,
+ texture->getColor()->getPixel());
+ } else {
+ frame.clk =
+ image_ctrl->renderImage(frame.clock_w, frame.label_h, texture);
+ XSetWindowBackgroundPixmap(display, frame.clock, frame.clk);
+ }
+ if (tmp) image_ctrl->removeImage(tmp);
+
+ tmp = frame.button;
+ texture = &(screen.getToolbarStyle()->button);
+ if (texture->getTexture() == (BImage_Flat | BImage_Solid)) {
+ frame.button = None;
+
+ frame.button_pixel = texture->getColor()->getPixel();
+ XSetWindowBackground(display, frame.psbutton, frame.button_pixel);
+ XSetWindowBackground(display, frame.nsbutton, frame.button_pixel);
+ XSetWindowBackground(display, frame.pwbutton, frame.button_pixel);
+ XSetWindowBackground(display, frame.nwbutton, frame.button_pixel);
+ } else {
+ frame.button =
+ image_ctrl->renderImage(frame.button_w, frame.button_w, texture);
+
+ XSetWindowBackgroundPixmap(display, frame.psbutton, frame.button);
+ XSetWindowBackgroundPixmap(display, frame.nsbutton, frame.button);
+ XSetWindowBackgroundPixmap(display, frame.pwbutton, frame.button);
+ XSetWindowBackgroundPixmap(display, frame.nwbutton, frame.button);
+ }
+ if (tmp) image_ctrl->removeImage(tmp);
+
+ tmp = frame.pbutton;
+ texture = &(screen.getToolbarStyle()->pressed);
+ if (texture->getTexture() == (BImage_Flat | BImage_Solid)) {
+ frame.pbutton = None;
+ frame.pbutton_pixel = texture->getColor()->getPixel();
+ } else {
+ frame.pbutton =
+ image_ctrl->renderImage(frame.button_w, frame.button_w, texture);
+ }
+ if (tmp) image_ctrl->removeImage(tmp);
+
+ XSetWindowBorder(display, frame.window,
+ screen.getBorderColor()->getPixel());
+ XSetWindowBorderWidth(display, frame.window, screen.getBorderWidth());
+
+ XClearWindow(display, frame.window);
+ XClearWindow(display, frame.workspace_label);
+ XClearWindow(display, frame.window_label);
+ XClearWindow(display, frame.clock);
+ XClearWindow(display, frame.psbutton);
+ XClearWindow(display, frame.nsbutton);
+ XClearWindow(display, frame.pwbutton);
+ XClearWindow(display, frame.nwbutton);
+
+ redrawWindowLabel();
+ redrawWorkspaceLabel();
+ redrawPrevWorkspaceButton();
+ redrawNextWorkspaceButton();
+ redrawPrevWindowButton();
+ redrawNextWindowButton();
+ checkClock(True);
+
+ toolbarmenu->reconfigure();