Skip to content

Notifications steal focus #290

@svandragt

Description

@svandragt

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

  1. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions