Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

client.transient_for is not set when restarting awesome #181

Closed
blueyed opened this issue Mar 28, 2015 · 3 comments
Closed

client.transient_for is not set when restarting awesome #181

blueyed opened this issue Mar 28, 2015 · 3 comments
Assignees
Labels

Comments

@blueyed
Copy link
Member

blueyed commented Mar 28, 2015

The transient_for property does not get setup when restarting awesome.

The X property itself is still set.

@blueyed blueyed added the bug label Mar 28, 2015
@psychon
Copy link
Member

psychon commented Apr 3, 2015

Could you add some debug-printfs to awesome? In property.c, function property_update_wm_transient_for, make it print the result of client_getbywin().

My guess is that awesome happens to manage the transient window before its parent. So then it sees a WM_TRANSIENT_FOR pointing to a window that it does not know about and thus ignores that value.

@blueyed
Copy link
Member Author

blueyed commented Aug 1, 2015

My guess is that awesome happens to manage the transient window before its parent

That appears to be correct.
The result is 0.

@psychon
Copy link
Member

psychon commented Aug 2, 2015

Ok. Quick idea for a fix would be a rescan_transient_for() at the end of scan() which looks at clients with c->transient_for == NULL and checks if they really have no WM_TRANSIENT_FOR property. Let's see when someone finds the time for this. :-)

@psychon psychon self-assigned this Feb 22, 2016
psychon added a commit to psychon/awesome that referenced this issue Feb 22, 2016
When we manage the transient before the main window, the client object's
.transient_for property would stay nil. This happens because the property points
to a window which we don't know (yet) and thus is ignored.

Fix this by remembering the value of WM_TRANSIENT_FOR and checking in
client_manage() if the new client is the "missing window we did not find
before".

Fixes: awesomeWM#181
Signed-off-by: Uli Schlachter <psychon@znc.in>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants