Posted on 2010-12-31 20:25
guanminglin@gmail.com 阅读(17847)
评论(3) 编辑 收藏 所属分类:
NetBeans 、
Linux
今天在Dzone 上看到一篇文章介绍,NetBeans 使用 Growl 来实现 NetBeans 执行任务时的本地化方式提醒,感觉很不错。文章链接地址:
http://netbeans.dzone.com/nbnotify-netbeans-growl
联想到Linux上也有类似的提醒,而且操作很简单,于是就想是不是自己也写个类似的插件来供自己使用呢? 说干就干,按照流程 新建一个NetBeans 插件项目,然后再新建一个 Installer ,这个Installer 是在模块被载入的时候执行的。所以在这个Installer中 注册一个监听器,用来监听 NetBeans 的任务操作。监听到任务后,接下来的事情就好办了,只要判断任务状态就可以了,然后根据任务的状态发送提醒信息。
在Linux的各个发行版中使用提醒命令最多的是
notify-send 这个命令,在Fedora 和Ubuntu 的Gnome 环境中都是使用这个命令。我的机器上同时安装 Fedora 14 (KDE桌面)和 Ubuntu10.10(Gnome桌面),所以我就在这两个发行版上测试。在测试的过程中,发现在Ubuntu 10.10 中notify-send 这个命令的 -t 参数竟然不起作用,-t 参数是用来控制提醒保留的时间的,但是在Ubuntu10.10中,无论你设不设置 -t 参数,他都是保持10秒后隐藏提醒,于是在Ubuntu10.10 下使用这个插件就很悲剧的不能及时的展现通知,只能10秒后再显示下一条通知,相反在Fedora14 KDE 中却工作良好。下面四张截图就是分别在Fedora 14 KDE 和Ubuntu10.10 Gnome桌面环境下的效果图:
在Ubuntu10.10 Gnome 中当 NetBeans 对项目执行
“ 生成 ”任务的开始 和 结束 时的提醒状态。
在Fedora14 KDE 中当 NetBenas 对项目执行
“清理并生成” 任务的 开始 和 结束 时的提醒状态。
怎么样,效果还不错吧,其实在KDE中还有一个更加强大的提醒工具,那就是
kdialog ,kdialog 不仅拥有 notify-send 的所有功能,同时还拥有更加强大的提示功能,比如对话框形式,密码输入等等,如果想要了解更多的kdialog 提醒功能,请使用
kdiglog --help 这个命令获取更多的参数了解。
目前这个插件的功能还比较弱,只能对执行任务时 的开始和结束状态 做出提醒,对于执行项目出错等状态还不能提醒,不过目前的这个提醒还凑和,至少你可以在编译 一个耗时比较长的项目的时候去做其他的事情,编译完成后,NetBeans 会自动的提醒你编译任务完成了(无论是否成功)。
BTW: 明天就是 新年--2011 年了,祝大家 新年快乐!万事如意!财源滚滚! 同时也祝福自己!
插件下载:
NbLocalNotify (Linux only,源码将在下一篇博客中公布)。