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 摘要。