summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrathnor <rathnor>2003-10-06 06:22:43 (GMT)
committerrathnor <rathnor>2003-10-06 06:22:43 (GMT)
commitdda34421a3d586e6efd70a4a672266267dda7474 (patch)
treead2dcb5335a03081542a91a6c8617cf89586304a
parent9a155ea7b5cf1b76aa7b9864aa3c1a7342f1f67c (diff)
downloadfluxbox_lack-dda34421a3d586e6efd70a4a672266267dda7474.zip
fluxbox_lack-dda34421a3d586e6efd70a4a672266267dda7474.tar.bz2
fix shape - all menus shaped, and some weird shape bugs
-rw-r--r--ChangeLog6
-rw-r--r--src/IconbarTool.cc7
-rw-r--r--src/IconbarTool.hh5
-rw-r--r--src/Shape.cc20
-rw-r--r--src/Toolbar.cc5
-rw-r--r--src/Toolbar.hh5
-rw-r--r--src/ToolbarHandler.cc10
-rw-r--r--src/ToolbarHandler.hh6
-rw-r--r--src/WinClient.cc10
-rw-r--r--src/Window.cc5
-rw-r--r--src/Window.hh6
-rw-r--r--src/Workspace.cc5
-rw-r--r--src/Workspace.hh4
13 files changed, 52 insertions, 42 deletions
diff --git a/ChangeLog b/ChangeLog
index be3bb98..60b293b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
1(Format: Year/Month/Day) 1(Format: Year/Month/Day)
2Changes for 0.9.6: 2Changes for 0.9.6:
3*03/10/06:
4 * Fix shaped windows+menus (Simon)
5 - make sure all existing menus use shape
6 - fix Shape itself, particularly to work properly with borders
7 Shape.cc IconBarTool.hh/cc Toolbar.hh/cc ToolbarHandler.hh/cc
8 Window.hh/cc Workspace.hh/cc WinClient.cc
3*03/10/05: 9*03/10/05:
4 * Fix frame size when changing titlebar size (Simon) 10 * Fix frame size when changing titlebar size (Simon)
5 - also send configure notify when toggling decorations 11 - also send configure notify when toggling decorations
diff --git a/src/IconbarTool.cc b/src/IconbarTool.cc
index a5cd936..34ca188 100644
--- a/src/IconbarTool.cc
+++ b/src/IconbarTool.cc
@@ -20,7 +20,7 @@
20// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 20// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21// DEALINGS IN THE SOFTWARE. 21// DEALINGS IN THE SOFTWARE.
22 22
23// $Id: IconbarTool.cc,v 1.12 2003/09/15 20:19:36 fluxgen Exp $ 23// $Id: IconbarTool.cc,v 1.13 2003/10/06 06:22:42 rathnor Exp $
24 24
25#include "IconbarTool.hh" 25#include "IconbarTool.hh"
26 26
@@ -30,7 +30,7 @@
30#include "IconButton.hh" 30#include "IconButton.hh"
31#include "Workspace.hh" 31#include "Workspace.hh"
32#include "fluxbox.hh" 32#include "fluxbox.hh"
33 33#include "FbMenu.hh"
34 34
35#include "FbTk/Menu.hh" 35#include "FbTk/Menu.hh"
36#include "FbTk/MenuItem.hh" 36#include "FbTk/MenuItem.hh"
@@ -181,7 +181,8 @@ IconbarTool::IconbarTool(const FbTk::FbWindow &parent, IconbarTheme &theme, BScr
181 m_empty_pm(0), 181 m_empty_pm(0),
182 m_rc_mode(screen.resourceManager(), WORKSPACE, 182 m_rc_mode(screen.resourceManager(), WORKSPACE,
183 screen.name() + ".iconbar.mode", screen.altName() + ".Iconbar.Mode"), 183 screen.name() + ".iconbar.mode", screen.altName() + ".Iconbar.Mode"),
184 m_menu(*screen.menuTheme(), menu.screenNumber(), screen.imageControl()) { 184 m_menu(*screen.menuTheme(), menu.screenNumber(), screen.imageControl(),
185 *screen.layerManager().getLayer(Fluxbox::instance()->getMenuLayer())) {
185 186
186 // setup menu 187 // setup menu
187 setupModeMenu(m_menu, *this); 188 setupModeMenu(m_menu, *this);
diff --git a/src/IconbarTool.hh b/src/IconbarTool.hh
index d80bf85..c805fec 100644
--- a/src/IconbarTool.hh
+++ b/src/IconbarTool.hh
@@ -20,13 +20,14 @@
20// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 20// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21// DEALINGS IN THE SOFTWARE. 21// DEALINGS IN THE SOFTWARE.
22 22
23// $Id: IconbarTool.hh,v 1.8 2003/09/10 11:08:14 fluxgen Exp $ 23// $Id: IconbarTool.hh,v 1.9 2003/10/06 06:22:42 rathnor Exp $
24 24
25#ifndef ICONBARTOOL_HH 25#ifndef ICONBARTOOL_HH
26#define ICONBARTOOL_HH 26#define ICONBARTOOL_HH
27 27
28#include "ToolbarItem.hh" 28#include "ToolbarItem.hh"
29#include "Container.hh" 29#include "Container.hh"
30#include "FbMenu.hh"
30 31
31#include "FbTk/Observer.hh" 32#include "FbTk/Observer.hh"
32#include "FbTk/Resource.hh" 33#include "FbTk/Resource.hh"
@@ -108,7 +109,7 @@ private:
108 IconList m_icon_list; 109 IconList m_icon_list;
109 FbTk::Resource<Mode> m_rc_mode; 110 FbTk::Resource<Mode> m_rc_mode;
110 111
111 FbTk::Menu m_menu; 112 FbMenu m_menu;
112}; 113};
113 114
114#endif // ICONBARTOOL_HH 115#endif // ICONBARTOOL_HH
diff --git a/src/Shape.cc b/src/Shape.cc
index 1f531e0..b4ac635 100644
--- a/src/Shape.cc
+++ b/src/Shape.cc
@@ -19,7 +19,7 @@
19// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 19// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20// DEALINGS IN THE SOFTWARE. 20// DEALINGS IN THE SOFTWARE.
21 21
22// $Id: Shape.cc,v 1.6 2003/09/17 14:16:53 fluxgen Exp $ 22// $Id: Shape.cc,v 1.7 2003/10/06 06:22:42 rathnor Exp $
23 23
24#include "Shape.hh" 24#include "Shape.hh"
25#include "FbTk/FbWindow.hh" 25#include "FbTk/FbWindow.hh"
@@ -49,8 +49,9 @@ Pixmap createShape(FbTk::FbWindow &win, int place) {
49 static char bottom_left_bits[] = { 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xf8, 0xc0 }; 49 static char bottom_left_bits[] = { 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xf8, 0xc0 };
50 static char bottom_right_bits[] = { 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x3f, 0x1f, 0x03 }; 50 static char bottom_right_bits[] = { 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x3f, 0x1f, 0x03 };
51 51
52 const int win_width = win.width() + 2*win.borderWidth() + 1; 52 const int borderw = win.borderWidth();
53 const int win_height = win.height() + 2*win.borderWidth(); 53 const int win_width = win.width() + 2*borderw;
54 const int win_height = win.height() + 2*borderw;
54 const int pixmap_width = min(8, win_width); 55 const int pixmap_width = min(8, win_width);
55 const int pixmap_height = min(8, win_height); 56 const int pixmap_height = min(8, win_height);
56 57
@@ -60,7 +61,7 @@ Pixmap createShape(FbTk::FbWindow &win, int place) {
60 memset(data, 0xFF, data_size); 61 memset(data, 0xFF, data_size);
61 62
62 XImage *ximage = XCreateImage(disp, 63 XImage *ximage = XCreateImage(disp,
63 DefaultVisual(disp, DefaultScreen(disp)), 64 DefaultVisual(disp, win.screenNumber()),
64 1, 65 1,
65 XYPixmap, 0, 66 XYPixmap, 0,
66 data, 67 data,
@@ -76,7 +77,7 @@ Pixmap createShape(FbTk::FbWindow &win, int place) {
76 if (place & Shape::TOPLEFT) { 77 if (place & Shape::TOPLEFT) {
77 for (int y=0; y<pixmap_height; y++) { 78 for (int y=0; y<pixmap_height; y++) {
78 for (int x=0; x<pixmap_width; x++) { 79 for (int x=0; x<pixmap_width; x++) {
79 XPutPixel(ximage, x + 1, y, (left_bits[y] & (0x01 << x)) ? 1 : 0); 80 XPutPixel(ximage, x, y, (left_bits[y] & (0x01 << x)) ? 1 : 0);
80 } 81 }
81 } 82 }
82 } 83 }
@@ -93,7 +94,7 @@ Pixmap createShape(FbTk::FbWindow &win, int place) {
93 if (place & Shape::BOTTOMLEFT) { 94 if (place & Shape::BOTTOMLEFT) {
94 for (int y=0; y<pixmap_height; y++) { 95 for (int y=0; y<pixmap_height; y++) {
95 for (int x=0; x<pixmap_width; x++) { 96 for (int x=0; x<pixmap_width; x++) {
96 XPutPixel(ximage, x + 1, y + win_height - pixmap_height, 97 XPutPixel(ximage, x, y + win_height - pixmap_height,
97 (bottom_left_bits[y] & (0x01 << x)) ? 1 : 0); 98 (bottom_left_bits[y] & (0x01 << x)) ? 1 : 0);
98 } 99 }
99 } 100 }
@@ -108,11 +109,6 @@ Pixmap createShape(FbTk::FbWindow &win, int place) {
108 } 109 }
109 } 110 }
110 111
111 for (int y = 0; y<pixmap_height; ++y) {
112 XPutPixel(ximage, 0, y, 1);
113 }
114
115
116 Pixmap pm = XCreatePixmap(disp, win.window(), win_width, win_height, 1); 112 Pixmap pm = XCreatePixmap(disp, win.window(), win_width, win_height, 1);
117 113
118 FbTk::GContext gc(pm); 114 FbTk::GContext gc(pm);
@@ -179,7 +175,7 @@ void Shape::update() {
179 XShapeCombineMask(FbTk::App::instance()->display(), 175 XShapeCombineMask(FbTk::App::instance()->display(),
180 m_win->window(), 176 m_win->window(),
181 ShapeBounding, 177 ShapeBounding,
182 -2, 0, 178 -m_win->borderWidth(), -m_win->borderWidth(),
183 m_shape, 179 m_shape,
184 ShapeSet); 180 ShapeSet);
185 181
diff --git a/src/Toolbar.cc b/src/Toolbar.cc
index c76b7bd..ad53499 100644
--- a/src/Toolbar.cc
+++ b/src/Toolbar.cc
@@ -22,7 +22,7 @@
22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23// DEALINGS IN THE SOFTWARE. 23// DEALINGS IN THE SOFTWARE.
24 24
25// $Id: Toolbar.cc,v 1.122 2003/09/08 18:17:19 fluxgen Exp $ 25// $Id: Toolbar.cc,v 1.123 2003/10/06 06:22:42 rathnor Exp $
26 26
27#include "Toolbar.hh" 27#include "Toolbar.hh"
28 28
@@ -224,7 +224,8 @@ Toolbar::Toolbar(BScreen &scrn, FbTk::XLayer &layer, FbTk::Menu &menu, size_t wi
224 m_screen(scrn), 224 m_screen(scrn),
225 m_toolbarmenu(menu), 225 m_toolbarmenu(menu),
226 m_placementmenu(*scrn.menuTheme(), 226 m_placementmenu(*scrn.menuTheme(),
227 scrn.screenNumber(), scrn.imageControl()), 227 scrn.screenNumber(), scrn.imageControl(),
228 *scrn.layerManager().getLayer(Fluxbox::instance()->getMenuLayer())),
228 m_layermenu(*scrn.menuTheme(), 229 m_layermenu(*scrn.menuTheme(),
229 scrn.screenNumber(), 230 scrn.screenNumber(),
230 scrn.imageControl(), 231 scrn.imageControl(),
diff --git a/src/Toolbar.hh b/src/Toolbar.hh
index 719dac3..c85eb44 100644
--- a/src/Toolbar.hh
+++ b/src/Toolbar.hh
@@ -22,7 +22,7 @@
22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23// DEALINGS IN THE SOFTWARE. 23// DEALINGS IN THE SOFTWARE.
24 24
25// $Id: Toolbar.hh,v 1.46 2003/08/29 00:44:41 fluxgen Exp $ 25// $Id: Toolbar.hh,v 1.47 2003/10/06 06:22:43 rathnor Exp $
26 26
27#ifndef TOOLBAR_HH 27#ifndef TOOLBAR_HH
28#define TOOLBAR_HH 28#define TOOLBAR_HH
@@ -45,6 +45,7 @@
45 45
46class BScreen; 46class BScreen;
47class Strut; 47class Strut;
48class FbMenu;
48class Container; 49class Container;
49class IconButton; 50class IconButton;
50class Shape; 51class Shape;
@@ -163,7 +164,7 @@ private:
163 164
164 FbTk::Timer m_hide_timer; ///< timer to for auto hide toolbar 165 FbTk::Timer m_hide_timer; ///< timer to for auto hide toolbar
165 FbTk::Menu &m_toolbarmenu; 166 FbTk::Menu &m_toolbarmenu;
166 FbTk::Menu m_placementmenu; 167 FbMenu m_placementmenu;
167 LayerMenu<Toolbar> m_layermenu; 168 LayerMenu<Toolbar> m_layermenu;
168 169
169 // themes 170 // themes
diff --git a/src/ToolbarHandler.cc b/src/ToolbarHandler.cc
index f6fd015..4a8ff3d 100644
--- a/src/ToolbarHandler.cc
+++ b/src/ToolbarHandler.cc
@@ -20,7 +20,7 @@
20// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 20// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21// DEALINGS IN THE SOFTWARE. 21// DEALINGS IN THE SOFTWARE.
22 22
23// $Id: ToolbarHandler.cc,v 1.28 2003/09/08 18:18:25 fluxgen Exp $ 23// $Id: ToolbarHandler.cc,v 1.29 2003/10/06 06:22:43 rathnor Exp $
24 24
25/** 25/**
26 * The ToolbarHandler class acts as a rough interface to the toolbar. 26 * The ToolbarHandler class acts as a rough interface to the toolbar.
@@ -33,7 +33,7 @@
33#include "Screen.hh" 33#include "Screen.hh"
34#include "Workspace.hh" 34#include "Workspace.hh"
35#include "MenuItem.hh" 35#include "MenuItem.hh"
36#include "Menu.hh" 36#include "FbMenu.hh"
37#include "FbCommands.hh" 37#include "FbCommands.hh"
38#include "RefCount.hh" 38#include "RefCount.hh"
39#include "SimpleCommand.hh" 39#include "SimpleCommand.hh"
@@ -51,9 +51,11 @@ ToolbarHandler::ToolbarHandler(BScreen &screen)
51 m_toolbar(0), 51 m_toolbar(0),
52 m_current_workspace(0), 52 m_current_workspace(0),
53 m_modemenu(*screen.menuTheme(), 53 m_modemenu(*screen.menuTheme(),
54 screen.screenNumber(), screen.imageControl()), 54 screen.screenNumber(), screen.imageControl(),
55 *screen.layerManager().getLayer(Fluxbox::instance()->getMenuLayer())),
55 m_toolbarmenu(*screen.menuTheme(), 56 m_toolbarmenu(*screen.menuTheme(),
56 screen.screenNumber(), screen.imageControl()) { 57 screen.screenNumber(), screen.imageControl(),
58 *screen.layerManager().getLayer(Fluxbox::instance()->getMenuLayer())) {
57 m_modemenu.setInternalMenu(); 59 m_modemenu.setInternalMenu();
58 m_toolbarmenu.setInternalMenu(); 60 m_toolbarmenu.setInternalMenu();
59 61
diff --git a/src/ToolbarHandler.hh b/src/ToolbarHandler.hh
index 02d131d..538ac78 100644
--- a/src/ToolbarHandler.hh
+++ b/src/ToolbarHandler.hh
@@ -20,7 +20,7 @@
20// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 20// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21// DEALINGS IN THE SOFTWARE. 21// DEALINGS IN THE SOFTWARE.
22 22
23// $Id: ToolbarHandler.hh,v 1.8 2003/09/08 18:18:25 fluxgen Exp $ 23// $Id: ToolbarHandler.hh,v 1.9 2003/10/06 06:22:43 rathnor Exp $
24 24
25#ifndef TOOLBARHANDLER_HH 25#ifndef TOOLBARHANDLER_HH
26#define TOOLBARHANDLER_HH 26#define TOOLBARHANDLER_HH
@@ -90,8 +90,8 @@ private:
90 std::auto_ptr<Toolbar> m_toolbar; 90 std::auto_ptr<Toolbar> m_toolbar;
91 unsigned int m_current_workspace; 91 unsigned int m_current_workspace;
92 ToolbarMode m_mode; 92 ToolbarMode m_mode;
93 FbTk::Menu m_modemenu; 93 FbMenu m_modemenu;
94 FbTk::Menu m_toolbarmenu; 94 FbMenu m_toolbarmenu;
95}; 95};
96 96
97#endif // TOOLBARHANDLER_HH 97#endif // TOOLBARHANDLER_HH
diff --git a/src/WinClient.cc b/src/WinClient.cc
index dadabe3..0e5e2e9 100644
--- a/src/WinClient.cc
+++ b/src/WinClient.cc
@@ -19,7 +19,7 @@
19// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 19// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20// DEALINGS IN THE SOFTWARE. 20// DEALINGS IN THE SOFTWARE.
21 21
22// $Id: WinClient.cc,v 1.29 2003/10/02 16:14:41 rathnor Exp $ 22// $Id: WinClient.cc,v 1.30 2003/10/06 06:22:43 rathnor Exp $
23 23
24#include "WinClient.hh" 24#include "WinClient.hh"
25 25
@@ -633,17 +633,17 @@ void WinClient::applySizeHints(int &width, int &height,
633 int i = width, j = height; 633 int i = width, j = height;
634 634
635 // Check minimum size 635 // Check minimum size
636 if (width < 0 || width < min_width) 636 if (width < 0 || width < static_cast<signed>(min_width))
637 width = min_width; 637 width = min_width;
638 638
639 if (height < 0 || height < min_height) 639 if (height < 0 || height < static_cast<signed>(min_height))
640 height = min_height; 640 height = min_height;
641 641
642 // Check maximum size 642 // Check maximum size
643 if (max_width > 0 && width > max_width) 643 if (max_width > 0 && width > static_cast<signed>(max_width))
644 width = max_width; 644 width = max_width;
645 645
646 if (max_height > 0 && height > max_height) 646 if (max_height > 0 && height > static_cast<signed>(max_height))
647 height = max_height; 647 height = max_height;
648 648
649 // enforce incremental size limits, wrt base size 649 // enforce incremental size limits, wrt base size
diff --git a/src/Window.cc b/src/Window.cc
index ccf52a2..f7c80cd 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -22,7 +22,7 @@
22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23// DEALINGS IN THE SOFTWARE. 23// DEALINGS IN THE SOFTWARE.
24 24
25// $Id: Window.cc,v 1.240 2003/10/05 09:03:43 rathnor Exp $ 25// $Id: Window.cc,v 1.241 2003/10/06 06:22:43 rathnor Exp $
26 26
27#include "Window.hh" 27#include "Window.hh"
28 28
@@ -260,7 +260,8 @@ FluxboxWindow::FluxboxWindow(WinClient &client, BScreen &scr, FbWinFrameTheme &t
260 maximized(MAX_NONE), 260 maximized(MAX_NONE),
261 m_screen(scr), 261 m_screen(scr),
262 display(0), 262 display(0),
263 m_windowmenu(*scr.menuTheme(), scr.screenNumber(), scr.imageControl()), 263 m_windowmenu(*scr.menuTheme(), scr.screenNumber(), scr.imageControl(),
264 *scr.layerManager().getLayer(Fluxbox::instance()->getMenuLayer())),
264 m_old_decoration(DECOR_NORMAL), 265 m_old_decoration(DECOR_NORMAL),
265 m_client(&client), 266 m_client(&client),
266 m_frame(new FbWinFrame(tm, scr.imageControl(), scr.screenNumber(), 0, 0, 100, 100)), 267 m_frame(new FbWinFrame(tm, scr.imageControl(), scr.screenNumber(), 0, 0, 100, 100)),
diff --git a/src/Window.hh b/src/Window.hh
index 8831522..480d637 100644
--- a/src/Window.hh
+++ b/src/Window.hh
@@ -22,13 +22,13 @@
22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23// DEALINGS IN THE SOFTWARE. 23// DEALINGS IN THE SOFTWARE.
24 24
25// $Id: Window.hh,v 1.98 2003/10/05 02:31:23 rathnor Exp $ 25// $Id: Window.hh,v 1.99 2003/10/06 06:22:43 rathnor Exp $
26 26
27#ifndef WINDOW_HH 27#ifndef WINDOW_HH
28#define WINDOW_HH 28#define WINDOW_HH
29 29
30#include "FbMenu.hh"
30#include "Timer.hh" 31#include "Timer.hh"
31#include "Menu.hh"
32#include "Subject.hh" 32#include "Subject.hh"
33#include "EventHandler.hh" 33#include "EventHandler.hh"
34#include "XLayerItem.hh" 34#include "XLayerItem.hh"
@@ -419,7 +419,7 @@ private:
419 Display *display; /// display connection 419 Display *display; /// display connection
420 BlackboxAttributes m_blackbox_attrib; 420 BlackboxAttributes m_blackbox_attrib;
421 421
422 FbTk::Menu m_windowmenu; 422 FbMenu m_windowmenu;
423 423
424 timeval m_last_focus_time; 424 timeval m_last_focus_time;
425 425
diff --git a/src/Workspace.cc b/src/Workspace.cc
index 3bec41a..b0a4ab6 100644
--- a/src/Workspace.cc
+++ b/src/Workspace.cc
@@ -22,7 +22,7 @@
22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23// DEALINGS IN THE SOFTWARE. 23// DEALINGS IN THE SOFTWARE.
24 24
25// $Id: Workspace.cc,v 1.81 2003/08/24 11:16:42 fluxgen Exp $ 25// $Id: Workspace.cc,v 1.82 2003/10/06 06:22:43 rathnor Exp $
26 26
27#include "Workspace.hh" 27#include "Workspace.hh"
28 28
@@ -118,7 +118,8 @@ Workspace::Workspace(BScreen &scrn, FbTk::MultLayers &layermanager,
118 const std::string &name, unsigned int i): 118 const std::string &name, unsigned int i):
119 m_screen(scrn), 119 m_screen(scrn),
120 m_lastfocus(0), 120 m_lastfocus(0),
121 m_clientmenu(*scrn.menuTheme(), scrn.screenNumber(), scrn.imageControl()), 121 m_clientmenu(*scrn.menuTheme(), scrn.screenNumber(), scrn.imageControl(),
122 *scrn.layerManager().getLayer(Fluxbox::instance()->getMenuLayer())),
122 m_layermanager(layermanager), 123 m_layermanager(layermanager),
123 m_name(name), 124 m_name(name),
124 m_id(i) { 125 m_id(i) {
diff --git a/src/Workspace.hh b/src/Workspace.hh
index 466b3a2..a385963 100644
--- a/src/Workspace.hh
+++ b/src/Workspace.hh
@@ -27,7 +27,7 @@
27 27
28#include "NotCopyable.hh" 28#include "NotCopyable.hh"
29 29
30#include "Menu.hh" 30#include "FbMenu.hh"
31#include "MultLayers.hh" 31#include "MultLayers.hh"
32 32
33#include <X11/Xlib.h> 33#include <X11/Xlib.h>
@@ -94,7 +94,7 @@ private:
94 94
95 BScreen &m_screen; 95 BScreen &m_screen;
96 FluxboxWindow *m_lastfocus; 96 FluxboxWindow *m_lastfocus;
97 FbTk::Menu m_clientmenu; 97 FbMenu m_clientmenu;
98 98
99 typedef std::vector<std::string> Group; 99 typedef std::vector<std::string> Group;
100 typedef std::vector<Group> GroupList; 100 typedef std::vector<Group> GroupList;