[Linux] Implement Window::SetMinimumSize / SetMaximumSize
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 68/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- cpp
- Domínio
- desktop, operating-systems
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
- Linguagem predominante
- C++
- Estrelas
- 34
- Forks
- 7
- Merge médio
- 3d 1h
- PRs com merge (30d)
- 1
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de libnativeapi/nativeapi
-
bug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
libnativeapi/nativeapi#81 ·
-
bug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
libnativeapi/nativeapi#80 ·
-
bug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
libnativeapi/nativeapi#79 ·
-
bug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
libnativeapi/nativeapi#78 ·
-
bug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
libnativeapi/nativeapi#77 ·
Todas as issues de libnativeapi/nativeapi
Issues semelhantes
-
ai_reviewed
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
ydb-platform/ydb#53869 · 3 comentários ·
-
bug cert blocker needs triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
project-chip/connectedhomeip#74373 ·
-
[request] tracy/0.14.1 Abertaupstream update
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
conan-io/conan-center-index#31035 ·
-
Bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
-
documentation
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
vllm-project/vllm-ascend#17329 ·