summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfluxgen <fluxgen>2003-09-08 16:37:27 (GMT)
committerfluxgen <fluxgen>2003-09-08 16:37:27 (GMT)
commit935616cab63bae8a380bcc03510c1f9263640778 (patch)
tree0f96ea3eb72b281423bf39eae68f83a7415cd7b6
parent825273e01f066e9dd7e865b9c80df69960e1e9f5 (diff)
downloadfluxbox_lack-935616cab63bae8a380bcc03510c1f9263640778.zip
fluxbox_lack-935616cab63bae8a380bcc03510c1f9263640778.tar.bz2
iconlist signal to notify when iconlist changed
-rw-r--r--src/Screen.cc7
-rw-r--r--src/Screen.hh9
2 files changed, 13 insertions, 3 deletions
diff --git a/src/Screen.cc b/src/Screen.cc
index 14c0f06..5ce8c73 100644
--- a/src/Screen.cc
+++ b/src/Screen.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: Screen.cc,v 1.230 2003/08/30 01:02:38 fluxgen Exp $ 25// $Id: Screen.cc,v 1.231 2003/09/08 16:37:27 fluxgen Exp $
26 26
27 27
28#include "Screen.hh" 28#include "Screen.hh"
@@ -265,6 +265,7 @@ BScreen::BScreen(FbTk::ResourceManager &rm,
265 const string &screenname, const string &altscreenname, 265 const string &screenname, const string &altscreenname,
266 int scrn, int num_layers) : 266 int scrn, int num_layers) :
267 m_clientlist_sig(*this), // client signal 267 m_clientlist_sig(*this), // client signal
268 m_iconlist_sig(*this), // icon list signal
268 m_workspacecount_sig(*this), // workspace count signal 269 m_workspacecount_sig(*this), // workspace count signal
269 m_workspacenames_sig(*this), // workspace names signal 270 m_workspacenames_sig(*this), // workspace names signal
270 m_currentworkspace_sig(*this), // current workspace signal 271 m_currentworkspace_sig(*this), // current workspace signal
@@ -685,6 +686,8 @@ void BScreen::addIcon(FluxboxWindow *w) {
685 686
686 m_icon_list.push_back(w); 687 m_icon_list.push_back(w);
687 updateIconMenu(); 688 updateIconMenu();
689
690 m_iconlist_sig.notify();
688} 691}
689 692
690 693
@@ -699,6 +702,8 @@ void BScreen::removeIcon(FluxboxWindow *w) {
699 m_icon_list.erase(erase_it); 702 m_icon_list.erase(erase_it);
700 703
701 updateIconMenu(); 704 updateIconMenu();
705
706 m_iconlist_sig.notify();
702} 707}
703 708
704 709
diff --git a/src/Screen.hh b/src/Screen.hh
index f19c7b4..de25c7d 100644
--- a/src/Screen.hh
+++ b/src/Screen.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: Screen.hh,v 1.123 2003/08/25 13:15:53 rathnor Exp $ 25// $Id: Screen.hh,v 1.124 2003/09/08 16:37:27 fluxgen Exp $
26 26
27#ifndef SCREEN_HH 27#ifndef SCREEN_HH
28#define SCREEN_HH 28#define SCREEN_HH
@@ -145,6 +145,8 @@ public:
145 //@{ 145 //@{
146 /// client list signal 146 /// client list signal
147 FbTk::Subject &clientListSig() { return m_clientlist_sig; } 147 FbTk::Subject &clientListSig() { return m_clientlist_sig; }
148 /// icon list sig
149 FbTk::Subject &iconListSig() { return m_iconlist_sig; }
148 /// workspace count signal 150 /// workspace count signal
149 FbTk::Subject &workspaceCountSig() { return m_workspacecount_sig; } 151 FbTk::Subject &workspaceCountSig() { return m_workspacecount_sig; }
150 /// workspace names signal 152 /// workspace names signal
@@ -324,6 +326,8 @@ public:
324 void removeConfigMenu(FbTk::Menu &menu); 326 void removeConfigMenu(FbTk::Menu &menu);
325 327
326 bool isShuttingdown() const { return m_shutdown; } 328 bool isShuttingdown() const { return m_shutdown; }
329
330
327 enum { ROWSMARTPLACEMENT = 1, COLSMARTPLACEMENT, CASCADEPLACEMENT, 331 enum { ROWSMARTPLACEMENT = 1, COLSMARTPLACEMENT, CASCADEPLACEMENT,
328 UNDERMOUSEPLACEMENT, LEFTRIGHT, RIGHTLEFT, TOPBOTTOM, BOTTOMTOP }; 332 UNDERMOUSEPLACEMENT, LEFTRIGHT, RIGHTLEFT, TOPBOTTOM, BOTTOMTOP };
329 333
@@ -339,7 +343,7 @@ public:
339 private: 343 private:
340 BScreen &m_scr; 344 BScreen &m_scr;
341 }; 345 };
342 346
343private: 347private:
344 void setupConfigmenu(FbTk::Menu &menu); 348 void setupConfigmenu(FbTk::Menu &menu);
345 void createStyleMenu(FbTk::Menu &menu, const char *label, const char *directory); 349 void createStyleMenu(FbTk::Menu &menu, const char *label, const char *directory);
@@ -355,6 +359,7 @@ private:
355 359
356 ScreenSubject 360 ScreenSubject
357 m_clientlist_sig, ///< client signal 361 m_clientlist_sig, ///< client signal
362 m_iconlist_sig, ///< notify if a window gets iconified/deiconified
358 m_workspacecount_sig, ///< workspace count signal 363 m_workspacecount_sig, ///< workspace count signal
359 m_workspacenames_sig, ///< workspace names signal 364 m_workspacenames_sig, ///< workspace names signal
360 m_currentworkspace_sig, ///< current workspace signal 365 m_currentworkspace_sig, ///< current workspace signal