Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

[Linux] Implement Window::SetMinimumSize / SetMaximumSize

Fermée
#55 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
68/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
cpp

Piste de recherche

Start in src/platform/linux/window_linux.cpp and read Window::SetMinimumSize(), Window::SetMaximumSize(), and SetAspectRatio(). Use gtk_window_set_geometry_hints() with the GTK minimum, maximum, and existing aspect-ratio hints without overwriting them. Done means constraints work before mapping, survive maximize and unmaximize, and apply correctly with client-side decorations.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

bug

Window::SetMinimumSize() and Window::SetMaximumSize() are stubs on Linux (src/platform/linux/window_linux.cpp), so min/max size constraints set through nativeapi have no effect there. The getters return whatever was stored.

Expected: enforce the constraints with gtk_window_set_geometry_hints() (GDK_HINT_MIN_SIZE / GDK_HINT_MAX_SIZE), combined with the aspect-ratio hints that SetAspectRatio() already sets. Otherwise one call would overwrite the other's hints. Check that:

  • the constraints survive maximize → unmaximize
  • they apply when set before the window is mapped
  • they work with client-side decorations (the hints are in window-frame coordinates)

Background, from window_manager (which is moving onto nativeapi in 0.6.0):

  • leanflutter/window_manager#189: min/max size not applied (also #107, #422, #538)
  • leanflutter/window_manager#587: a PR that switched to gtk_window_set_geometry_hints
Langage dominant
C++
Étoiles
34
Forks
7
Merge moyen
3 j 1 h
PR mergées (30 j)
1

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de libnativeapi/nativeapi

Toutes les issues de libnativeapi/nativeapi

Issues similaires

Plus d'issues C++

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.