Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

Display picker overlays all open on the focused monitor on Wayland

已關閉
#2,408 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 1 天內回覆

還沒有人認領這個 Issue。

評估

難度
4/5
預估耗時
3-5 天
新手友好度
64/100
Issue 類型
缺陷
描述清晰度
基本清楚
活躍度
活躍
技術堆疊
rust, tauri

研究方向

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.

由索引模型根據 Issue 內容生成。

描述

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
主要語言
Rust
星號
23.7k
分支
2.1k
平均合併
1 天 6 小時
30 天內合併 PR
661

環境準備

  • 提供 Dockerfile 或 Docker Compose 檔案
  • 沒有 Pull Request 範本
  • 閱讀貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

CapSoftware/Cap 的其他 Issue

查看 CapSoftware/Cap 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。