Display picker overlays all open on the focused monitor on Wayland
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 64/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
调研方向
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 内容生成。
描述
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
- Run Cap on a Wayland compositor (Niri here) with more than one monitor
- Open the recording picker and choose Display
- 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
- 星标
- 23k
- 派生
- 2k
- 平均合并
- 10 小时 41 分钟
- 30 天内合并 PR
- 89
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
CapSoftware/Cap 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 68/100
CapSoftware/Cap#2384 · 1 条评论 ·
维护者通常 1 天内回复
-
Dashboard pagination causes full page reloads on self-hosted Cap可能已有人在做 @Dewin 于 16 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 88/100
CapSoftware/Cap#2305 · 2 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
CapSoftware/Cap#1714 · 3 条评论 ·
维护者通常 1 天内回复
-
难度 5/5 一周以上 新手友好度 25/100
CapSoftware/Cap#2409 · 1 条评论 ·
维护者通常 1 天内回复
-
Cap启动崩溃反馈官方未关闭bug
难度 4/5 3-5 天 新手友好度 38/100
CapSoftware/Cap#2403 · 1 条评论 ·
维护者通常 1 天内回复
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 82/100
tree-sitter/tree-sitter#6005 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 74/100
maplibre/maplibre-tile-spec#1844 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 92/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
rust-windowing/winit#4731 ·
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复