预检清单
- 我已阅读了此项目的 Contributing Guidelines。
- 我同意遵循此项目遵循的 Code of Conduct。
- 我已在 issue tracker 中搜索了一个与我想要提交的功能请求相匹配的功能请求,但没有成功。
问题描述
随着新款 MacBook Pro 的推出,苹果引入了用于摄像头 shell 的显示刘海。这个刘海可能会溢出全屏窗口的内容。为了提供不显眼的应用程序视图,我们需要检测刘海的位置,以便我们可以将任何内容移开。
建议的解决方案
根据指南 https://developer.apple.com/design/human-interface-guidelines/macos/app-architecture/fullscreen-mode/,有一个 API safeAreaInsets、auxiliaryTopLeftArea 和 auxiliaryTopRightArea 可以检测到刘海所占用的空间。通过标准的 Electron API 公开这些值将很有帮助。
考虑过的替代方案
可以有一个单独的 node 模块,但这样不太方便。
其他信息
- 没有回复
8条答案
按热度按时间ejk8hzay1#
当我的新MacBook Pro到货时,我可以看看这个。
ivqmmu1c2#
@zarubond MacOS实际上通过在菜单栏位置制作一个假的边框来防止新MacBook的刘海被全屏窗口遮挡。但是,由于苹果有专门用于防止遮挡的API,也许系统允许你在设置中禁用这个假边框功能?如果是这样的话,我认为你的请求绝对是一个好主意。
k5hmc34c3#
官方支持"缩放以适应内置摄像头" - https://support.apple.com/en-us/HT212842;这可能有帮助吗?
2skhul334#
实现代码:
作者: https://stackoverflow.com/a/69688872/6596777
wr98u20j5#
考虑到全屏应用位于刘海下方,添加此API几乎没有实用价值。
z6psavjg6#
考虑到全屏应用位于刘海下方,添加这个API几乎没有实用价值。实际上,在Electron应用中了解刘海位置是有一定用处的,可以参考以下内容:
3htmauhk7#
@edoardoc, 重现步骤是什么?
jgzswidk8#
使用VSCode,你需要:
然后切换全屏尺寸
从系统设置中自动隐藏菜单栏:
同时使用默认屏幕分辨率
PS:如果你需要,我可以帮忙测试