diff options
author | fluxgen <fluxgen> | 2003-09-08 16:37:27 (GMT) |
---|---|---|
committer | fluxgen <fluxgen> | 2003-09-08 16:37:27 (GMT) |
commit | 935616cab63bae8a380bcc03510c1f9263640778 (patch) | |
tree | 0f96ea3eb72b281423bf39eae68f83a7415cd7b6 | |
parent | 825273e01f066e9dd7e865b9c80df69960e1e9f5 (diff) | |
download | fluxbox-935616cab63bae8a380bcc03510c1f9263640778.zip fluxbox-935616cab63bae8a380bcc03510c1f9263640778.tar.bz2 |
iconlist signal to notify when iconlist changed
-rw-r--r-- | src/Screen.cc | 7 | ||||
-rw-r--r-- | src/Screen.hh | 9 |
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 | ||
343 | private: | 347 | private: |
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 |