[Linux] Implement Window::SetResizable without breaking programmatic resizing
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 64/100
Research direction
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.
Written by the indexing model from the issue text.
Description
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
- Dominant language
- C++
- Stars
- 34
- Forks
- 7
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 1
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from libnativeapi/nativeapi
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 45/100
libnativeapi/nativeapi#81 ·
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 45/100
libnativeapi/nativeapi#80 ·
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 35/100
libnativeapi/nativeapi#79 ·
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 45/100
libnativeapi/nativeapi#78 ·
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 45/100
libnativeapi/nativeapi#77 ·
All issues in libnativeapi/nativeapi
Similar issues
-
AuTest Bug Tests
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
apache/trafficserver#13714 ·
-
bug build
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
facebookincubator/velox#19143 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
tenstorrent/tt-metal#57393 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
objectionary/eo-graphs#74 ·