
Mac 小白,遇到的问题如题所示,想做一个 status bar 的应用来显示一个扩展列表,这样能够把全部的图标都显示出来,有些应用只提供了状态栏图标,因此不显示的话很不方便。
NSStatusBar 的接口不提供全局的 NSStatusItem 列表,但是通过 CGWindowListCopyWindowInfo 接口能够得到全部的窗口,然后状态栏上的窗口的 windowLayer 的值都是 25 ,因此可以通过这个属性筛选出来,这个获取的窗口信息如下:
{ kCGWindowAlpha = 1; kCGWindowBounds = { Height = 37; Width = 47; X = 1052; Y = 0; }; kCGWindowIsOnscreen= 1; kCGWindowLayer = 25; kCGWindowMemoryUsage = 2288; kCGWindowNumber = 109; kCGWindowOwnerName = Stats; kCGWindowOwnerPID = 1413; kCGWindowSharingState = 0; kCGWindowStoreType = 1; } 想知道兄弟们通过这些信息有没有方法操作状态栏上的程序(包括被隐藏的),即便是能够发送点击事件也好呀
1 minamike 2023-01-16 16:43:20 +08:00 via iPhone 买个 bartender 吧 |
3 netabare 2023-01-16 16:52:36 +08:00 via Android 之前想做,不过发现 SwiftUI 提供的 api 只支持添加按钮,不支持获取别的 app 已经注册的按钮或者和这些按钮交互的功能,放弃了。 |
4 netabare 2023-01-16 16:53:16 +08:00 via Android bartenter 好像是用录屏的方式获取图标信息的,估计也用了一些私有 api 。 |
5 dddd1919 2023-01-16 16:58:19 +08:00 免费版的 hidden bar 够用 |
6 objectxiang 2023-01-16 22:36:26 +08:00 Barbee 开发者来了 建议楼主别折腾啦,实在不行我可以送 |
7 gzl OP @objectxiang 原来还有这个!我直接付费体验一下 |
10 objectxiang 2023-01-16 22:50:44 +08:00 @gzl 这个软件开发难度有点大,如果是兴趣的话,建议换个(真心话。 等我过年再更新下,问题还是挺多的,个人 App 测试有限 |
11 netabare 2023-01-17 03:25:34 +08:00 @objectxiang 看了一下跟 bartender 好像,不太符合要求……有没有可以把图标归类为不同类型分别收纳进一个横栏里面,可以多个横栏隐藏或者显示的功能呢? |
12 objectxiang 2023-01-17 09:15:49 +08:00 @netabare 可以使用 Barbee Widget ,这个可以满足你的需求。你可以放你想放的图标 |
13 QingStone 2023-01-18 21:10:55 +08:00 via iPhone 推荐使用 barbee ! |