V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gzl
V2EX  ›  macOS

刘海版本的 Macbook 右上角状态栏空间不足

  •  
  •   gzl · 2023-01-16 16:32:47 +08:00 · 1966 次点击
    这是一个创建于 677 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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;
    }
    

    想知道兄弟们通过这些信息有没有方法操作状态栏上的程序(包括被隐藏的),即便是能够发送点击事件也好呀

    13 条回复    2023-01-18 21:10:55 +08:00
    minamike
        1
    minamike  
       2023-01-16 16:43:20 +08:00 via iPhone
    买个 bartender 吧
    gzl
        2
    gzl  
    OP
       2023-01-16 16:46:06 +08:00
    @minamike 确实,是看了 bartender 想仿一下,就是不知道他们咋搞的:(
    netabare
        3
    netabare  
       2023-01-16 16:52:36 +08:00 via Android   ❤️ 1
    之前想做,不过发现 SwiftUI 提供的 api 只支持添加按钮,不支持获取别的 app 已经注册的按钮或者和这些按钮交互的功能,放弃了。
    netabare
        4
    netabare  
       2023-01-16 16:53:16 +08:00 via Android   ❤️ 1
    bartenter 好像是用录屏的方式获取图标信息的,估计也用了一些私有 api 。
    dddd1919
        5
    dddd1919  
       2023-01-16 16:58:19 +08:00
    免费版的 hidden bar 够用
    objectxiang
        6
    objectxiang  
       2023-01-16 22:36:26 +08:00
    Barbee 开发者来了🤣 建议楼主别折腾啦,实在不行我可以送🐴️
    gzl
        7
    gzl  
    OP
       2023-01-16 22:46:48 +08:00 via Android
    @objectxiang 原来还有这个!我直接付费体验一下
    gzl
        8
    gzl  
    OP
       2023-01-16 22:48:30 +08:00 via Android
    @dddd1919 hidden 试过了,能隐藏和展开,但想要的是那种单开一个栏把所有图标都放开
    gzl
        9
    gzl  
    OP
       2023-01-16 22:49:37 +08:00 via Android
    @netabare 听起来有些复杂(/_\)大怨种
    objectxiang
        10
    objectxiang  
       2023-01-16 22:50:44 +08:00
    @gzl 这个软件开发难度有点大,如果是兴趣的话,建议换个(真心话。 等我过年再更新下,问题还是挺多的,🤣个人 App 测试有限
    netabare
        11
    netabare  
       2023-01-17 03:25:34 +08:00   ❤️ 1
    @objectxiang 看了一下跟 bartender 好像,不太符合要求……有没有可以把图标归类为不同类型分别收纳进一个横栏里面,可以多个横栏隐藏或者显示的功能呢?
    objectxiang
        12
    objectxiang  
       2023-01-17 09:15:49 +08:00
    @netabare 可以使用 Barbee Widget ,这个可以满足你的需求。你可以放你想放的图标🤣
    QingStone
        13
    QingStone  
       2023-01-18 21:10:55 +08:00 via iPhone
    推荐使用 barbee !
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2618 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 645ms · UTC 11:00 · PVG 19:00 · LAX 03:00 · JFK 06:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.