Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Display picker overlays all open on the focused monitor on Wayland

Offen
#2,408 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
64/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
rust, tauri

Rechercherichtung

Start in apps/desktop/src-tauri/src/windows.rs, especially the set_position code at lines 2161-2179 and the title setup at line 1299. Reproduce the picker on a Wayland compositor with multiple monitors, then investigate the reported fullscreen_on_monitor or layer-shell direction. Done means Display mode opens one overlay on each corresponding monitor instead of stacking them on the focused monitor.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug

First off I just want to say thanks for making this software. It has been awesome to use so far. I love seeing quality OSS software that meets or even surpasses (which this does) the capabilities of equivalent commercial solutions. Especially in the desktop software space.

I also want to commend y'all for still allowing the purchase a normal lifetime license for a piece of desktop software. I just bought it because of that when I very likely would not sign up for a subscription with my current usage patterns, but love to be able to support great OSS when I can.

Description

With 3 monitors on Niri, picking Display mode opens one overlay per display, each sized right for its display, but all three open stacked on whichever monitor has focus. Expected each overlay to open on its own display.

The overlay gets placed with set_position (windows.rs#L2161-L2179), but Wayland compositors ignore client positioning so it never takes effect.

Proper fix is probably fullscreen_on_monitor or layer-shell.

Potential Workaround

One thing that would be easier to do and would let people work around this is to just include the display name in the title of the window. Cap Target Select - DP-1 instead of the fixed Cap Target Select (windows.rs#L1299). Then compositor users could pin each one with a window rule. For example on Niri I would do something like this (totally untested):

window-rule {
    match title="^Cap Target Select - DP-1$"
    open-on-output "DP-1"
}
Reproduction
  1. Run Cap on a Wayland compositor (Niri here) with more than one monitor
  2. Open the recording picker and choose Display
  3. All the overlays open on the focused monitor
Additional Context
  • Cap version: 0.6.0 (the .deb, repackaged for Nix)
  • Operating system, version: NixOS, Linux 6.18.53, Niri 26.04
  • Device (optional): 3 monitors, one portrait 1080x1920 and two 1920x1080

niri msg windows while the picker is open, all three on the same workspace at the same position:

  Window ID 53:
    Title: "Cap Target Select"
    App ID: "Cap"
    Is floating: yes
    PID: 216607
    Workspace ID: 4
    Layout:
      Tile size: 1080 x 1920
      Workspace-view position: 0, 34
      Window size: 1080 x 1920
      Window offset in tile: 0 x 0

  Window ID 54:
    Title: "Cap Target Select"
    App ID: "Cap"
    Is floating: yes
    PID: 216607
    Workspace ID: 4
    Layout:
      Tile size: 1920 x 1080
      Workspace-view position: 0, 437
      Window size: 1920 x 1080
      Window offset in tile: 0 x 0

  Window ID 55:
    Title: "Cap Target Select"
    App ID: "Cap"
    Is floating: yes
    PID: 216607
    Workspace ID: 4
    Layout:
      Tile size: 1920 x 1080
      Workspace-view position: 0, 437
      Window size: 1920 x 1080
      Window offset in tile: 0 x 0
Vorherrschende Sprache
Rust
Sterne
23k
Forks
2k
Ø Merge
19 Std. 50 Min.
Gemergte PRs (30 T.)
72

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus CapSoftware/Cap

Alle Issues in CapSoftware/Cap

Ähnliche Issues

Weitere Issues zu Rust

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.