--- client.c | 7 ------- ewmh.c | 5 +++++ property.c | 1 + 3 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/client.c b/client.c index 5c88d2c..a496e12 100644 --- a/client.c +++ b/client.c @@ -414,15 +414,8 @@ client_layer_translator(client_t *c) /* then deal with windows type */ switch(c->type) { - case WINDOW_TYPE_DOCK: - return LAYER_ABOVE; case WINDOW_TYPE_DESKTOP: return LAYER_DESKTOP; - case WINDOW_TYPE_DIALOG: - case WINDOW_TYPE_MENU: - case WINDOW_TYPE_TOOLBAR: - case WINDOW_TYPE_UTILITY: - return LAYER_ABOVE; default: break; } diff --git a/ewmh.c b/ewmh.c index 85e17e0..475d23d 100644 --- a/ewmh.c +++ b/ewmh.c @@ -581,6 +581,11 @@ ewmh_client_check_hints(client_t *c) c->type = MAX(c->type, WINDOW_TYPE_TOOLBAR); else if(state[i] == _NET_WM_WINDOW_TYPE_UTILITY) c->type = MAX(c->type, WINDOW_TYPE_UTILITY); + + if (c->type != WINDOW_TYPE_NORMAL && + c->type != WINDOW_TYPE_DESKTOP && + !c->transient_for) + client_setabove(c, true); } p_delete(&reply); diff --git a/property.c b/property.c index 3caa0b0..1fd85e4 100644 --- a/property.c +++ b/property.c @@ -51,6 +51,7 @@ property_update_wm_transient_for(client_t *c, xcb_get_property_reply_t *reply) c->type = WINDOW_TYPE_DIALOG; c->transient_for = client_getbywin(trans); + client_setabove(c, false); } static int -- 1.6.2 -- To unsubscribe, send mail to awesome-devel-unsubscr...@naquadah.org.