Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

Add a window full-screen changed event

未關閉
#58 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

評估

難度
4/5
預估耗時
3-5 天
新手友好度
48/100
Issue 類型
功能
描述清晰度
基本清楚
活躍度
活躍
技術堆疊
cpp
領域
desktop

研究方向

Start by tracing Window::SetFullScreen() and IsFullScreen() on macOS, Windows, and Linux. Review the listed native notifications and window-state event, including the Windows style and title-bar restoration concerns. Done means a full-screen change event is emitted for programmatic and user-triggered changes on each platform.

由索引模型根據 Issue 內容生成。

描述

enhancement

Window::SetFullScreen() / IsFullScreen() exist on all three desktop platforms, but there is no event when a window enters or leaves full screen. That includes changes the user triggers (the green button on macOS, F11 / the window manager on Linux). Apps that change their layout in full screen currently have to poll.

Proposal: add a WindowFullScreenChangedEvent (or an entered/left pair), emitted:

  • macOS: NSWindowDidEnterFullScreenNotification / NSWindowDidExitFullScreenNotification
  • Windows: from SetFullScreen(), which is the only way in since Win32 has no native full-screen state. Note that WM_SIZE arrives with SIZE_RESTORED, so it can't be detected from the size message.
  • Linux: window-state-event with GDK_WINDOW_STATE_FULLSCREEN

It should also be checked that the Windows SetFullScreen() restores the style and title bar correctly on exit (see leanflutter/window_manager#579 and #569).

Background:

  • leanflutter/window_manager#560: onWindowEnterFullScreen / onWindowLeaveFullScreen never fire on Windows
  • leanflutter/window_manager#559: a draft PR for Windows full-screen handling
主要語言
C++
星號
34
分支
7
平均合併
3 天 1 小時
30 天內合併 PR
1

貢獻指南

這個儲存庫沒有索引到貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

libnativeapi/nativeapi 的其他 Issue

查看 libnativeapi/nativeapi 的全部 Issue

相似的 Issue

更多 C++ Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。