[Windows] Window positions across monitors with different scale factors
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 55/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- cpp
- Lĩnh vực
- desktop, operating-systems
Hướng nghiên cứu
Locate the C++ implementations of Window::GetPosition(), SetPosition(), the bounds calls, and DisplayManager's display bounds handling. Trace the existing GetScaleFactorForWindow conversion and WM_DPICHANGED behavior; done means positions and sizes remain consistent when saving, restoring, or moving windows between monitors with different scale factors.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
On Windows, Window::GetPosition() / SetPosition() (and the bounds calls) convert between logical and physical pixels with the scale factor of the monitor the window is currently on (GetScaleFactorForWindow). With monitors at different scale factors, the same logical point maps to different physical points depending on where the window is. Saving a position on one monitor and restoring it (or restoring on another monitor) puts the window in the wrong place or makes it the wrong size.
Expected: one global coordinate space that matches DisplayManager's display bounds. That means converting with the scale factor of the monitor that contains the target point, and handling the WM_DPICHANGED resize that follows a move across monitors.
Background:
- leanflutter/window_manager#474: getPosition/setPosition wrong with multiple scaled screens (also #448, #536, #589)
- Ngôn ngữ chính
- C++
- Star
- 34
- Fork
- 7
- Merge trung bình
- 3 ngày 1 giờ
- Pull request đã merge (30 ngày)
- 1
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của libnativeapi/nativeapi
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
libnativeapi/nativeapi#81 ·
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
libnativeapi/nativeapi#80 ·
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
libnativeapi/nativeapi#79 ·
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
libnativeapi/nativeapi#78 ·
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
libnativeapi/nativeapi#77 ·
Tất cả issue của libnativeapi/nativeapi
Issue tương tự
-
ai_reviewed
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
ydb-platform/ydb#53869 · 3 bình luận ·
-
bug cert blocker needs triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
project-chip/connectedhomeip#74373 ·
-
[request] tracy/0.14.1 Đang mởupstream update
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
conan-io/conan-center-index#31035 ·
-
Bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
documentation
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
vllm-project/vllm-ascend#17329 ·