我需要一个菜单栏应用程序*,它会显示终端命令的输出,并且每60秒左右运行一次终端命令。
或者我需要一个菜单栏应用程序,它将读取文件的内容,并在该文件更新时更新。
(输出不超过3或4位)
有没有这样的应用程序?
* Dock和桌面都不是可行的替代方案。需要成为菜单栏。
更新2014-06-16: 该 从12月9日12:15回答 毕竟没有最终为我工作,所以我仍在寻找解决方案。
我需要一个菜单栏应用程序*,它会显示终端命令的输出,并且每60秒左右运行一次终端命令。
或者我需要一个菜单栏应用程序,它将读取文件的内容,并在该文件更新时更新。
(输出不超过3或4位)
有没有这样的应用程序?
* Dock和桌面都不是可行的替代方案。需要成为菜单栏。
更新2014-06-16: 该 从12月9日12:15回答 毕竟没有最终为我工作,所以我仍在寻找解决方案。
Answers:
#!/usr/bin/env ruby
require "osx/cocoa"
include OSX
app = NSApplication.sharedApplication
statusitem = NSStatusBar.systemStatusBar().statusItemWithLength(NSVariableStatusItemLength)
while true
statusitem.setTitle(rand(999))
sleep 1
end
app.run
(如果真正了解Cocoa的人想要改进这一点,请随时编辑。)我或多或少只是复制了脚本 taw的博客:个人经验值和OSX menulet ,这是在提到的 显示 - 有没有办法在菜单栏中显示AppleScript输出? - 苹果 。
rand
但是没有更新我的命令(我得到它第一次运行的输出,但在此之后它永远不会改变),但它是一个很好的起点。让我希望我认识Ruby!
这是python中的解决方案。
安装 rumps 框架(链接存储库具有OS X 10.9.3的补丁)
sudo pip install git+https://github.com/tito/rumps
您可能需要调整 $PYTHONPATH
包括pyobjc(基金会)
export PYTHONPATH=/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
根据您的需要调整以下代码:
#!/usr/bin/env python
import rumps
import os
import threading
class AwesomeStatusBarApp(rumps.App):
def __init__(self):
super(AwesomeStatusBarApp, self).__init__("Awesome App", "Title")
tail(self)
def tail(self):
threading.Timer(5, tail, [self, ]).start()
self.title = os.popen("tail -1 /var/log/system.log").read()[0:-1][0:50]
AwesomeStatusBarApp().run()
不要忘记限制字符串的长度( [0:50]
)(或者如果它们都不合适,OS X将删除它而支持菜单),并最终摆脱换行符( [0:-1]
)
我一直在寻找这样的工具,直到我为自己实现了这个: http://shellwrangler.com 。没有广告,它是免费的,你可以建立任何你喜欢的东西。
我终于找到了我一直在寻找的东西。事实上,它比我希望的要好得多:
过去一周左右我一直在使用它,这很棒。
$ 3,可在的演示 http://www.richsomerfield.com/apps/
还有另一个最近的开源替代方案叫做 BitBar (麻省理工学院许可证),它与“TextBar”和“ShellWrangler”非常相似,并且其简洁性令人惊叹。
您可以在脚本文件名中编码的任何时间间隔执行脚本(例如my_script.60s.py),它可以执行您也可以在终端中执行的任何脚本。
myScript.3s.sh
相应地更新/执行。 。 。 。 。 。我用它来让脚本调用输出的AppleScript [ 3 ]
如果我改为桌面3。 。 。 。 。太容易了!