夏清然

夏清然的博客

他的个人主页  他的博客

GNU/Linux下更好的使用Thinkpad的键盘灯

夏清然  2009年08月11日 星期二 19:14 | 1746次浏览 | 3条评论

让广大“黑友”的thinklight更好的发挥作用。

Thinkpad屏幕顶部的键盘灯是个很有创意的设计,这个和小红点一起构成了Thinkpad的重要特色功能。

比如在pidgin收到消息后,thinklight闪烁提醒,这个通过pidgin-blinklight插件即可实现。debian/ubuntu用户需要安装:

#apt-get install pidgin-blinklight

然后在pidgin的"工具" -> "插件"内启用,这样在pidgin收到消息时thinklight能闪烁三下。


同时在收到Email的时候也可以让thinklight来进行提醒,如果是evolution的,使用thinklight-notification就可以实现,详细见:http://ubuntuforums.org/showthread.php?t=1017263


下面详细说一下thunderbird收到邮件时的thinklight闪烁。

安装thunderbird插件yamb,http://www.globs.org/download.php?lng=en。

进入thunderbird,在“工具” -> “附加软件”,进入“Yet Another Mail Biff”的配置,在"External notifier executable"内加入如下代码的执行路径:

=============================================
#!/usr/bin/env python
#-*- coding:utf-8 -*-

import os
import time
import sys
import signal

TL_PROC_FILE =  "/proc/acpi/ibm/light"
PID_FILE =  "/tmp/thinklightblink.pid"


def blink(second, filepath = TL_PROC_FILE):
    try:
        # open light
        fp = open(filepath, "w")
        fp.seek(0)
        fp.write("on")
        fp.flush()

        time.sleep(second)

        fp.seek(0)
        fp.write("off")
        fp.close()
        return
    except Exception, inst:
        print inst
        return

def writepid(filepath = PID_FILE):
    try:
        pid = os.getpid()
        fp = open(filepath, "w")
        fp.write(str(pid))
        fp.close()
        return
    except Exception, inst:
        print inst
        return

def delpid(filepath = PID_FILE):
    try:
        if os.path.isfile(filepath):
            os.remove(filepath)

        return
    except Exception, inst:
        print inst
        return

def getpid(filepath = PID_FILE):
    try:
        if os.path.isfile(filepath):
            return int(open(filepath).read())
        else:
            return None
    except Exception, inst:
        print inst
        return None

if __name__ == "__main__":
    try:
        os.kill(getpid(), signal.SIGTERM)
    except:
        pass

    writepid()

    blink(1)
    delpid()
=============================================


完成。测试一下thunderbird收到邮件时thinklight是否会闪动一下 :D

手动操作thinklight的方法:
echo 'on' > /proc/acpi/ibm/light
echo 'off' > /proc/acpi/ibm/light
echo 255 > /sys/class/leds/tpacpi::thinklight/brightness
echo 0 > /sys/class/leds/tpacpi::thinklight/brightness

参考文档:
http://www.thinkwiki.org/wiki/ThinkLight
http://blog.wahlig.eu/2008/04/thinklight-mail-notification.html

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !

回复 匿名用户 2009年08月13日 星期四 08:57

这个好

0条回复

幽灵

回复 幽灵  2009年08月12日 星期三 08:29

这个实用

0条回复

高峰

回复 高峰  2009年08月11日 星期二 19:34

前几天在Ibm网站看到有敲击屏幕附近区域,然后可以执行各种命令的功能,不过需要从新编译内核

0条回复

暂时没有评论

Zeuux © 2024

京ICP备05028076号