Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

[Linux] Implement Window::SetResizable without breaking programmatic resizing

Geschlossen
#56 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
64/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
cpp
Bereich
desktop

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug

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 setDefaultSize to work around it
Vorherrschende Sprache
C++
Sterne
34
Forks
7
Ø Merge
3 T. 1 Std.
Gemergte PRs (30 T.)
1

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus libnativeapi/nativeapi

Alle Issues in libnativeapi/nativeapi

Ähnliche Issues

Weitere Issues zu C++

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.