aboutsummaryrefslogtreecommitdiff
path: root/src/WinClient.cc
diff options
context:
space:
mode:
authormarkt <markt>2007-06-08 19:39:12 (GMT)
committermarkt <markt>2007-06-08 19:39:12 (GMT)
commit222d8cd7e9c0f28b3dd0b9b253a0b096d856195f (patch)
treebf6e2e9c61bb43e7c5441e31b28a7c096dbb99e5 /src/WinClient.cc
parentdff2aa33561b00e97b3561892fb690ba9f2968c6 (diff)
downloadfluxbox-222d8cd7e9c0f28b3dd0b9b253a0b096d856195f.zip
fluxbox-222d8cd7e9c0f28b3dd0b9b253a0b096d856195f.tar.bz2
don't tab transient windows from apps file, and change their layers when the main window does
Diffstat (limited to 'src/WinClient.cc')
-rw-r--r--src/WinClient.cc17
1 files changed, 6 insertions, 11 deletions
diff --git a/src/WinClient.cc b/src/WinClient.cc
index b7e14e9..bb6bf10 100644
--- a/src/WinClient.cc
+++ b/src/WinClient.cc
@@ -107,6 +107,11 @@ WinClient::WinClient(Window win, BScreen &screen, FluxboxWindow *fbwin):FbTk::Fb
107 // clear transient waiting list for this window 107 // clear transient waiting list for this window
108 s_transient_wait.erase(win); 108 s_transient_wait.erase(win);
109 } 109 }
110
111 // also check if this window is a transient
112 // this needs to be done before creating an fbwindow, so this doesn't get
113 // tabbed using the apps file
114 updateTransientInfo();
110} 115}
111 116
112WinClient::~WinClient() { 117WinClient::~WinClient() {
@@ -263,13 +268,6 @@ void WinClient::updateWMClassHint() {
263} 268}
264 269
265void WinClient::updateTransientInfo() { 270void WinClient::updateTransientInfo() {
266#ifdef DEBUG
267 cerr<<__FUNCTION__<<": m_win = "<<m_win<<endl;
268#endif // DEBUG
269 if (m_win == 0)
270 return;
271
272
273 // remove this from parent 271 // remove this from parent
274 if (transientFor() != 0) { 272 if (transientFor() != 0) {
275 transientFor()->transientList().remove(this); 273 transientFor()->transientList().remove(this);
@@ -293,7 +291,7 @@ void WinClient::updateTransientInfo() {
293 return; 291 return;
294 } 292 }
295 293
296 if (win != None && m_win->screen().rootWindow() == win) { 294 if (win != None && screen().rootWindow() == win) {
297 // transient for root window... = transient for group 295 // transient for root window... = transient for group
298 // I don't think we are group-aware yet 296 // I don't think we are group-aware yet
299 return; 297 return;
@@ -334,9 +332,6 @@ void WinClient::updateTransientInfo() {
334 // we need to add ourself to the right client in 332 // we need to add ourself to the right client in
335 // the transientFor() window so we search client 333 // the transientFor() window so we search client
336 transient_for->transientList().push_back(this); 334 transient_for->transientList().push_back(this);
337
338 if (transientFor()->fbwindow() && transientFor()->fbwindow()->isStuck())
339 m_win->stick();
340 } 335 }
341 336
342} 337}