## ## Put me in ~/.irssi/scripts, and then execute the following in irssi: ## ## /load perl ## /script load notify ## use strict; use Irssi; use vars qw($VERSION %IRSSI); $VERSION = "0.01"; %IRSSI = ( authors => 'Luke Macken', contact => 'lewk@csh.rit.edu', name => 'notify.pl' ); sub notify { my ($server, $msg, $nick, $address, $target) = @_; return if (!($msg =~ /anticlockwise/)); system("notify-send -i gtk-dialog-info -t 5000 '$nick' '$msg'"); } Irssi::signal_add('message public', 'notify');原始脚本采用的irssi信号是print text,虽然这个信号能够检测个人信息,却无法得到消息的内容(所谓的text是指的系统消息,却不是聊天消息)。所以就改成了message public,然后message public又没有一个通用的检测是否个人消息的方法,所以就只能用正则表达式来判断了,有些傻,不过管用。
Showing posts with label Tools. Show all posts
Showing posts with label Tools. Show all posts
Thursday, 22 January 2009
irssi提醒脚本
喜欢irssi这个命令行上的IRC,每天都会打开上#ppmm, #ubuntu-cn, #java, #python等频道~~
命令行工具的一个缺陷在于,提醒功能不完善。虽然用screen,在状态栏上也有提醒,不过并不是任何时候都会盯着命令行的,所以还得有一个图形界面的提醒。
幸好irssi提供了扩展脚本这个功能,所以能够用Perl对其进行扩展。在网上搜索一番之后,发现有人写过提醒脚本,调用gtk-dialog-info这个命令行在屏幕右下角生成提醒窗口。但原始脚本并不是很适合我,所以作了一番修改之后,成了下面这样:
Wednesday, 21 January 2009
Python Google Translate调用脚本
前一阵子一直想找一个命令行上的翻译程序,就自己写了一个Python程序:
#!/usr/bin/env python # -*- coding: utf-8 -*- import urllib import urllib2 import sys import jsonlib from optparse import OptionParser URL = "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=%s&langpair=%s%%7C%s" parser = OptionParser() parser.add_option("-f", "--from", dest="lang1", help="The language code to translate from", default="en") parser.add_option("-t", "--to", dest="lang2", help="The language code to translate to", default="zh") (options, args) = parser.parse_args() if len(args) < 1: print "Usage: python translate.py <translate text>" sys.exit(0) text = ' '.join(args) print "Translating %s from %s to %s" % (text, options.lang1, options.lang2) query = (URL % (urllib.quote(text), options.lang1, options.lang2)) req = urllib2.Request(query) req.add_header("Referer", "http://www.my-ajax-site.com") r = urllib2.urlopen(req) data = r.read() obj = jsonlib.read(data) if obj['responseStatus'] != 200L: print "Error: %s" % obj['responseDetails'] else: print "Translated text: %s" % obj['responseData']['translatedText']
Monday, 29 September 2008
Commandline Tools
今天找到了几个常用程序的命令行替代品,分别是IRC、GTALK、MSN、电子邮件客户端和GOOGLE CALENDAR的。这些工具能够在一定程度上提高我开发的效率,因为曾经需要用鼠标的(离开键盘)现在均可以用键盘操作~~
1. GTalk: Freetalk (http://www.gnu.org/software/freetalk/)
Freetalk真的很不错,界面简洁,类似于IRC聊天工具,所有操作都是通过命令来完成,例如要知道有哪些人在线的话,敲入
2. MSN: Python MSN lib (http://blitiri.com.ar/p/msnlib/)
其实这本是一个Python写的MSN库,不过作者提供了一个演示程序,但功能比较全面(至少我需要的都有),而且操作也非常方便~~
3. IRC: irssi (http://www.irssi.org/)
这个客户端已经非常有名了,很多人都在用,和一般的IRC都一样,自己去看看吧。
4. Mail Client: mutt (http://www.mutt.org/)
这个我刚开始用,不过真的很不错,速度很快,而且界面清晰~~最主要的是它的键盘映射和VIM一样,所以非常符合我的口味~~
5. Google Calendar: gcalcli
这貌似是GOOGLE自己开发的,调用了Google Data API,它没有像前面几个程序那样的界面,只有命令行的操作。例如,如果我要知道这段时间有些什么事件的记录的话:
6. Todoist: 我自己写了一个程序……
目前还在开发中,今天晚上刚开始写。现在已经支持项目查询和TODO查询,并用不同的颜色代表不同的重要级别,还要实现的是添加TODO项和修改已有的TODO项。
/who便可以得到了。
2. MSN: Python MSN lib (http://blitiri.com.ar/p/msnlib/)
其实这本是一个Python写的MSN库,不过作者提供了一个演示程序,但功能比较全面(至少我需要的都有),而且操作也非常方便~~
3. IRC: irssi (http://www.irssi.org/)
这个客户端已经非常有名了,很多人都在用,和一般的IRC都一样,自己去看看吧。
4. Mail Client: mutt (http://www.mutt.org/)
这个我刚开始用,不过真的很不错,速度很快,而且界面清晰~~最主要的是它的键盘映射和VIM一样,所以非常符合我的口味~~
5. Google Calendar: gcalcli
这貌似是GOOGLE自己开发的,调用了Google Data API,它没有像前面几个程序那样的界面,只有命令行的操作。例如,如果我要知道这段时间有些什么事件的记录的话:gcalcli agenda 就会帮我输出所有的事件,而且是彩色~~
6. Todoist: 我自己写了一个程序……
目前还在开发中,今天晚上刚开始写。现在已经支持项目查询和TODO查询,并用不同的颜色代表不同的重要级别,还要实现的是添加TODO项和修改已有的TODO项。
Friday, 26 September 2008
我常用的工具
在此介绍一些我常用的工具,只是简单介绍,某些工具的具体介绍我会在之后写新的博客,其他的自己看吧,哈哈~~
实用的工具
1. Google Calendar
按照字面意思,他的主要功能就是一个日历。我平时主要用它记录所有的事件,例如开会、预约等等。其比较好的一个特性是能够通过邮件提前通知(当然是GMAIL啦),而且可以用不同的颜色对不同的事件进行分类,这样我就可以更好的管理我的时间。例如我可以用一种不同的颜色代表不同的项目事件~~
2. Google Reader
这个很多人应该都知道,是用来订阅RSS的浏览器。订阅RSS是一种浏览各种信息的好方法,我可以在同一时间阅读来自多个网站的不同信息。我常看的有:
- The ServerSide:这是Java服务器端技术的大型门户网站,包括各种Java服务器端技术的文章,牛人们的博客和各种库升级的信息和使用方法。有时有些新的东西出来时我会去看看,如果有什么比较好的文章我也会过目一下
- Java.net communit:这是Java技术最大的社区网站之一,包括Java各种技术,常常会有一些技巧方面的文章,所以我也会看
- JavaWorld:名字就告诉我们这是Java的世界,包括各种技巧性的文章和一些类库的使用方法
- Python News:包含Python方面的许多新闻,例如Python3000开发的进展等等
- Bruce Eckel的博客:牛人,主要写关于Java和Python,所以我经常看看
- 朋友的博客。。。
Subscribe to:
Posts (Atom)
