[Linux] Implement Window::SetResizable without breaking programmatic resizing
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 64/100
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- C++
- Stelle
- 34
- Fork
- 7
- Merge medio
- 3g 1h
- PR unite (30g)
- 1
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di libnativeapi/nativeapi
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
libnativeapi/nativeapi#81 ·
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
libnativeapi/nativeapi#80 ·
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
libnativeapi/nativeapi#79 ·
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
libnativeapi/nativeapi#78 ·
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
libnativeapi/nativeapi#77 ·
Tutte le issue di libnativeapi/nativeapi
Issue simili
-
AuTest Bug Tests
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
apache/trafficserver#13714 ·
-
bug build
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
facebookincubator/velox#19143 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
tenstorrent/tt-metal#57393 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
objectionary/eo-graphs#74 ·