| |
| |
| |
| |
|
2008年11月16日星期日
Weekly Twitter 2008 #46
2006年12月27日星期三
claws-mail vs thunderbird(3): 快捷键设置
gtk程序可以设置~/.gtkrc-2.0文件获得这个功能:
gtk-can-change-accels = 1
GNOME程序可在gconf-editor中钩选如下选项
/desktop/gnome/interface/can-change-accels
但有些应用程序(比如claws-mail)不想依赖这些设置,自己打开了这个功能:
gtk_settings_set_long_property(gtk_settings_get_default(),
"gtk-can-change-accels",
(glong)TRUE, "XProperty");
可惜thunderbird/icedove没有这个功能,也没有其它的设置快捷键的功能:-(
2006年12月25日星期一
升级到gaim-2.0beta,又降下来了
Debian testing中的gaim早升到了2.0beta版,但我一直没有升级,主要是原来在Windows下试用过,gaim-2.0中好像不能单独设置某个协议的状态,我没法单独将QQ或者MSN隐身。
这两天没啥事情,Torchwood也因为没有找到字幕没法看,干脆就来升级这个玩儿 :-)
先做了个备份
$ dpkg-repack gaim
$ dpkg-repack gaim-data
$ dpkg-repack openq
升级:
$ apt-get install gaim
没想到升级后gaim很不稳定,老崩溃。一小时后只能重新安装1.5了:
$ apt-get remove gaim
$ dpkg -i gaim_1.5*.deb openq*.deb
BTW: Debian简直太方便了 :-)
2006年7月15日星期六
sylpheed-claws(gtk2)总算有了win32版
Here. (没错,目前还不是独立的,只是gpg4win的一部分)
自从切换到gtk2后,sylpheed-claws一直都没有纯win32版本,我本来好几次想来折腾,但既然cygwin版本用得挺好(除了必须得启个X server这点不爽之外)。
2006年6月18日星期日
图片简易编辑软件: mtPaint
昨天在gnomefiles上翻到一个mtPaint, 似乎正好可以填补这个空白。抓图、裁剪、缩放、旋转,以及胡乱画几笔,这些基本功能当然都有,锐化、柔化、模糊、浮雕这些简单的特效也有,而且居然支持层和动画!
P.S 在Windows上我用来做图片简单处理的软件是IrfanView,但它不能在上面画(比如画个红框,添点文字什么的),不过同时可以做图片浏览器。
2006年5月28日星期日
debian-installer有望使用新的gtk+-directfb
在framebuffer上构建图形界面也是越来越红火了,基于svgalib的肯定是越来越少了。gtk+本来有x11和win32两种front-end,后来见到一个gtk+-directfb,但当时仅仅算是个hacking,倒是debian胆子大,拿来做debian-installer的图形界面,不过也被限定了只能用gtk-2.09版本。
这个directfb front-end已经在合入了gtk+的2.10版本。但gtk+-2.10目前还没有进入debian,于是又有人提供了一份backport,使得可以在gtk+-2.8上使用directfb。
不过debian是否会采用,还没有定论。
2006年3月14日星期二
dia总算出了一个新版本了
2006年3月1日星期三
geany: 微型IDE
UNIX下编程的人,常常都是用vi, cc和make来折腾,但如果你vi用得不熟悉,又不愿意用anjuta这样的大东西,不妨geany试试这个小玩意。
Geany is a small editor using GTK2 with basic features of an integrated development environment.
Some features:
- syntax highlighting
- code completion
- call tips
- many supported filetypes like C, C++, Java, PHP, HTML, DocBook, Perl, LaTeX, Bash
- symbol lists
2006年2月27日星期一
又可以用OpenQ了(附win32版本)
这里应网友kexianbin的要求,编译了一个win32版本:
OpenQ-0.3.2 for Gaim-2.0.0beta2, win32版本
时间匆忙,目前只有DLL,放到plugins目录下即可。而笑脸等数据文件尚未打包进去(先可以从源代码自行提取,或者下载我以前提供的老版本)。
我以前在用gaim-1.5 + OpenQ-0.3.2,似乎要删除原来的帐号配置重新添加才行。
-----------------------------------------------------------
编译方法:
1. 先按gaim的win32编译说明编译gaim;
这里需要补充说明的是,并不需要安装cygwin,这里只是需要使用里面的一些常用命令,用tcl网站提供的msys + mingw包更方便。
另外要升级w32api,可以从mingw网站得到(www.mingw.org可能这边访问不了,但sf.net上的下载是可以的)。
2. 将OpenQ-0.3.2的代码解压,并用poppyer的补丁文件覆盖src目录下的文件; 在gaim-2.0的src/protocols下建立目录qq,将OpenQ的src下的文件移过去,然后将这个Makefile.mingw拷贝到该目录下
3. 编译
$ cd gaim-2.0.0beta2/src/protocols/qq
$ make -f Makefile.mingw
这样就可以得到libqq.dll,拷贝到gaim安装目录的plugins下即可;
4. 拷贝数据文件,拷贝pixmaps文件拷贝夹到gaim的安装目录就可以了。
也许你要问那个Makefile.mingw是怎样产生的,其实很简单,我把GG插件的Makefile.mingw拷贝了一份,然后将GG换成了QQ,再将源代码文件列表C_SRC改一下就行了。
--------------------------------------------------
User Comments
(no subject) [Reply]
bamanzi | 07 三月, 2006 16:14
这两天又看见了一个针对gaim-1.5的补丁,于是又做了一个gaim-1.5的版本,也放在上述位置
(no subject) [Reply]
kexianbin | 14 三月, 2006 01:23
prefs.xml内的pref name='ipfile' type='string' value=''/
(no subject) [Reply]
bamanzi | 14 三月, 2006 09:48
我后来比较过原来的prefs.xml和后来的prefs.xml,也发现只有ipfile不同。但认为这个东西应该没有影响,所以想不明白。另外gaim-2.0似乎没有让设置ipfile的地方了
(no subject) [Reply]
sha | 27 三月, 2006 17:48
我删除了perfs.xml中pref name='ipfile' type='string' value=''/ 加载openQ插件可以正常启动Gaim-2.0.
(no subject) [Reply]
aaron | 29 三月, 2006 09:28
hello ~~ 可以开发一下PSI的QQ插件吗?~win下的~~ http://psi-im.org/home
Re: aaron [Reply]
bamanzi | 29 三月, 2006 19:38
还是到某个论坛上去问问吧,在这里说肯定没有什么用
(no subject) [Reply]
aaron | 30 三月, 2006 16:55
还是到某个论坛上去问问吧,在这里说肯定没有什么用 某个论坛? 哪个论坛?~ 这个不是你开发的吗?~
Re: aaron [Reply]
bamanzi | 30 三月, 2006 22:16
兄台抬爱了,俺可没有那个本事。openq的主页是http://openq.linuxsir.org
(no subject) [Reply]
michael | 04 四月, 2006 12:41
老大gaim-1.5的版本在那里?
Re: michale [Reply]
bamanzi | 04 四月, 2006 21:43
这里: http://gaim.sourceforge.net/win32/
(no subject) [Reply]
everack | 01 八月, 2006 09:26
你好: 是不是这个补丁现在不可以用了啊? 我用gaim2.0b2加这个补丁不行啊.
2005年9月30日星期五
2005年9月23日星期五
Windows也可用gaim同时登录MSN, QQ和Gtalk
2005年9月12日星期一
2005年8月23日星期二
Ridley: libgnome must die
The GTK+ developers have announced a new initiative called "Project Ridley." The idea is to get rid of a number of the small libraries which follow GNOME applications around, merging their functionality into the core GTK+ toolkit. The end result will likely be the GTK+-3.0 release. More information can be found in the announcement (click below) or on the Project Ridley wiki page.
希望这个项目的诞生可以减轻编译gnome平台的麻烦程度。
2005年7月30日星期六
glib2,gtk2,pygtk2 reference in CHM format
I modified devhelp2chm a little, to workaround a problem I found when using gnochm to read the CHM files generated by it.
And updated two CHM files generated by it:
glib2/gtk2 gtk-2.6.8, glib-2.6.5, including FAQ and tutorial
(source: package libgtk2.0-doc, libglib2.0-doc)
pygtk2 reference pygtk2ref 2.6.0, and GtkSourceView, GtkSpell, GnomePrint, GnomePrintUI, GtkMozembed
(source: pygtk2 website)
----------------
How to build:
gtk2.chm:
apt-get install libglib2.0-doc libgtk2.0-doc
cd /usr/share/gtk-doc/html/
DIRS="gtk/ gdk/ gdk-pixbuf/ gtk-faq/ gtk-tutorial/ glib/ gobject/"
find $DIRS -name '*.devhelp.gz' | xargs gunzip
for d in $DIRS; do
(cd $d;
echo $d
for f in *.html; do
sed 's#/usr/share/gtk-doc/html/#../#' $f > $f.tmp
mv $f.tmp $f
done)
done
find $DIRS -name '*.devhelp | xargs ~/bin/devhelp2chm-v2.sh
-p gtk2 -T "GTK+ Reference Manual" -t gtk/index.html
...Then use HtmlHelp Workshop to build it.
pygtk2ref.chm
wget http://www.pygtk.org/dist/pygtk2reference.tbz2tar jxf pygtk2reference.tbz2
find . -name '*.devhelp' | xargs ~/bin/devhelp2chm-v2.sh
-p pygtk2ref -T "PyGTK2 Reference" -t pygtk2reference/index.html
2005年7月22日星期五
My Cygwin Repository Updated
New:
- vim-gtk2-6.3.071
- dia-0.94 Dia is a gtk+ based diagram creation program (screenshots)
- leafpad-0.8.2
- notecase-0.9.3
- gtkpod-0.94.0
2005年5月25日星期三
Disk Catalog类软件
我这人是个三脚猫,什么都喜欢玩一玩,GTK/GNOME, Cygwin, Delphi, Python...时间长了,也就搜集了不少东西,所以隔一段时间就把自己近期搜集的东西刻录成一张盘。但刻的盘多了,找东西就费劲了。这时就需要 Disk Catalog类软件。
在Windows下我觉得比较好用的这类软件是Where Is It。它可以支持多种方式提取文件描述:
- 从文件中提取描述信息信息,比如HTML文件的标题,MP3文件的歌名、演唱者、专辑名称,PDF的标题、主题和书签,M$ Office文档的标题
- 从files.bbs, 00index.txt, descript.ion等文件提取文件描述信息
- 从CDDB服务器提取CD里面歌曲的名称
- 从图片提取缩略图(thumbnails)
- 从压缩包类提取文件列表
另外它还提供了插件接口,网站上提供了不少扩展插件,用户也可以自己用Desc API来编写插件(还是Delphi写的!),我自己就写了用于CSDN index和Debian Package的插件。
在GNU/Linux上,也试用过一些(基本上只用过基于Gtk/Gnome的),觉得功能比较强一点的也就是gtktalog了。 gtktalog可以做到上面的功能1、4。对于功能1,它可以根据MIME类型调用一个命令行来获取文件的描述信息,而GNU/Linux下有丰富的命令行程序来做这个,比如对于rpm文件可以用rpm -qpi %s提取包的描述,这要比Where Is It的编程接口方便多了。
(不过gtktalog的MIME判断有点问题,比如对于Debian Package包,通过设置界面添加时,它根据.deb的后缀猜测(guess)出"application/x-deb",我配上对应的命令行 "dpkg-deb --info "之后却根本提取不到包的描述信息,调试之后发现MIME类型应该是"application/x-dpkg",并且在gtktalog设置界面上还不让你添加(说是MIME类型不合法),只能自己修改配置文件~/.gtktalog/gtktalog.cf搞定) 。
另外GWhere有时也用,虽然功能比较弱,但因为它只需要Gtk2,不需要Gnome库,所以在Windows和Cygwin上都可以编译成功,也就可以跨平台使用。
2005年5月24日星期二
Gtk2 patch for gnome-commander-1.1.6
But the problem is a function called _gtk_clist_create_cell_layout is used by the gnome2 version gnome-commander. The symbols started with an '_' are private symbols of gtk2, they should not be used by applications (in old days, these symbols are also exported by gtk2 on some distributions, but not debian).
I just found Mandrake provides this version of gcmd, thus I download the SRPM, and found the patch from it.
===================================================================
RCS file: /cvs/gnome/gnome-commander/src/gnome-cmd-clist.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- gnome-commander/src/gnome-cmd-clist.c 2004/01/08 20:11:28 1.3
+++ gnome-commander/src/gnome-cmd-clist.c 2004/05/03 18:20:18 1.4
@@ -226,6 +226,46 @@
}
+PangoLayout *
+my_gtk_clist_create_cell_layout (GtkCList *clist,
+ GtkCListRow *clist_row,
+ gint column)
+{
+ PangoLayout *layout;
+ GtkStyle *style;
+ GtkCell *cell;
+ gchar *text;
+
+ get_cell_style (clist, clist_row, GTK_STATE_NORMAL, column, &style,
+ NULL, NULL);
+
+
+ cell = &clist_row->cell[column];
+ switch (cell->type)
+ {
+ case GTK_CELL_TEXT:
+ case GTK_CELL_PIXTEXT:
+ text = ((cell->type == GTK_CELL_PIXTEXT) ?
+ GTK_CELL_PIXTEXT (*cell)->text :
+ GTK_CELL_TEXT (*cell)->text);
+
+ if (!text)
+ return NULL;
+
+ layout = gtk_widget_create_pango_layout (GTK_WIDGET (clist),
+ ((cell->type == GTK_CELL_PIXTEXT) ?
+ GTK_CELL_PIXTEXT (*cell)->text :
+ GTK_CELL_TEXT (*cell)->text));
+ pango_layout_set_font_description (layout, style->font_desc);
+
+ return layout;
+
+ default:
+ return NULL;
+ }
+}
+
+
static void
draw_row (GtkCList *clist,
GdkRectangle *area,
@@ -389,7 +429,7 @@
/* calculate real width for column justification */
- layout = _gtk_clist_create_cell_layout (clist, clist_row, i);
+ layout = my_gtk_clist_create_cell_layout (clist, clist_row, i);
if (layout)
{
pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
2005年4月29日星期五
GtkList/GtkListView的查找快捷键
记得当初gtk-2.4要添加GtkFileChooser时,FootNotes上 对于界面原型中"用Ctrl-L打开一个路径输入框"这点争论了半天(但我找不到具体的URL了,也许是这个)。反对者的意见是这样不直观,不看文档的话谁会知道这个 快捷键呢,用户要跳转到某个目录只能一层一层地点; 支持者的意见是这样界面比较简洁,“我们为什么要做得象Windows一样呢?" 对于这个问题,我的意见是反对不显示出来。
回到刚才说的Ctrl+F,好在这个搜索框是直接现在在窗口上,不是一个模态的,还算好用(Firefox后来也改成了这样,而不是原来的Windows风格的对话框。这个搜索框的模态问题其实Jef Raskin在The Humane Interface里特别讲到过)。
P.S. 我将键盘上所有字母键和Ctrl的组合都按了一遍,想看看还有没有别的什么(答案是没有)。
又: 当初别人说KDE比GNOME好(至少是好用),我还跟他们争论一番,最近似乎没有太多底气了,尤其是放弃维护Cygwin GNOME 2.x以及前两天Slackware宣布移除GNOME之后。
2005年4月4日星期一
Cygwin port of sylpheed-claws-gtk2-1.9.6cvs1
Only source patch available. Due to bandwidth limit, I can't upload the binary to my repository
now (Due to this reason I haven't updated it for serveral months :-(.
Now I have a lot of pending packages: xfce-4.2.0, rox-2.2, etc).
This patch was based on the source package provided by debian (experimental) , for its convenience, as it was preprocessed with autoconf/automake.
Usage:
$ tar zxvf sylpheed-claws-gtk2_1.0.1cvs1_orig.tar.gz $ patch -p1 -b < sylpheed-claws-gtk2-1.0.1cvs1-1.diff $ ./sylpheed-claws-gtk2-1.0.1cvs1-1.sh mkdirs patch config make install package
And I also uploaded the source patch for gtk1 version of 1.0.1.
2005年3月21日星期一
给Knoppix动态添加中文支持(4)

本来还想加上我比较喜欢的rox的,但因为官方版本对非UTF-8的文件名支持不好(以前我胡乱弄了个补丁),所以没弄。
而且似乎Knoppix上也没有必要用这个文件管理器,除非打算在性能差的机器上不用KDE做桌面。
stardict没有搞成功,因为需要很多gnome的库,
BTW: 刚发现debian上似乎非得用LANGUAGE这个环境变量才能让程序文字生效,比如LANGUAGE=zh_CN beep-media-player。但我在Cygwin上从来都是只用LANG和LC_MESSAEGS的。
1. GQview 1.4.5
这个比较简单,不需要读取什么数据文件,只要将usr/bin/gqview拷贝到~/.dist/bin就可以了。
但Help菜单下的几个菜单项会读取/usr/share/doc/gqview/README,我替换成了/home/knoppix/.gqview/README(恰好一样长!),不过不做这一步也没有问题。
如果想要中文翻译,将/usr/share/locale/zh_CN/LC_MESSAGES/gqview.mo拷贝到~/.dist/下相应的目录即可。因为我们前几天已经做了mount --bind映射了。
2. beep-media-player
Knoppix自带xmms, 但这个不如bmp好看,而且不用自己配置中文(只要有中文字体就可以了)——虽然xmms配置中文也不难
perl -pi -e 's#/usr/share/bmp#./../share/bmp#g' $DESTDIR/usr/bin/beep-media-player #注1
# add a wrapper
cat <
#!/bin/sh
cd `dirname $0`/../usr/bin
exec ./beep-media-player $*
EOF
chmod 755 $DESTDIR/bin/beep-media-player
#shared library required by bmp
cp beep-media-player/usr/lib/libbeep.so.2.0.0 $DESTDIR/lib
(cd $DESTDIR/lib && ln -s libbeep.so.2.0.0 libbeep.so.2 )
sudo ldconfig # is this really needed?
# data (glade,
rsync -Ha beep-media-player/usr/share/ $DESTDIR/usr/share/
# now the Skins dir. Let bmp share the same Skins with xmms
[ ! -d ~/.xmms/Skins ] && mkdir -p ~/.xmms/Skins
[ ! -d ~/.bmp/Skins ] && (cd ~/.bmp && ln -s ../.xmms/Skins .)
# now the Plugins dir.
[ ! -d ~/.bmp/Plugins ] && mkdir -p ~/.bmp/Plugins
rsync -Ha beep-media-player/usr/lib/bmp/ ~/.bmp/Plugins/ #注2
#1: 注意perl行的语句里面最后有个g,表示行内全部替换,前两天没有留意这个
#2: 这里将自带的插件也都放到~/.bmp/Plugins下。当然用相对路径替换掉/usr/lib/bmp也是可以的,这里只是为了说明有时也可以利用程序自己的功能(比如回头我们可以试试按这个思路给Knoppix自带的gaim添加QQ插件)