Posts Tagged pidgin

led-notification

有意思,昨天在pidgin的plugins页面上看到了这个插件,主要的功能就是在你来信息的时候可以控制你的计算机上的led灯闪烁。当然这也需要你的计算机支持。

看了一下源码,其实他的原理很简单,就是往/proc里面的设备发送一些命令而已。于是找了一下,发现我的t61 的 /proc/acpi/ibm/led 是可以控制的,于是试了一下,主要是 “0 blink” 与 “0 on “这两个命令,改掉源码里面的那两个。

最后就是权限的问题了,普通用户没那个权限,老实说我没找到聪明的提供权限的方式,只是在开机的时候把 /proc/acpi/ibm/led 的组权限设了一下,因为我的用户是属于root组的。

,

No Comments

linux_c中文处理?更加疑惑

今日看pidgin的DbusHowto并尝试运行了其中的c示例(通过dbus获得pidgin获得新im信息的示例),遇到了中文输出的问题。

凡是中文输出的都是”?”。我开始怀疑是编码的问题,难道中文不是UTF8的编码(系统 LANG=en_US.utf8)?

于是把输出写了一个文件 test,然后用file test,看到文件的确是utf8编码的,用vi打开也没有问题,此时我已经比较疑惑了,因为我平时写程序输出的时候很多时候用的也是中文。为什么这次输出不行呢?

于是我在google和baidu上找,尝试把char转换为wchar使用wprintf输出。但是不知道怎么回事,貌似编译的时候编译器检查到有什么问题为我在wchar相关的函数调用之前增加了

return __printf_chk (__USE_FORTIFY_LEVEL - 1, __fmt, __va_arg_pack ());

后来又找,发现在wchar相关函数调用之前一般都调用 setlocale

于是我在main函数里增加了这个调用(setlocale(LC_ALL, “en_US.utf8)),这个居然没有解决wchar的问题,但是中文输出的问题却好了。于是我试了用strstr来找中文,也是可用的。

虽然这个中文处理的问题解决了,但是疑惑更多了。why?why?why?

知道的越多感觉自己越是无知……

, , ,

No Comments