aboutsummaryrefslogtreecommitdiff
path: root/src/Workspace.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/Workspace.cc')
-rw-r--r--src/Workspace.cc15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/Workspace.cc b/src/Workspace.cc
index b266d78..ff3b21f 100644
--- a/src/Workspace.cc
+++ b/src/Workspace.cc
@@ -1,5 +1,5 @@
1// Workspace.cc for Fluxbox 1// Workspace.cc for Fluxbox
2// Copyright (c) 2001 - 2006 Henrik Kinnunen (fluxgen at fluxbox dot org) 2// Copyright (c) 2001 - 2008 Henrik Kinnunen (fluxgen at fluxbox dot org)
3// 3//
4// Workspace.cc for Blackbox - an X11 Window manager 4// Workspace.cc for Blackbox - an X11 Window manager
5// Copyright (c) 1997 - 2000 Brad Hughes (bhughes at tcac.net) 5// Copyright (c) 1997 - 2000 Brad Hughes (bhughes at tcac.net)
@@ -34,6 +34,7 @@
34#include "FbTk/I18n.hh" 34#include "FbTk/I18n.hh"
35#include "FbTk/StringUtil.hh" 35#include "FbTk/StringUtil.hh"
36#include "FbTk/FbString.hh" 36#include "FbTk/FbString.hh"
37#include "FbTk/MemFun.hh"
37 38
38// use GNU extensions 39// use GNU extensions
39#ifndef _GNU_SOURCE 40#ifndef _GNU_SOURCE
@@ -70,13 +71,17 @@ using std::endl;
70 71
71Workspace::Workspace(BScreen &scrn, const string &name, unsigned int id): 72Workspace::Workspace(BScreen &scrn, const string &name, unsigned int id):
72 m_screen(scrn), 73 m_screen(scrn),
73 m_clientmenu(scrn, m_windowlist, &m_clientlist_sig), 74 m_clientmenu(scrn, m_windowlist, false),
74 m_name(name), 75 m_name(name),
75 m_id(id) { 76 m_id(id) {
76 77
78 m_clientlist_sig.connect(FbTk::MemFun(m_clientmenu,
79 &ClientMenu::refreshMenu));
80
77 menu().setInternalMenu(); 81 menu().setInternalMenu();
78 setName(name); 82 setName(name);
79 83
84
80} 85}
81 86
82 87
@@ -91,7 +96,7 @@ void Workspace::addWindow(FluxboxWindow &w) {
91 w.setWorkspace(m_id); 96 w.setWorkspace(m_id);
92 97
93 m_windowlist.push_back(&w); 98 m_windowlist.push_back(&w);
94 m_clientlist_sig.notify(); 99 m_clientlist_sig.emit();
95 100
96} 101}
97 102
@@ -108,7 +113,7 @@ int Workspace::removeWindow(FluxboxWindow *w, bool still_alive) {
108 FocusControl::unfocusWindow(w->winClient(), true, true); 113 FocusControl::unfocusWindow(w->winClient(), true, true);
109 114
110 m_windowlist.remove(w); 115 m_windowlist.remove(w);
111 m_clientlist_sig.notify(); 116 m_clientlist_sig.emit();
112 117
113 return m_windowlist.size(); 118 return m_windowlist.size();
114} 119}
@@ -190,5 +195,5 @@ void Workspace::shutdown() {
190} 195}
191 196
192void Workspace::updateClientmenu() { 197void Workspace::updateClientmenu() {
193 m_clientlist_sig.notify(); 198 m_clientlist_sig.emit();
194} 199}