mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-05-04 00:41:33 -07:00
4d5bf3de41
- Force-apply exact Hyprland move/resize/setprop dispatches when bounds are provided - Stop pinning overlay windows; toggle pin off when Hyprland reports pinned=true - Compensate stats overlay outer placement for Electron/Wayland content insets - Make stats overlay window and page opaque so mpv cannot show through transparent insets - Constrain stats app to h-screen with internal scroll so content covers mpv from y=0 - Lock overlay/stats window titles against page-title-updated events - Add regression coverage for placement dispatches, inset compensation, and CSS overlay mode
2.0 KiB
2.0 KiB
id, title, status, assignee, created_date, updated_date, labels, dependencies, references, priority
| id | title | status | assignee | created_date | updated_date | labels | dependencies | references | priority | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TASK-339 | Stop pinning Hyprland overlay windows | Done | 2026-05-04 06:07 | 2026-05-04 06:09 |
|
|
high |
Description
Recent Hyprland placement fix pins SubMiner overlay/stats windows, making them follow across workspaces instead of staying attached to mpv. Keep the float-for-bounds behavior, but never pin overlay windows.
Acceptance Criteria
- #1 Hyprland placement dispatches set floating state only and does not dispatch pin.
- #2 Regression coverage proves pinned clients are unpinned or at least not re-pinned by SubMiner.
- #3 Targeted tests and typecheck pass.
Implementation Notes
Changed Hyprland placement dispatch construction so unpinned overlay windows only get setfloating; pinned overlay windows get a single pin dispatch to toggle the bad prior pinned state off. This preserves floating placement for bounds while keeping overlay windows workspace-local with mpv.
Final Summary
Summary:
- Stopped re-pinning Hyprland overlay/stats windows during placement.
- Added cleanup behavior for previously pinned SubMiner windows by toggling pin only when Hyprland reports
pinned: true. - Updated regression coverage and added a changelog fragment.
Verification:
bun test src/core/services/hyprland-window-placement.test.ts src/core/services/overlay-window-config.test.ts src/core/services/stats-window.test.ts src/core/services/overlay-window-bounds.test.ts src/window-trackers/hyprland-tracker.test.tsbun run typecheckbun run changelog:lintbun run test:fast