让你的 Mac App 支持 OS X Yosemite 的暗色菜单(Dark Menu)

OS X 10.10 Yosemite 已经发布一段时间了,但是一直没有空让 Manico 去兼容它。这段时间,我先是去广州工作了十天,然后上周又去了北京跑半程马拉松,算是了却了一庄心愿(见《记第 N 次恢复跑步(另:我的北马故事)》)。

接下来,要安定一下了,于是今天抽空去兼容了一下 Yosemite 的暗色菜单,发现还是蛮简单的。

首先,你得有一个可以用作模板的图标,这个很简单,图标只要是单色+透明就可以了。

然后,就可以用下面的代码来判断了,因为我还要兼容旧系统,所以得判断一下:

BOOL isOldSystem = (floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_9); if (!isOldSystem) { NSImage *image = [NSImage imageNamed:@"ManicoStatusIcon"]; [image setTemplate:YES]; self.appStatusMenu.button.image = image; self.appStatusMenu.button.accessibilityTitle = @"Manico"; }

然后 Build & Run,就会看到这样的效果。至于没有效果是什么样的,没点开的时候就是黑的,我就不上图了。

Manico Yosemite Dark Menu

接下去我再看看能不能继续打磨一下其他方面,然后就正式提交新版本的 Manico!

<推广> Manico 是一个专门为 OS X 高效率人士设计的 App 启动与切换工具,使用它将加倍电脑日常使用的效率。

11 Comments

  1. Hellogz

    "你得一个有一个可以用作模板的图标"多了一个一个?

  2. 不準備用 Swift 重新寫一個~~?

  3. 将图片命名为 ManicoStatusIconTemplate 就不用掉 setTemplate 了。另外 10.9 一下应该也是支持的。

  4. Ji m

    @TualatriX, 什么时候把ubuntu tweak for Ubuntu 14.10 发布一下呢,

  5. hi TualatriX,你的rss是不是有问题啊?我的rss阅读器报错:XML syntax error on line 55: illegal character code U+001C,用下面两个网站对rss的xml校验,也报错:
    http://www.w3schools.com/xml/xml_validator.asp
    http://www.xmlvalidation.com/
    导致无法订阅你的rss

    • 我可以哦,尝试访问 http://imtx.me/feed/latest/ 试试?

      • m3ng9i

        我访问的就是 http://imtx.me/feed/latest/。把你的rss保存到本地,扩展名修改为xml,然后用google chrome打开,一样会报错:This page contains the following errors:
        error on line 54 at column 59: PCDATA invalid Char value 28

        rss内容里有一些不可见字符,对于xml来说是不合法的。导致无法解析。用vim打开xml文件以后,可以看到这些字符,显示为^K、^H等

Leave a Comment