aboutsummaryrefslogtreecommitdiff
path: root/src/WinClient.cc
diff options
context:
space:
mode:
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 da4810d..ab9d967 100644
--- a/src/WinClient.cc
+++ b/src/WinClient.cc
@@ -104,6 +104,11 @@ WinClient::WinClient(Window win, BScreen &screen, FluxboxWindow *fbwin):
104 // clear transient waiting list for this window 104 // clear transient waiting list for this window
105 s_transient_wait.erase(win); 105 s_transient_wait.erase(win);
106 } 106 }
107
108 // also check if this window is a transient
109 // this needs to be done before creating an fbwindow, so this doesn't get
110 // tabbed using the apps file
111 updateTransientInfo();
107} 112}
108 113
109WinClient::~WinClient() { 114WinClient::~WinClient() {
@@ -263,13 +268,6 @@ void WinClient::updateWMClassHint() {
263} 268}
264 269
265void WinClient::updateTransientInfo() { 270void WinClient::updateTransientInfo() {
266#ifdef DEBUG
267 cerr<<__FUNCTION__<<": fbwindow() = "<<fbwindow()<<endl;
268#endif // DEBUG
269 if (fbwindow() == 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 && fbwindow()->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 fbwindow()->stick();
340 } 335 }
341 336
342} 337}