diff options
author | fluxgen <fluxgen> | 2003-12-07 17:47:42 (GMT) |
---|---|---|
committer | fluxgen <fluxgen> | 2003-12-07 17:47:42 (GMT) |
commit | b8c1d3e5ee0674bfe33d6af78cb6d3ff5cf1d85e (patch) | |
tree | 6c19eaecca85315314d50d9cf32cb770b5a7dae7 | |
parent | d9e485077fed2aad909cd17970969bc778d6f42c (diff) | |
download | fluxbox-b8c1d3e5ee0674bfe33d6af78cb6d3ff5cf1d85e.zip fluxbox-b8c1d3e5ee0674bfe33d6af78cb6d3ff5cf1d85e.tar.bz2 |
title change signal
-rw-r--r-- | src/Window.cc | 26 | ||||
-rw-r--r-- | src/Window.hh | 8 |
2 files changed, 11 insertions, 23 deletions
diff --git a/src/Window.cc b/src/Window.cc index 9dcbf28..0ffaca6 100644 --- a/src/Window.cc +++ b/src/Window.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: Window.cc,v 1.247 2003/12/04 21:31:02 fluxgen Exp $ | 25 | // $Id: Window.cc,v 1.248 2003/12/07 17:47:42 fluxgen Exp $ |
26 | 26 | ||
27 | #include "Window.hh" | 27 | #include "Window.hh" |
28 | 28 | ||
@@ -257,6 +257,7 @@ FluxboxWindow::FluxboxWindow(WinClient &client, BScreen &scr, FbWinFrameTheme &t | |||
257 | m_workspacesig(*this), | 257 | m_workspacesig(*this), |
258 | m_diesig(*this), | 258 | m_diesig(*this), |
259 | m_focussig(*this), | 259 | m_focussig(*this), |
260 | m_titlesig(*this), | ||
260 | moving(false), resizing(false), shaded(false), | 261 | moving(false), resizing(false), shaded(false), |
261 | iconic(false), focused(false), | 262 | iconic(false), focused(false), |
262 | stuck(false), m_managed(false), | 263 | stuck(false), m_managed(false), |
@@ -1057,7 +1058,7 @@ void FluxboxWindow::updateFunctions() { | |||
1057 | setupWindow(); | 1058 | setupWindow(); |
1058 | } | 1059 | } |
1059 | 1060 | ||
1060 | void FluxboxWindow::updateBlackboxHintsFromClient(WinClient &client) { | 1061 | void FluxboxWindow::updateBlackboxHintsFromClient(const WinClient &client) { |
1061 | const FluxboxWindow::BlackboxHints *hint = client.getBlackboxHint(); | 1062 | const FluxboxWindow::BlackboxHints *hint = client.getBlackboxHint(); |
1062 | if (!hint) return; | 1063 | if (!hint) return; |
1063 | 1064 | ||
@@ -1225,7 +1226,7 @@ void FluxboxWindow::iconify() { | |||
1225 | if (isIconic()) // no need to iconify if we're already | 1226 | if (isIconic()) // no need to iconify if we're already |
1226 | return; | 1227 | return; |
1227 | 1228 | ||
1228 | m_windowmenu.hide(); | 1229 | menu().hide(); |
1229 | iconic = true; | 1230 | iconic = true; |
1230 | 1231 | ||
1231 | setState(IconicState); | 1232 | setState(IconicState); |
@@ -2133,20 +2134,11 @@ void FluxboxWindow::propertyNotifyEvent(WinClient &client, Atom atom) { | |||
2133 | break; | 2134 | break; |
2134 | 2135 | ||
2135 | case XA_WM_ICON_NAME: | 2136 | case XA_WM_ICON_NAME: |
2136 | client.updateIconTitle(); | 2137 | // update icon title and then do normal XA_WM_NAME stuff |
2137 | updateIconNameFromClient(client); | 2138 | client.updateIconTitle(); |
2138 | updateIcon(); | ||
2139 | break; | ||
2140 | |||
2141 | case XA_WM_NAME: | 2139 | case XA_WM_NAME: |
2142 | updateTitleFromClient(client); | 2140 | updateTitleFromClient(client); |
2143 | 2141 | m_titlesig.notify(); | |
2144 | if (! iconic) | ||
2145 | screen().getWorkspace(m_workspace_number)->update(); | ||
2146 | else | ||
2147 | updateIcon(); | ||
2148 | |||
2149 | |||
2150 | break; | 2142 | break; |
2151 | 2143 | ||
2152 | case XA_WM_NORMAL_HINTS: { | 2144 | case XA_WM_NORMAL_HINTS: { |
@@ -3028,10 +3020,6 @@ void FluxboxWindow::attachTo(int x, int y) { | |||
3028 | m_attaching_tab = 0; | 3020 | m_attaching_tab = 0; |
3029 | } | 3021 | } |
3030 | 3022 | ||
3031 | void FluxboxWindow::updateIcon() { | ||
3032 | //!! TODO: notify listeners about icon name change | ||
3033 | } | ||
3034 | |||
3035 | void FluxboxWindow::restore(WinClient *client, bool remap) { | 3023 | void FluxboxWindow::restore(WinClient *client, bool remap) { |
3036 | if (client->m_win != this) | 3024 | if (client->m_win != this) |
3037 | return; | 3025 | return; |
diff --git a/src/Window.hh b/src/Window.hh index 7db118c..6418347 100644 --- a/src/Window.hh +++ b/src/Window.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: Window.hh,v 1.100 2003/10/28 02:17:03 rathnor Exp $ | 25 | // $Id: Window.hh,v 1.101 2003/12/07 17:47:42 fluxgen Exp $ |
26 | 26 | ||
27 | #ifndef WINDOW_HH | 27 | #ifndef WINDOW_HH |
28 | #define WINDOW_HH | 28 | #define WINDOW_HH |
@@ -344,6 +344,7 @@ public: | |||
344 | FbTk::Subject &dieSig() { return m_diesig; } | 344 | FbTk::Subject &dieSig() { return m_diesig; } |
345 | const FbTk::Subject &dieSig() const { return m_diesig; } | 345 | const FbTk::Subject &dieSig() const { return m_diesig; } |
346 | FbTk::Subject &focusSig() { return m_focussig; } | 346 | FbTk::Subject &focusSig() { return m_focussig; } |
347 | FbTk::Subject &titleSig() { return m_titlesig; } | ||
347 | /** @} */ // end group signals | 348 | /** @} */ // end group signals |
348 | 349 | ||
349 | const timeval &lastFocusTime() const { return m_last_focus_time;} | 350 | const timeval &lastFocusTime() const { return m_last_focus_time;} |
@@ -375,7 +376,6 @@ private: | |||
375 | void stopMoving(); | 376 | void stopMoving(); |
376 | void startResizing(Window win, int x, int y); | 377 | void startResizing(Window win, int x, int y); |
377 | void stopResizing(Window win=0); | 378 | void stopResizing(Window win=0); |
378 | void updateIcon(); | ||
379 | /// try to attach current attaching client to a window at pos x, y | 379 | /// try to attach current attaching client to a window at pos x, y |
380 | void attachTo(int x, int y); | 380 | void attachTo(int x, int y); |
381 | 381 | ||
@@ -385,7 +385,7 @@ private: | |||
385 | /// gets icon name from client window | 385 | /// gets icon name from client window |
386 | void updateIconNameFromClient(WinClient &client); | 386 | void updateIconNameFromClient(WinClient &client); |
387 | void updateMWMHintsFromClient(WinClient &client); | 387 | void updateMWMHintsFromClient(WinClient &client); |
388 | void updateBlackboxHintsFromClient(WinClient &client); | 388 | void updateBlackboxHintsFromClient(const WinClient &client); |
389 | void saveBlackboxAttribs(); | 389 | void saveBlackboxAttribs(); |
390 | void setNetWMAttributes(); | 390 | void setNetWMAttributes(); |
391 | void associateClientWindow(bool use_attrs = false, int x = 0, int y = 0, unsigned int width = 1, unsigned int height = 1); | 391 | void associateClientWindow(bool use_attrs = false, int x = 0, int y = 0, unsigned int width = 1, unsigned int height = 1); |
@@ -404,7 +404,7 @@ private: | |||
404 | /// sends configurenotify to all clients | 404 | /// sends configurenotify to all clients |
405 | void sendConfigureNotify(bool send_to_netizens = true); | 405 | void sendConfigureNotify(bool send_to_netizens = true); |
406 | // state and hint signals | 406 | // state and hint signals |
407 | WinSubject m_hintsig, m_statesig, m_layersig, m_workspacesig, m_diesig, m_focussig; | 407 | WinSubject m_hintsig, m_statesig, m_layersig, m_workspacesig, m_diesig, m_focussig, m_titlesig; |
408 | 408 | ||
409 | // Window states | 409 | // Window states |
410 | bool moving, resizing, shaded, iconic, | 410 | bool moving, resizing, shaded, iconic, |