#4948·flameshot

(Potential fix for Niri WM) Use wlr-layer-shell for the screenshot overlay window on Wayland

Author: SuperUserACreated Sep 11, 2026Updated Sep 12, 2026
LabelsEnhancement

Related bug: #4895 (tile reflow on Niri when Flameshot opens)

On Wayland, the Flameshot screenshot overlay currently opens as a fullscreen xdg_toplevel. This causes visible tile reflow on tiling window managers (Niri, Hyprland, Sway, etc.) because the compositor recalculates the layout when the window is mapped and unmapped.

The proper Wayland approach for overlay-type windows (screenshot tools, notification daemons, launchers) is to use wlr-layer-shell. This is already the standard used by:

  • dunst (notifications)
  • rofi (launcher)
  • waybar (status bar)

Using layer-shell would make the Flameshot overlay:

  • Floating above all windows (no tiling, no reflow)
  • Not requesting fullscreen (no layout disruption)
  • Working identically across all compositors without per-WM config

Currently, users on tiling WMs (Niri on my case) must manually add a window rule:

window-rule {
    match app-id="flameshot"
    open-floating true
    open-fullscreen false
}

This is a workaround, not a fix. With layer-shell, no user-side config would be needed and the overlay would behave correctly from first use.

Scope:

  • Replace the fullscreen xdg_toplevel with a layer-shell surface (overlay layer) on Wayland
  • Keep the existing X11 behavior unchanged
  • The overlay should still cover the full output (or selected output)

This is a medium-scope change (requires adding a wlr-layer-shell client implementation to the Wayland backend) but could resolve #4895 and similar reports on all tiling compositors permanently.