Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Cancellable window close request (and app quit request) event

Aberta
#65 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
30/100
Tipo de issue
Funcionalidade
Clareza
Precisa de esclarecimento
Status de atividade
Ativa
Stack de tecnologia
cpp

Direção de pesquisa

Start by tracing the platform close paths named in the issue: WM_QUERYENDSESSION/WM_ENDSESSION, WM_CLOSE, macOS Cmd+Q, GTK delete-event, and Window::Close(). Review the linked window_manager reports, especially the AppLifecycleListener.onExitRequested compatibility concern. Done means defining and implementing a cross-platform cancellable window-close event and application-level quit request without swallowing system shutdown or breaking Flutter lifecycle handling.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

enhancement

There's no way to intercept a window being closed. Only WindowClosedEvent fires after the fact. window_manager 0.6.0 currently can't implement setPreventClose / onWindowClose for the system close button, and documents that as a gap.

Proposal: a cancellable close-request event per window, raised by the close button, Alt+F4, the taskbar/Dock menu and delete-event, plus Window::Close(). Requirements from the reports below:

  • system shutdown, logoff and installer-initiated closes (WM_QUERYENDSESSION/WM_ENDSESSION, or a WM_CLOSE from another process) must not be silently swallowed
  • Cmd+Q / app termination on macOS should surface as an application-level quit request (cancellable), distinct from window close
  • it must not break Flutter's own AppLifecycleListener.onExitRequested when nobody listens
  • possibly the same pattern for minimize/maximize requests

Background:

  • leanflutter/window_manager#356: setPreventClose blocks the MSI installer from closing the app
  • leanflutter/window_manager#362: Cmd+Q doesn't trigger onWindowClose on macOS
  • leanflutter/window_manager#466: window_manager breaks AppLifecycleListener.onExitRequested
  • leanflutter/window_manager#316: need setPreventMinimize / setPreventMaximize
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

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de libnativeapi/nativeapi

Todas as issues de libnativeapi/nativeapi

Issues semelhantes

Mais issues de C++

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.