diff options
Diffstat (limited to 'src/FocusableList.cc')
-rw-r--r-- | src/FocusableList.cc | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/FocusableList.cc b/src/FocusableList.cc index b06faac..b2b0320 100644 --- a/src/FocusableList.cc +++ b/src/FocusableList.cc | |||
@@ -100,8 +100,10 @@ void FocusableList::init() { | |||
100 | join(m_screen.currentWorkspaceSig(), | 100 | join(m_screen.currentWorkspaceSig(), |
101 | FbTk::MemFun(*this, &FocusableList::workspaceChanged)); | 101 | FbTk::MemFun(*this, &FocusableList::workspaceChanged)); |
102 | } | 102 | } |
103 | if (m_pat->dependsOnFocusedWindow()) | 103 | if (m_pat->dependsOnFocusedWindow()) { |
104 | m_screen.focusedWindowSig().attach(this); | 104 | join(m_screen.focusedWindowSig(), |
105 | FbTk::MemFun(*this, &FocusableList::focusedWindowChanged)); | ||
106 | } | ||
105 | } | 107 | } |
106 | 108 | ||
107 | void FocusableList::update(FbTk::Subject *subj) { | 109 | void FocusableList::update(FbTk::Subject *subj) { |
@@ -150,8 +152,7 @@ void FocusableList::update(FbTk::Subject *subj) { | |||
150 | if (insertFromParent(*win)) | 152 | if (insertFromParent(*win)) |
151 | m_ordersig.notify(win); | 153 | m_ordersig.notify(win); |
152 | } | 154 | } |
153 | } else if (subj == &m_screen.focusedWindowSig()) | 155 | } |
154 | reset(); | ||
155 | } | 156 | } |
156 | 157 | ||
157 | void FocusableList::checkUpdate(Focusable &win) { | 158 | void FocusableList::checkUpdate(Focusable &win) { |
@@ -315,3 +316,9 @@ void FocusableList::attachChild(FocusableList &child) const { | |||
315 | void FocusableList::workspaceChanged(BScreen &screen) { | 316 | void FocusableList::workspaceChanged(BScreen &screen) { |
316 | reset(); | 317 | reset(); |
317 | } | 318 | } |
319 | |||
320 | void FocusableList::focusedWindowChanged(BScreen &screen, | ||
321 | FluxboxWindow *focused_win, | ||
322 | WinClient *client) { | ||
323 | reset(); | ||
324 | } | ||