summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Window.cc26
-rw-r--r--src/Window.hh8
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
1060void FluxboxWindow::updateBlackboxHintsFromClient(WinClient &client) { 1061void 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
3031void FluxboxWindow::updateIcon() {
3032 //!! TODO: notify listeners about icon name change
3033}
3034
3035void FluxboxWindow::restore(WinClient *client, bool remap) { 3023void 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,