Skip to content

Scratch layer windows (e.g., ULauncher) do not center with PaperWM Winprops under specific scenarios #1157

@YounesJY

Description

@YounesJY

Describe the bug
Certain applications opened on the scratch layer (using Winprops, e.g., ULauncher) fail to open centered on the screen with PaperWM. Instead, their window position is off-center (usually near the top) in these cases:

  • When any application is in full-screen mode (Scenario 1)
  • When multiple scratch layer windows exist (Scenario 2)

This results in a poor user experience—apps like ULauncher pop up in unpredictable locations, not centered—even when that is the expected default.

To Reproduce
Scenario 1 (Full-screen app):

  1. Open a browser (Brave/Firefox) and activate full-screen mode (F11).
  2. Open ULauncher (set to open on scratch layer via Winprops).
  3. Observe: ULauncher opens off-center, usually near the top edge of the screen.

Scenario 2 (Multiple scratch layer windows):

  1. Open another app in the scratch layer (e.g., GPU Screen Recorder or KeepassXC).
  2. Leave it open in the scratch layer.
  3. Open ULauncher (again, in scratch layer).
  4. Observe: ULauncher opens off-center, not centered on the screen. Scratch windows conflict with positioning.

Expected behavior

  • Windows set to open in the scratch layer (via Winprops) should always appear centered, regardless of other full-screen windows or other scratch layer windows.

Video
https://github.com/user-attachments/assets/7930b1e4-41b9-423e-b2c2-aac5df947e8d

System information:

Distribution: PikaOS 4
GNOME Shell: 49.4
Display server: Wayland
Mutter: 49.x (with GNOME 49.4)
PaperWM version: Latest (from extensions.gnome.org)
ULauncher version: Latest (deb package)
Hardware: Dell Latitude E7270 (Intel Core i5-6300U, Intel HD Graphics 520)

Additional context

  • ULauncher Winprop: wm_class: ulauncher with "Open on scratch layer" enabled
  • center-new-windows in Mutter is at default/untouched (not enabled)
  • See included video for demonstration

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugUndesirable behavior

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions