Application activation
In Gnoblin, activating an application raises its window, restores it if minimised, switches workspace and transfers keyboard focus.
A request can still bring the app to the front even if its timestamp is stale or its Wayland activation token is not tied to a recent key or pointer event. Gnoblin does not limit those requests to marking the app as needing attention. Explicit no-focus hints and restrictions on special windows still apply.
This policy is native Mutter code and only applies in Gnoblin mode. Stock GNOME keeps upstream focus prevention. Native changes need a new session.
Notification actions
Bingux activates the matching app window before invoking a notification's default action. The app can then select a more specific window.
Test
After building the local prefix:
GNOBLIN_TEST_CLIENT="$PWD/tests/test-focus-transfer.py" scripts/run-gnome-shell.sh
EXPECT_FOCUS_TRANSFER=0 GNOBLIN_TEST_CLIENT="$PWD/tests/test-focus-transfer.py" scripts/run-gnome-shell.shThe positive run checks stale timestamps and token-without-serial activation using real keyboard input. The negative run changes the policy selector; it is not a complete stock GNOME test.
Dependencies: Foot, Python, GTK 3 development files, C compiler, wayland-scanner and wayland-protocols.