玩转libnotify

五月 22, 2009

Ubuntu 9.04一个特性就是新的通知机制Notify OSD,让人一眼看上去很酷的样子,其实只是基于libnotify的调用,别看又DBUS又OSD那么复杂,其实一点都不神秘,跟PT来:

1
2
3
4
5
6
7
8
#!/usr/bin/python
#coding:utf-8
 
import pynotify
 
pynotify.init ("PT-Title")
n = pynotify.Notification ("PT的贺电", "PT再次发来贺电")
n.show ()

没看错,就是这么几句Python,保存成文件运行试试:

哈哈,很简单吧!

如果你安装了libnotify-bin包,shell里面会有notify-send这个工具:

notify-send "PT的贺电" "PT发来贺电"

差不多的效果,我就不抓图了,自己试试!

当然除了python,libnotify还能在很多种语言的库实现,我用aptitude search libnotify搜索了一下,很明显有libinotify-ruby,libnotify-dev,libnotifymm-dev分别是ruby、C、C++方式的绑定,不过,python的pynotify是Ubuntu 9.04里面默认安装的呢……

详细的开发还是看看Ubuntu的Notification Development Guidelines吧,注意在后部分有很多example的噢!!!

tags: , , ,
posted in Unix/Linux by PT

Follow comments via the RSS Feed | 留下评论 | Trackback URL

9 Comments to "玩转libnotify"

  1. maomaol wrote:

    感谢PT牛的推荐~~~

    回复回复
  2. shellex wrote:

    恩,可惜这个notify反而没有了以前的某些功能:
    添加按钮事件响应,直接变成弹出对话框
    添加timeout,没有任何作用。本来可以 用它来显示歌词的,现在不能了

    也许是我不会用

     import pynotify
     pynotify.init("TEst")
     n=pynotify.Notification("Title","body")
     n.add_action("bb","aa", lambda x: x+1)
     n.set_timeout(1000)
     n.show()
    回复回复
  3. shellex wrote:

    嗯。显示歌词可以使用Update。这个确实比timeout方便。
    但是action就不行了。
    Guidelines也说了不支持action

    回复回复
  4. PT wrote:

    呵呵,谢谢shellex的提醒~~

    感觉用notify来做歌词显示可能有点不大合适……

    回复回复
  5. 大兵-之夜 wrote:

    飘~~~

    回复回复
  6. 新手 wrote:

    这次想请教一个和文章内容关系不大的问题。
    我看到博主用的是IBUS输入法,我在校园网里面用IBUS的那个PPA的源实在是太慢了(显示还剩6个多小时……)。
    但是自己才学LINUX不久,自己也不会打包IBUS(搜过一些办法,但是我自己在9.04里面弄不出来,估计自己水平太烂了)在GOOGLE CODE的tar文件。
    想请问一下有没有什么办法,或者哪里能直接下载到DEB包就更好了。

    回复回复
  7. PT wrote:

    部分ppa源在国内有cn那个服务器有镜像的,你添加这个源应该就可以很快地安装ibus了:

    deb http://archive.ubuntu.org.cn/ppa/ibus-dev/ppa/ jaunty main

    只能按上面填写,没其他发行版的,也没amd64的,不过应该够你用吧?

    回复回复
  8. PT wrote:

    不行的话把那些deb都用软件拉下来dpkg安装

    回复回复
  9. 新手 wrote:

    我试试,非常感谢。

    回复回复

Leave Your Comment

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。

Page optimized by WP Minify WordPress Plugin

 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org