What Happened?
On X11 (classic sessions) on eOS8.1.2, notifications steal focus, due to the NET_WM_WINDOW_TYPE_NOTIFICATION atom was being set in a realize signal handler, which fires after the window is already visible. This creates a race where the window manager might assign focus to the bubble before seeing the notification window type hint.
base.show() still triggers focus on X11 if the window type isn't set.
Steps to Reproduce
- login to the classic session
./build/src/io.elementary.notifications &
sleep 1
# Click into a terminal or text editor to make sure it has focus, then:
notify-send "Test 1" "Did this steal focus?"
sleep 2
notify-send "Test 2" "Still focused?"
sleep 2
notify-send "Test 3" "And this one?"
Expected Behavior
Notifications don't steal focus away from the active window.
OS Version
8.x (Circe)
OS Architecture
amd64 (on most hardwares)
Session Type
Secure Session (Wayland, This is the default), Classic Session (X11)
Software Version
Latest release (I have run all updates)
Log Output
Hardware Info
No response
What Happened?
On X11 (classic sessions) on eOS8.1.2, notifications steal focus, due to the
NET_WM_WINDOW_TYPE_NOTIFICATIONatom was being set in arealizesignal handler, which fires after the window is already visible. This creates a race where the window manager might assign focus to the bubble before seeing the notification window type hint.base.show()still triggers focus on X11 if the window type isn't set.Steps to Reproduce
Expected Behavior
Notifications don't steal focus away from the active window.
OS Version
8.x (Circe)
OS Architecture
amd64 (on most hardwares)
Session Type
Secure Session (Wayland, This is the default), Classic Session (X11)
Software Version
Latest release (I have run all updates)
Log Output
Hardware Info
No response