[Linux] Implement Window::SetResizable without breaking programmatic resizing
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
- 64/100
Hướng nghiên cứu
Start in src/platform/linux/window_linux.cpp and inspect the Window::SetResizable(), SetSize(), and SetContentSize() paths alongside their GTK window handling. Review the linked window_manager issues for the described GTK behavior, then verify that disabling user resizing still allows programmatic size changes while preserving the intended fixed-size behavior.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Window::SetResizable() is a stub on Linux (src/platform/linux/window_linux.cpp), so setResizable(false) does nothing there.
Implementing it with gtk_window_set_resizable() runs into a known GTK behaviour: a non-resizable GtkWindow is sized from its default size or size request, so later SetSize() / SetContentSize() calls stop taking effect. The implementation needs to keep programmatic resizing working while the user can't resize. One option is to pin min = max size hints to the requested size instead of toggling resizable, or to update the default size together with the size.
Background, from window_manager (moving onto nativeapi in 0.6.0):
- leanflutter/window_manager#522: setSize() ignored after setResizable(false) (also #238)
- leanflutter/window_manager#523: a PR that added a Linux-only
setDefaultSizeto work around it
- 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ự
-
AuTest Bug Tests
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
apache/trafficserver#13714 ·
-
bug build
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
facebookincubator/velox#19143 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
tenstorrent/tt-metal#57393 · 1 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
objectionary/eo-graphs#74 ·