diff options
Diffstat (limited to 'src/Workspace.cc')
-rw-r--r-- | src/Workspace.cc | 15 |
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 | ||
71 | Workspace::Workspace(BScreen &scrn, const string &name, unsigned int id): | 72 | Workspace::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 | ||
192 | void Workspace::updateClientmenu() { | 197 | void Workspace::updateClientmenu() { |
193 | m_clientlist_sig.notify(); | 198 | m_clientlist_sig.emit(); |
194 | } | 199 | } |