diff -burN blackbox-0.62.0-orig/Makefile.in blackbox-0.62.0/Makefile.in --- blackbox-0.62.0-orig/Makefile.in Sat Jan 19 14:10:47 2002 +++ blackbox-0.62.0/Makefile.in Mon Jan 21 12:09:15 2002 @@ -71,6 +71,7 @@ PACKAGE = @PACKAGE@ SHAPE = @SHAPE@ SLIT = @SLIT@ +TOOLBAR = @TOOLBAR@ TIMEDCACHE = @TIMEDCACHE@ VERSION = @VERSION@ gencat_cmd = @gencat_cmd@ diff -burN blackbox-0.62.0-orig/configure blackbox-0.62.0/configure --- blackbox-0.62.0-orig/configure Sat Jan 19 14:10:52 2002 +++ blackbox-0.62.0/configure Mon Jan 21 12:09:15 2002 @@ -18,6 +18,8 @@ ac_help="$ac_help --enable-slit include code for the Slit [default=yes]" ac_help="$ac_help + --enable-toolbar include code for the Toolbar [default=yes]" +ac_help="$ac_help --enable-newspec include code for the new WM Spec (DOES NOTHING) [default=no]" ac_help="$ac_help @@ -2750,6 +2752,23 @@ fi +TOOLBAR="" +echo $ac_n "checking whether to include the Toolbar""... $ac_c" 1>&6 +echo "configure:2738: checking whether to include the Toolbar" >&5 +# Check whether --enable-toolbar or --disable-toolbar was given. +if test "${enable_toolbar+set}" = set; then + enableval="$enable_toolbar" + if test x$enableval = "xyes"; then + echo "$ac_t""yes" 1>&6 + TOOLBAR="-DTOOLBAR" + else + echo "$ac_t""no" 1>&6 + fi +else + echo "$ac_t""yes" 1>&6 + TOOLBAR="-DTOOLBAR" + +fi NEWWMSPEC="" @@ -3207,6 +3226,7 @@ s%@X_EXTRA_LIBS@%$X_EXTRA_LIBS%g s%@SHAPE@%$SHAPE%g s%@SLIT@%$SLIT%g +s%@TOOLBAR@%$TOOLBAR%g s%@NEWWMSPEC@%$NEWWMSPEC%g s%@INTERLACE@%$INTERLACE%g s%@ORDEREDPSEUDO@%$ORDEREDPSEUDO%g diff -burN blackbox-0.62.0-orig/configure.in blackbox-0.62.0/configure.in --- blackbox-0.62.0-orig/configure.in Sat Jan 19 12:22:40 2002 +++ blackbox-0.62.0/configure.in Mon Jan 21 12:09:15 2002 @@ -100,6 +100,23 @@ ) AC_SUBST(SLIT) +dnl Check for the Toolbar +TOOLBAR="" +AC_MSG_CHECKING([whether to include the Toolbar]) +AC_ARG_ENABLE( + toolbar, [ --enable-toolbar include code for the Toolbar [default=yes]], + if test x$enableval = "xyes"; then + AC_MSG_RESULT([yes]) + TOOLBAR="-DTOOLBAR" + else + AC_MSG_RESULT([no]) + fi, + AC_MSG_RESULT([yes]) + TOOLBAR="-DTOOLBAR" +) +AC_SUBST(TOOLBAR) + + dnl Check for the new WM Spec NEWWMSPEC="" AC_MSG_CHECKING([whether to include the new WM Spec (DOES NOTHING)]) diff -burN blackbox-0.62.0-orig/src/Configmenu.cc blackbox-0.62.0/src/Configmenu.cc --- blackbox-0.62.0-orig/src/Configmenu.cc Sun Dec 30 01:54:05 2001 +++ blackbox-0.62.0/src/Configmenu.cc Mon Jan 21 12:09:15 2002 @@ -32,7 +32,9 @@ #include "i18n.hh" #include "Configmenu.hh" +#ifdef TOOLBAR #include "Toolbar.hh" +#endif // TOOLBAR #include "Window.hh" #include "Screen.hh" @@ -166,9 +168,12 @@ configmenu->screen->saveAutoRaise(False); if (! configmenu->screen->getBlackbox()->getFocusedWindow()) +#ifdef TOOLBAR XSetInputFocus(configmenu->screen->getBlackbox()->getXDisplay(), configmenu->screen->getToolbar()->getWindowID(), - RevertToParent, CurrentTime); + RevertToParent, CurrentTime) +#endif // TOOLBAR + ; else XSetInputFocus(configmenu->screen->getBlackbox()->getXDisplay(), configmenu->screen->getBlackbox()-> diff -burN blackbox-0.62.0-orig/src/Makefile.in blackbox-0.62.0/src/Makefile.in --- blackbox-0.62.0-orig/src/Makefile.in Sat Jan 19 14:10:48 2002 +++ blackbox-0.62.0/src/Makefile.in Mon Jan 21 12:13:52 2002 @@ -90,6 +90,7 @@ PACKAGE = @PACKAGE@ SHAPE = @SHAPE@ SLIT = @SLIT@ +TOOLBAR = @TOOLBAR@ TIMEDCACHE = @TIMEDCACHE@ VERSION = @VERSION@ gencat_cmd = @gencat_cmd@ @@ -98,7 +99,7 @@ DEFAULT_MENU = $(pkgdatadir)/menu DEFAULT_STYLE = $(pkgdatadir)/styles/Results -CPPFLAGS = @CPPFLAGS@ @SHAPE@ @SLIT@ @INTERLACE@ @ORDEREDPSEUDO@ @DEBUG@ @NEWWMSPEC@ @NLS@ @TIMEDCACHE@ -DLOCALEPATH=\"$(pkgdatadir)/nls\" -DDEFAULTMENU=\"$(DEFAULT_MENU)\" -DDEFAULTSTYLE=\"$(DEFAULT_STYLE)\" +CPPFLAGS = @CPPFLAGS@ @SHAPE@ @SLIT@ @TOOLBAR@ @INTERLACE@ @ORDEREDPSEUDO@ @DEBUG@ @NEWWMSPEC@ @NLS@ @TIMEDCACHE@ -DLOCALEPATH=\"$(pkgdatadir)/nls\" -DDEFAULTMENU=\"$(DEFAULT_MENU)\" -DDEFAULTSTYLE=\"$(DEFAULT_STYLE)\" bin_PROGRAMS = blackbox diff -burN blackbox-0.62.0-orig/src/Screen.cc blackbox-0.62.0/src/Screen.cc --- blackbox-0.62.0-orig/src/Screen.cc Sat Jan 12 06:13:09 2002 +++ blackbox-0.62.0/src/Screen.cc Mon Jan 21 12:09:15 2002 @@ -44,8 +44,12 @@ #include "Slit.hh" #endif // SLIT -#include "Rootmenu.hh" +#ifdef TOOLBAR #include "Toolbar.hh" +#endif // TOOLBAR + + +#include "Rootmenu.hh" #include "Window.hh" #include "Workspace.hh" #include "Workspacemenu.hh" @@ -203,8 +207,15 @@ resource.stylerc = 0; resource.mstyle.t_fontset = resource.mstyle.f_fontset = - resource.tstyle.fontset = resource.wstyle.fontset = (XFontSet) 0; - resource.mstyle.t_font = resource.mstyle.f_font = resource.tstyle.font = +#ifdef TOOLBAR + resource.tstyle.fontset = +#endif // TOOLBAR + resource.wstyle.fontset = (XFontSet) 0; + + resource.mstyle.t_font = resource.mstyle.f_font = +#ifdef TOOLBAR + resource.tstyle.font = +#endif // TOOLBAR resource.wstyle.font = (XFontStruct *) 0; #ifdef HAVE_STRFTIME @@ -307,6 +318,7 @@ XCreateGC(getBaseDisplay()->getXDisplay(), getRootWindow(), gc_value_mask, &gcv); +#ifdef TOOLBAR gcv.foreground = resource.tstyle.l_text.getPixel(); if (resource.tstyle.font) gcv.font = resource.tstyle.font->fid; @@ -328,6 +340,7 @@ resource.tstyle.b_pic_gc = XCreateGC(getBaseDisplay()->getXDisplay(), getRootWindow(), gc_value_mask, &gcv); +#endif // TOOLBAR const char *s = i18n->getMessage(ScreenSet, ScreenPositionLength, "0: 0000 x 0: 0000"); @@ -411,7 +424,9 @@ current_workspace = workspacesList->first(); workspacemenu->setItemSelected(2, True); +#ifdef TOOLBAR toolbar = new Toolbar(this); +#endif // TOOLBAR #ifdef SLIT slit = new Slit(this); @@ -475,9 +490,11 @@ } } +#ifdef TOOLBAR if (! resource.sloppy_focus) XSetInputFocus(getBaseDisplay()->getXDisplay(), toolbar->getWindowID(), RevertToParent, CurrentTime); +#endif // TOOLBAR XFree(children); XFlush(getBaseDisplay()->getXDisplay()); @@ -521,7 +538,10 @@ delete slit; #endif // SLIT +#ifdef TOOLBAR delete toolbar; +#endif // TOOLBAR + delete image_control; delete workspacesList; @@ -536,8 +556,10 @@ XFreeFontSet(getBaseDisplay()->getXDisplay(), resource.mstyle.t_fontset); if (resource.mstyle.f_fontset) XFreeFontSet(getBaseDisplay()->getXDisplay(), resource.mstyle.f_fontset); +#ifdef TOOLBAR if (resource.tstyle.fontset) XFreeFontSet(getBaseDisplay()->getXDisplay(), resource.tstyle.fontset); +#endif // TOOLBAR if (resource.wstyle.font) XFreeFont(getBaseDisplay()->getXDisplay(), resource.wstyle.font); @@ -545,8 +567,10 @@ XFreeFont(getBaseDisplay()->getXDisplay(), resource.mstyle.t_font); if (resource.mstyle.f_font) XFreeFont(getBaseDisplay()->getXDisplay(), resource.mstyle.f_font); +#ifdef TOOLBAR if (resource.tstyle.font) XFreeFont(getBaseDisplay()->getXDisplay(), resource.tstyle.font); +#endif // TOOLBAR XFreeGC(getBaseDisplay()->getXDisplay(), opGC); @@ -570,6 +594,7 @@ XFreeGC(getBaseDisplay()->getXDisplay(), resource.mstyle.hilite_gc); +#ifdef TOOLBAR XFreeGC(getBaseDisplay()->getXDisplay(), resource.tstyle.l_text_gc); XFreeGC(getBaseDisplay()->getXDisplay(), @@ -578,6 +603,7 @@ resource.tstyle.c_text_gc); XFreeGC(getBaseDisplay()->getXDisplay(), resource.tstyle.b_pic_gc); +#endif // TOOLBAR } void BScreen::readDatabaseTexture(char *rname, char *rclass, @@ -882,6 +908,7 @@ XChangeGC(getBaseDisplay()->getXDisplay(), resource.mstyle.hilite_gc, gc_value_mask, &gcv); +#ifdef TOOLBAR gcv.foreground = resource.tstyle.l_text.getPixel(); if (resource.tstyle.font) gcv.font = resource.tstyle.font->fid; @@ -899,6 +926,7 @@ gcv.foreground = resource.tstyle.b_pic.getPixel(); XChangeGC(getBaseDisplay()->getXDisplay(), resource.tstyle.b_pic_gc, gc_value_mask, &gcv); +#endif // TOOLBAR const char *s = i18n->getMessage(ScreenSet, ScreenPositionLength, "0: 0000 x 0: 0000"); @@ -966,7 +994,9 @@ configmenu->reconfigure(); +#ifdef TOOLBAR toolbar->reconfigure(); +#endif // TOOLBAR #ifdef SLIT slit->reconfigure(); @@ -1012,8 +1042,10 @@ if (i18n->multibyte()) { readDatabaseFontSet("window.font", "Window.Font", &resource.wstyle.fontset); +#ifdef TOOLBAR readDatabaseFontSet("toolbar.font", "Toolbar.Font", &resource.tstyle.fontset); +#endif // TOOLBAR readDatabaseFontSet("menu.title.font", "Menu.Title.Font", &resource.mstyle.t_fontset); readDatabaseFontSet("menu.frame.font", "Menu.Frame.Font", @@ -1023,8 +1055,10 @@ XExtentsOfFontSet(resource.mstyle.t_fontset); resource.mstyle.f_fontset_extents = XExtentsOfFontSet(resource.mstyle.f_fontset); +#ifdef TOOLBAR resource.tstyle.fontset_extents = XExtentsOfFontSet(resource.tstyle.fontset); +#endif // TOOLBAR resource.wstyle.fontset_extents = XExtentsOfFontSet(resource.wstyle.fontset); } else { @@ -1034,8 +1068,10 @@ &resource.mstyle.t_font); readDatabaseFont("menu.frame.font", "Menu.Frame.Font", &resource.mstyle.f_font); +#ifdef TOOLBAR readDatabaseFont("toolbar.font", "Toolbar.Font", &resource.tstyle.font); +#endif // TOOLBAR } // load window config @@ -1125,6 +1161,8 @@ } else { resource.wstyle.justify = BScreen::LeftJustify; } + +#ifdef TOOLBAR // load toolbar config readDatabaseTexture("toolbar", "Toolbar", &resource.tstyle.toolbar, @@ -1179,6 +1217,8 @@ } else { resource.tstyle.justify = BScreen::LeftJustify; } +#endif // TOOLBAR + // load menu config readDatabaseTexture("menu.title", "Menu.Title", &resource.mstyle.title, @@ -1356,7 +1396,9 @@ wkspc->getWorkspaceID() + 2); workspacemenu->update(); +#ifdef TOOLBAR toolbar->reconfigure(); +#endif // TOOLBAR updateNetizenWorkspaceCount(); @@ -1381,7 +1423,9 @@ workspacesList->remove(wkspc); delete wkspc; +#ifdef TOOLBAR toolbar->reconfigure(); +#endif // TOOLBAR updateNetizenWorkspaceCount(); @@ -1409,7 +1453,9 @@ workspacemenu->setItemSelected(current_workspace->getWorkspaceID() + 2, True); +#ifdef TOOLBAR toolbar->redrawWorkspaceLabel(True); +#endif // TOOLBAR current_workspace->showAll(); @@ -1538,17 +1584,21 @@ *(session_stack + i++) = slit->getMenu()->getWindowID(); #endif // SLIT +#ifdef TOOLBAR *(session_stack + i++) = toolbar->getMenu()->getPlacementmenu()->getWindowID(); *(session_stack + i++) = toolbar->getMenu()->getWindowID(); +#endif // TOOLBAR LinkedListIterator rit(rootmenuList); for (Rootmenu *tmp = rit.current(); tmp; rit++, tmp = rit.current()) *(session_stack + i++) = tmp->getWindowID(); *(session_stack + i++) = rootmenu->getWindowID(); +#ifdef TOOLBAR if (toolbar->isOnTop()) *(session_stack + i++) = toolbar->getWindowID(); +#endif // TOOLBAR #ifdef SLIT if (slit->isOnTop()) diff -burN blackbox-0.62.0-orig/src/Screen.hh blackbox-0.62.0/src/Screen.hh --- blackbox-0.62.0-orig/src/Screen.hh Tue Jan 8 23:51:02 2002 +++ blackbox-0.62.0/src/Screen.hh Mon Jan 21 12:09:15 2002 @@ -69,6 +69,7 @@ int justify; }; +#ifdef TOOLBAR struct ToolbarStyle { BColor l_text, w_text, c_text, b_pic; BTexture toolbar, label, window, button, pressed, clock; @@ -80,6 +81,7 @@ int justify; }; +#endif // TOOLBAR struct MenuStyle { BColor t_text, f_text, h_text, d_text; @@ -115,7 +117,10 @@ Slit *slit; #endif // SLIT +#ifdef TOOLBAR Toolbar *toolbar; +#endif // TOOLBAR + Workspace *current_workspace; Workspacemenu *workspacemenu; @@ -127,17 +132,24 @@ struct resource { WindowStyle wstyle; +#ifdef TOOLBAR ToolbarStyle tstyle; +#endif // TOOLBAR MenuStyle mstyle; - Bool toolbar_on_top, toolbar_auto_hide, sloppy_focus, auto_raise, +#ifdef TOOLBAR + Bool toolbar_on_top, toolbar_auto_hide; + int toolbar_placement, toolbar_width_percent; +#endif // TOOLBAR + + Bool sloppy_focus, auto_raise, auto_edge_balance, image_dither, ordered_dither, opaque_move, full_max, focus_new, focus_last; BColor border_color; XrmDatabase stylerc; - int workspaces, toolbar_placement, toolbar_width_percent, placement_policy, - edge_snap_threshold, row_direction, col_direction; + int workspaces, placement_policy, edge_snap_threshold, row_direction, + col_direction; #ifdef SLIT Bool slit_on_top, slit_auto_hide; @@ -174,10 +186,6 @@ BScreen(Blackbox *, int); ~BScreen(void); - inline const Bool &isToolbarOnTop(void) const - { return resource.toolbar_on_top; } - inline const Bool &doToolbarAutoHide(void) const - { return resource.toolbar_auto_hide; } inline const Bool &isSloppyFocus(void) const { return resource.sloppy_focus; } inline const Bool &isRootColormapInstalled(void) const @@ -215,7 +223,23 @@ inline void saveSlitAutoHide(Bool t) { resource.slit_auto_hide = t; } #endif // SLIT +#ifdef TOOLBAR + inline const Bool &isToolbarOnTop(void) const + { return resource.toolbar_on_top; } + inline const Bool &doToolbarAutoHide(void) const + { return resource.toolbar_auto_hide; } inline Toolbar *getToolbar(void) { return toolbar; } + inline const int &getToolbarPlacement(void) const + { return resource.toolbar_placement; } + inline const int &getToolbarWidthPercent(void) const + { return resource.toolbar_width_percent; } + inline void saveToolbarOnTop(Bool r) { resource.toolbar_on_top = r; } + inline void saveToolbarAutoHide(Bool r) { resource.toolbar_auto_hide = r; } + inline void saveToolbarWidthPercent(int w) + { resource.toolbar_width_percent = w; } + inline void saveToolbarPlacement(int p) { resource.toolbar_placement = p; } + inline ToolbarStyle *getToolbarStyle(void) { return &resource.tstyle; } +#endif // TOOLBAR inline Workspace *getWorkspace(int w) { return workspacesList->find(w); } inline Workspace *getCurrentWorkspace(void) { return current_workspace; } @@ -237,10 +261,7 @@ inline const int getIconCount(void) { return iconList->count(); } inline const int &getNumberOfWorkspaces(void) const { return resource.workspaces; } - inline const int &getToolbarPlacement(void) const - { return resource.toolbar_placement; } - inline const int &getToolbarWidthPercent(void) const - { return resource.toolbar_width_percent; } + inline const int &getPlacementPolicy(void) const { return resource.placement_policy; } inline const int &getEdgeSnapThreshold(void) const @@ -254,11 +275,6 @@ inline void saveSloppyFocus(Bool s) { resource.sloppy_focus = s; } inline void saveAutoRaise(Bool a) { resource.auto_raise = a; } inline void saveWorkspaces(int w) { resource.workspaces = w; } - inline void saveToolbarOnTop(Bool r) { resource.toolbar_on_top = r; } - inline void saveToolbarAutoHide(Bool r) { resource.toolbar_auto_hide = r; } - inline void saveToolbarWidthPercent(int w) - { resource.toolbar_width_percent = w; } - inline void saveToolbarPlacement(int p) { resource.toolbar_placement = p; } inline void savePlacementPolicy(int p) { resource.placement_policy = p; } inline void saveRowPlacementDirection(int d) { resource.row_direction = d; } inline void saveColPlacementDirection(int d) { resource.col_direction = d; } @@ -283,7 +299,6 @@ inline WindowStyle *getWindowStyle(void) { return &resource.wstyle; } inline MenuStyle *getMenuStyle(void) { return &resource.mstyle; } - inline ToolbarStyle *getToolbarStyle(void) { return &resource.tstyle; } BlackboxWindow *getIcon(int); diff -burN blackbox-0.62.0-orig/src/Slit.cc blackbox-0.62.0/src/Slit.cc --- blackbox-0.62.0-orig/src/Slit.cc Thu Jan 10 04:47:50 2002 +++ blackbox-0.62.0/src/Slit.cc Mon Jan 21 12:09:15 2002 @@ -39,7 +39,10 @@ #include "Image.hh" #include "Screen.hh" #include "Slit.hh" + +#ifdef TOOLBAR #include "Toolbar.hh" +#endif // TOOLBAR Slit::Slit(BScreen *scr) { @@ -272,7 +275,10 @@ Pixmap tmp = frame.pixmap; BImageControl *image_ctrl = screen->getImageControl(); + +#ifdef TOOLBAR BTexture *texture = &(screen->getToolbarStyle()->toolbar); + if (texture->getTexture() == (BImage_Flat | BImage_Solid)) { frame.pixmap = None; XSetWindowBackground(display, frame.window, @@ -282,6 +288,7 @@ texture); XSetWindowBackgroundPixmap(display, frame.window, frame.pixmap); } +#endif // TOOLBAR if (tmp) image_ctrl->removeImage(tmp); XClearWindow(display, frame.window); @@ -465,10 +472,14 @@ break; } +#ifdef TOOLBAR Toolbar *tbar = screen->getToolbar(); +#endif // TOOLBAR + int sw = frame.width + (screen->getBorderWidth() * 2), - sh = frame.height + (screen->getBorderWidth() * 2), - tw = tbar->getWidth() + screen->getBorderWidth(), + sh = frame.height + (screen->getBorderWidth() * 2); +#ifdef TOOLBAR + int tw = tbar->getWidth() + screen->getBorderWidth(), th = tbar->getHeight() + screen->getBorderWidth(); if (tbar->getX() < frame.x + sw && tbar->getX() + tw > frame.x && @@ -487,6 +498,7 @@ frame.y_hidden = frame.y; } } +#endif // TOOLBAR if (hidden) XMoveResizeWindow(display, frame.window, frame.x_hidden, diff -burN blackbox-0.62.0-orig/src/Toolbar.cc blackbox-0.62.0/src/Toolbar.cc --- blackbox-0.62.0-orig/src/Toolbar.cc Sat Jan 19 11:03:54 2002 +++ blackbox-0.62.0/src/Toolbar.cc Mon Jan 21 12:09:15 2002 @@ -30,6 +30,8 @@ # include "../config.h" #endif // HAVE_CONFIG_H +#ifdef TOOLBAR + #include "i18n.hh" #include "blackbox.hh" #include "Clientmenu.hh" @@ -1221,3 +1223,5 @@ toolbarmenu->toolbar->screen->getSlit()->reposition(); #endif // SLIT } + +#endif // TOOLBAR diff -burN blackbox-0.62.0-orig/src/Window.cc blackbox-0.62.0/src/Window.cc --- blackbox-0.62.0-orig/src/Window.cc Sat Jan 19 11:06:30 2002 +++ blackbox-0.62.0/src/Window.cc Mon Jan 21 12:09:15 2002 @@ -47,7 +47,11 @@ #include "blackbox.hh" #include "Iconmenu.hh" #include "Screen.hh" + +#ifdef TOOLBAR #include "Toolbar.hh" +#endif // TOOLBAR + #include "Window.hh" #include "Windowmenu.hh" #include "Workspace.hh" @@ -1522,8 +1526,10 @@ dh -= client.base_height; dh -= frame.y_border; +#ifdef TOOLBAR if (! screen->doFullMax()) dh -= screen->getToolbar()->getExposedHeight() + frame.border_w; +#endif // TOOLBAR if (dw < client.min_width) dw = client.min_width; if (dh < client.min_height) dh = client.min_height; @@ -1545,6 +1551,8 @@ if (screen->doFullMax()) { dy += ((screen->getHeight() - dh) / 2) - frame.border_w; } else { + +#ifdef TOOLBAR dy += (((screen->getHeight() - screen->getToolbar()->getExposedHeight()) - dh) / 2) - frame.border_w; @@ -1556,6 +1564,7 @@ frame.border_w; break; } +#endif // TOOLBAR } switch(button) { @@ -2668,6 +2677,7 @@ dx = screen->getWidth() - frame.snap_w; int dtty, dbby, dty, dby; +#ifdef TOOLBAR switch (screen->getToolbarPlacement()) { case Toolbar::TopLeft: case Toolbar::TopCenter: @@ -2682,6 +2692,7 @@ dbby = screen->getToolbar()->getY(); break; } +#endif // TOOLBAR dty = dy - dtty; dby = dbby - (dy + frame.snap_h); diff -burN blackbox-0.62.0-orig/src/Windowmenu.hh blackbox-0.62.0/src/Windowmenu.hh --- blackbox-0.62.0-orig/src/Windowmenu.hh Sun Dec 30 02:00:58 2001 +++ blackbox-0.62.0/src/Windowmenu.hh Mon Jan 21 12:09:15 2002 @@ -31,7 +31,10 @@ class Blackbox; class BlackboxWindow; + +#ifdef TOOLBAR class Toolbar; +#endif // TOOLBAR class Windowmenu : public Basemenu { private: diff -burN blackbox-0.62.0-orig/src/Workspace.cc blackbox-0.62.0/src/Workspace.cc --- blackbox-0.62.0-orig/src/Workspace.cc Wed Jan 16 02:37:47 2002 +++ blackbox-0.62.0/src/Workspace.cc Mon Jan 21 12:09:15 2002 @@ -37,7 +37,11 @@ #include "blackbox.hh" #include "Clientmenu.hh" #include "Screen.hh" + +#ifdef TOOLBAR #include "Toolbar.hh" +#endif // TOOLBAR + #include "Window.hh" #include "Workspace.hh" #include "Windowmenu.hh" @@ -117,9 +121,11 @@ BlackboxWindow *top = stackingList->first(); if (! top || ! top->setInputFocus()) { screen->getBlackbox()->setFocusedWindow((BlackboxWindow *) 0); +#ifdef TOOLBAR XSetInputFocus(screen->getBlackbox()->getXDisplay(), screen->getToolbar()->getWindowID(), RevertToParent, CurrentTime); +#endif // TOOLBAR } } } @@ -280,7 +286,10 @@ void Workspace::update(void) { clientmenu->update(); + +#ifdef TOOLBAR screen->getToolbar()->redrawWindowLabel(True); +#endif // TOOLBAR } @@ -335,12 +344,16 @@ slit_h = screen->getSlit()->getHeight() + (screen->getBorderWidth() * 4), #endif // SLIT + +#ifdef TOOLBAR toolbar_x = screen->getToolbar()->getX() - screen->getBorderWidth(), toolbar_y = screen->getToolbar()->getY() - screen->getBorderWidth(), toolbar_w = screen->getToolbar()->getWidth() + (screen->getBorderWidth() * 4), toolbar_h = screen->getToolbar()->getHeight() + (screen->getBorderWidth() * 4), +#endif // TOOLBAR + start_pos = 0, change_y = ((screen->getColPlacementDirection() == BScreen::TopBottom) ? 1 : -1), @@ -383,11 +396,15 @@ } } - if (placed && + if (placed +#ifdef TOOLBAR + && (toolbar_x < test_x + win_w && toolbar_x + toolbar_w > test_x && toolbar_y < test_y + win_h && toolbar_y + toolbar_h > test_y) +#endif // TOOLBAR + #ifdef SLIT || (slit_x < test_x + win_w && @@ -445,11 +462,14 @@ } } - if (placed && + if (placed +#ifdef TOOLBAR + && (toolbar_x < test_x + win_w && toolbar_x + toolbar_w > test_x && toolbar_y < test_y + win_h && toolbar_y + toolbar_h > test_y) +#endif // TOOLBAR #ifdef SLIT || (slit_x < test_x + win_w && diff -burN blackbox-0.62.0-orig/src/Workspacemenu.cc blackbox-0.62.0/src/Workspacemenu.cc --- blackbox-0.62.0-orig/src/Workspacemenu.cc Fri Dec 28 17:41:27 2001 +++ blackbox-0.62.0/src/Workspacemenu.cc Mon Jan 21 12:09:15 2002 @@ -33,7 +33,9 @@ #include "i18n.hh" #include "blackbox.hh" #include "Screen.hh" +#ifdef TOOLBAR #include "Toolbar.hh" +#endif // TOOLBAR #include "Workspacemenu.hh" #include "Workspace.hh" diff -burN blackbox-0.62.0-orig/src/Workspacemenu.hh blackbox-0.62.0/src/Workspacemenu.hh --- blackbox-0.62.0-orig/src/Workspacemenu.hh Sun Dec 30 02:01:54 2001 +++ blackbox-0.62.0/src/Workspacemenu.hh Mon Jan 21 12:09:15 2002 @@ -27,7 +27,9 @@ // forward declaration class Workspacemenu; +#ifdef TOOLBAR class Toolbar; +#endif // TOOLBAR class Workspacemenu : public Basemenu { private: diff -burN blackbox-0.62.0-orig/src/blackbox.cc blackbox-0.62.0/src/blackbox.cc --- blackbox-0.62.0-orig/src/blackbox.cc Sat Jan 12 06:17:26 2002 +++ blackbox-0.62.0/src/blackbox.cc Mon Jan 21 12:09:15 2002 @@ -51,7 +51,9 @@ #include "Slit.hh" #endif // SLIT +#ifdef TOOLBAR #include "Toolbar.hh" +#endif // TOOLBAR #include "Window.hh" #include "Workspace.hh" #include "Workspacemenu.hh" @@ -174,7 +176,9 @@ slitSearchList = new LinkedList; #endif // SLIT +#ifdef TOOLBAR toolbarSearchList = new LinkedList; +#endif // TOOLBAR groupSearchList = new LinkedList; menuTimestamps = new LinkedList; @@ -244,7 +248,9 @@ delete windowSearchList; delete menuSearchList; +#ifdef TOOLBAR delete toolbarSearchList; +#endif // TOOLBAR delete groupSearchList; #ifdef SLIT @@ -276,7 +282,9 @@ Slit *slit = (Slit *) 0; #endif // SLIT +#ifdef TOOLBAR Toolbar *tbar = (Toolbar *) 0; +#endif // TOOLBAR if ((win = searchWindow(e->xbutton.window))) { win->buttonPressEvent(&e->xbutton); @@ -291,8 +299,11 @@ slit->buttonPressEvent(&e->xbutton); #endif // SLIT +#ifdef TOOLBAR } else if ((tbar = searchToolbar(e->xbutton.window))) { tbar->buttonPressEvent(&e->xbutton); +#endif // TOOLBAR + } else { LinkedListIterator it(screenList); BScreen *screen = it.current(); @@ -375,14 +386,18 @@ BlackboxWindow *win = (BlackboxWindow *) 0; Basemenu *menu = (Basemenu *) 0; +#ifdef TOOLBAR Toolbar *tbar = (Toolbar *) 0; +#endif // TOOLBAR if ((win = searchWindow(e->xbutton.window))) win->buttonReleaseEvent(&e->xbutton); else if ((menu = searchMenu(e->xbutton.window))) menu->buttonReleaseEvent(&e->xbutton); +#ifdef TOOLBAR else if ((tbar = searchToolbar(e->xbutton.window))) tbar->buttonReleaseEvent(&e->xbutton); +#endif // TOOLBAR break; } @@ -531,7 +546,9 @@ BScreen *screen = (BScreen *) 0; BlackboxWindow *win = (BlackboxWindow *) 0; Basemenu *menu = (Basemenu *) 0; +#ifdef TOOLBAR Toolbar *tbar = (Toolbar *) 0; +#endif // TOOLBAR #ifdef SLIT Slit *slit = (Slit *) 0; @@ -561,8 +578,10 @@ } } else if ((menu = searchMenu(e->xcrossing.window))) { menu->enterNotifyEvent(&e->xcrossing); +#ifdef TOOLBAR } else if ((tbar = searchToolbar(e->xcrossing.window))) { tbar->enterNotifyEvent(&e->xcrossing); +#endif // TOOLBAR #ifdef SLIT } else if ((slit = searchSlit(e->xcrossing.window))) { slit->enterNotifyEvent(&e->xcrossing); @@ -576,7 +595,9 @@ BlackboxWindow *win = (BlackboxWindow *) 0; Basemenu *menu = (Basemenu *) 0; +#ifdef TOOLBAR Toolbar *tbar = (Toolbar *) 0; +#endif // TOOLBAR #ifdef SLIT Slit *slit = (Slit *) 0; @@ -586,8 +607,10 @@ menu->leaveNotifyEvent(&e->xcrossing); else if ((win = searchWindow(e->xcrossing.window))) win->installColormap(False); +#ifdef TOOLBAR else if ((tbar = searchToolbar(e->xcrossing.window))) tbar->leaveNotifyEvent(&e->xcrossing); +#endif // TOOLBAR #ifdef SLIT else if ((slit = searchSlit(e->xcrossing.window))) slit->leaveNotifyEvent(&e->xcrossing); @@ -599,23 +622,29 @@ case Expose: { BlackboxWindow *win = (BlackboxWindow *) 0; Basemenu *menu = (Basemenu *) 0; +#ifdef TOOLBAR Toolbar *tbar = (Toolbar *) 0; +#endif // TOOLBAR if ((win = searchWindow(e->xexpose.window))) win->exposeEvent(&e->xexpose); else if ((menu = searchMenu(e->xexpose.window))) menu->exposeEvent(&e->xexpose); +#ifdef TOOLBAR else if ((tbar = searchToolbar(e->xexpose.window))) tbar->exposeEvent(&e->xexpose); +#endif // TOOLBAR break; } case KeyPress: { +#ifdef TOOLBAR Toolbar *tbar = searchToolbar(e->xkey.window); if (tbar && tbar->isEditing()) tbar->keyPressEvent(&e->xkey); +#endif // TOOLBAR break; } @@ -794,6 +823,7 @@ } +#ifdef TOOLBAR Toolbar *Blackbox::searchToolbar(Window window) { LinkedListIterator it(toolbarSearchList); @@ -804,6 +834,7 @@ return (Toolbar *) 0; } +#endif // TOOLBAR #ifdef SLIT @@ -835,9 +866,11 @@ } +#ifdef TOOLBAR void Blackbox::saveToolbarSearch(Window window, Toolbar *data) { toolbarSearchList->insert(new ToolbarSearch(window, data)); } +#endif // TOOLBAR #ifdef SLIT @@ -883,6 +916,7 @@ } +#ifdef TOOLBAR void Blackbox::removeToolbarSearch(Window window) { LinkedListIterator it(toolbarSearchList); for (ToolbarSearch *tmp = it.current(); tmp; it++, tmp = it.current()) { @@ -893,6 +927,7 @@ } } } +#endif // TOOLBAR #ifdef SLIT @@ -1075,6 +1110,7 @@ screen->getCount()); XrmPutLineResource(&new_blackboxrc, rc_string); +#ifdef TOOLBAR sprintf(rc_string, "session.screen%d.toolbar.onTop: %s", screen_number, ((screen->getToolbar()->isOnTop()) ? "True" : "False")); XrmPutLineResource(&new_blackboxrc, rc_string); @@ -1098,6 +1134,7 @@ sprintf(rc_string, "session.screen%d.toolbar.placement: %s", screen_number, toolbar_placement); XrmPutLineResource(&new_blackboxrc, rc_string); +#endif // TOOLBAR load_rc(screen); @@ -1125,9 +1162,11 @@ screen->getEdgeSnapThreshold()); XrmPutLineResource(&new_blackboxrc, rc_string); +#ifdef TOOLBAR sprintf(rc_string, "session.screen%d.toolbar.widthPercent: %d", screen_number, screen->getToolbarWidthPercent()); XrmPutLineResource(&new_blackboxrc, rc_string); +#endif // TOOLBAR // write out the users workspace names int i, len = 0; @@ -1354,6 +1393,7 @@ } else { screen->saveWorkspaces(1); } +#ifdef TOOLBAR sprintf(name_lookup, "session.screen%d.toolbar.widthPercent", screen_number); sprintf(class_lookup, "Session.Screen%d.Toolbar.WidthPercent", @@ -1389,6 +1429,7 @@ } else { screen->saveToolbarPlacement(Toolbar::BottomCenter); } +#endif // TOOLBAR screen->removeWorkspaceNames(); sprintf(name_lookup, "session.screen%d.workspaceNames", screen_number); @@ -1410,6 +1451,7 @@ delete [] search; } +#ifdef TOOLBAR sprintf(name_lookup, "session.screen%d.toolbar.onTop", screen_number); sprintf(class_lookup, "Session.Screen%d.Toolbar.OnTop", screen_number); if (XrmGetResource(database, name_lookup, class_lookup, &value_type, @@ -1432,6 +1474,8 @@ } else { screen->saveToolbarAutoHide(False); } +#endif // TOOLBAR + sprintf(name_lookup, "session.screen%d.focusModel", screen_number); sprintf(class_lookup, "Session.Screen%d.FocusModel", screen_number); if (XrmGetResource(database, name_lookup, class_lookup, &value_type, @@ -1743,13 +1787,19 @@ void Blackbox::setFocusedWindow(BlackboxWindow *win) { BScreen *old_screen = (BScreen *) 0, *screen = (BScreen *) 0; BlackboxWindow *old_win = (BlackboxWindow *) 0; + +#ifdef TOOLBAR Toolbar *old_tbar = (Toolbar *) 0, *tbar = (Toolbar *) 0; +#endif // TOOLBAR + Workspace *old_wkspc = (Workspace *) 0, *wkspc = (Workspace *) 0; if (focused_window) { old_win = focused_window; old_screen = old_win->getScreen(); +#ifdef TOOLBAR old_tbar = old_screen->getToolbar(); +#endif // TOOLBAR old_wkspc = old_screen->getWorkspace(old_win->getWorkspaceNumber()); old_win->setFocusFlag(False); @@ -1758,7 +1808,9 @@ if (win && ! win->isIconic()) { screen = win->getScreen(); +#ifdef TOOLBAR tbar = screen->getToolbar(); +#endif // TOOLBAR wkspc = screen->getWorkspace(win->getWorkspaceNumber()); focused_window = win; @@ -1769,13 +1821,17 @@ focused_window = (BlackboxWindow *) 0; } - if (tbar) - tbar->redrawWindowLabel(True); if (screen) screen->updateNetizenWindowFocus(); +#ifdef TOOLBAR + if (tbar) + tbar->redrawWindowLabel(True); + if (old_tbar && old_tbar != tbar) old_tbar->redrawWindowLabel(True); +#endif // TOOLBAR + if (old_screen && old_screen != screen) old_screen->updateNetizenWindowFocus(); } diff -burN blackbox-0.62.0-orig/src/blackbox.hh blackbox-0.62.0/src/blackbox.hh --- blackbox-0.62.0-orig/src/blackbox.hh Sun Dec 30 02:11:38 2001 +++ blackbox-0.62.0/src/blackbox.hh Mon Jan 21 12:09:15 2002 @@ -52,7 +52,9 @@ class BImageControl; class BlackboxWindow; class Basemenu; +#ifdef TOOLBAR class Toolbar; +#endif // TOOLBAR #ifdef SLIT class Slit; #endif // SLIT @@ -91,8 +93,10 @@ LinkedList *windowSearchList, *groupSearchList; typedef DataSearch MenuSearch; LinkedList *menuSearchList; +#ifdef TOOLBAR typedef DataSearch ToolbarSearch; LinkedList *toolbarSearchList; +#endif // TOOLBAR #ifdef SLIT typedef DataSearch SlitSearch; @@ -147,7 +151,9 @@ { return resource.double_click_interval; } inline const Time &getLastTime(void) const { return last_time; } +#ifdef TOOLBAR Toolbar *searchToolbar(Window); +#endif // TOOLBAR inline const char *getStyleFilename(void) const { return resource.style_file; } @@ -176,11 +182,15 @@ void saveMenuFilename(const char *); void saveMenuSearch(Window, Basemenu *); void saveWindowSearch(Window, BlackboxWindow *); +#ifdef TOOLBAR void saveToolbarSearch(Window, Toolbar *); +#endif // TOOLBAR void saveGroupSearch(Window, BlackboxWindow *); void removeMenuSearch(Window); void removeWindowSearch(Window); +#ifdef TOOLBAR void removeToolbarSearch(Window); +#endif // TOOLBAR void removeGroupSearch(Window); void restart(const char * = 0); void reconfigure(void);