-
Firefox have changed their built-in notifications (turned on with It had always worked before with I reported it in https://bugzilla.mozilla.org/show_bug.cgi?id=1881434 , please find screenshots and Can anybody tell from that data what is wrong? Or give hints how to debug the issue? I also built the latest |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 6 replies
-
I fixed with |
Beta Was this translation helpful? Give feedback.
-
I guess figured out the problem, apparently in newer releases of firefox, the notifications window type has changed from: i3 Doesn't mark A quick patch on diff --git a/src/manage.c b/src/manage.c
index b0684d6b..873dc5c3 100644
--- a/src/manage.c
+++ b/src/manage.c
@@ -467,6 +467,7 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki
xcb_reply_contains_atom(type_reply, A__NET_WM_WINDOW_TYPE_UTILITY) ||
xcb_reply_contains_atom(type_reply, A__NET_WM_WINDOW_TYPE_TOOLBAR) ||
xcb_reply_contains_atom(type_reply, A__NET_WM_WINDOW_TYPE_SPLASH) ||
+ xcb_reply_contains_atom(type_reply, A__NET_WM_WINDOW_TYPE_NOTIFICATION) ||
xcb_reply_contains_atom(state_reply, A__NET_WM_STATE_MODAL) ||
(cwindow->max_width > 0 && cwindow->max_height > 0 &&
cwindow->min_height == cwindow->max_height && |
Beta Was this translation helpful? Give feedback.
-
After a bit further digging, i came to conclusion that this problem is caused by firefox, not i3. On Chrome WM_STATE values, we can see that window is set to "ABOVE EVERYTHING" Firefox WM_STATE value on the other hand is empty Additionally WM_WINDOW_ROLE value of firefox is "alert" which should been "popup". |
Beta Was this translation helpful? Give feedback.
I guess figured out the problem, apparently in newer releases of firefox, the notifications window type has changed from:
WM_WINDOW_TYPE_DIALOG
toWM_WINDOW_TYPE_NOTIFICATION
(just like you mentioned in the bugzilla)i3 Doesn't mark
WINDOW_TYPE_NOTIFICATION
as floating as seen here:https://github.com/i3/i3/blob/next/src/manage.c#L466
A quick patch on
manage.c
like this might fix it: