- 7
- Dec
GNOME Do是每一个GNU/Linux(特别是喜欢键盘操作的)用户都应该去尝试一下的软件,具体啥原因,因为——此乃神器!看:Gnome Do,不必知道它在哪,请说出你要什么
最近用GNOME Do碰到一点点不足,于是打算hack它一下。如此优秀的自由软件,不hack有点可惜,虽然我对C#一窍不通,不过这又何防?
---
GNOME Do的一点不足是,如果我用它来启动应用程序,那么用相当多的软件不能启动。Why?
因为GNOME Do默认是根据语言环境来载入应用程序的描述字符串,也就是说,Gedit:文本编辑器,我必须输入“文本编辑器”才能启动Gedit,这明显不行,因为GNOME Do只接收英文输入。而Mozilla Firefox,因为不是“Mozilla 火狐”,所以我可以通过输入“Fire”即启动它,所以非常快捷。
如何让GNOME Do默认以英文的Locale来索引应用程序的描述呢?这样Gedit就会变成“Text Editor”,我只要输入“Text”基本上就可以启动它了。
这个有很多路子可以实现,我可以使用单独的LANG=en_US.UTF-8环境变量来启动GNOME Do,也可以让整个系统默认就是en_US.UTF-8,但是我不喜欢这样做,一是不够直接,二是不想让所有启动的应用程序也变成英文的。所以还是Hack一下它吧!
读了一个GNOME Do的源代码,很快找到了切入点。在“Do.Addins/src/Do.Universe/ApplicationItem.cs”中,有个对DesktopItem的处理方式:
public ApplicationItem (string desktopFile)
{
item = DesktopItem.NewFromFile (desktopFile,
DesktopItemLoadFlags.OnlyIfExists);
if (null == item)
throw new Exception (desktopFile + " not found.");
name = item.GetLocalestring ("Name");
description = item.GetLocalestring ("Comment");
icon = item.GetString ("Icon");
}
改那个name就可以了,默认是GetLocalestring,我不需要根据Locale来取得,直接GetString即可。
改完后,重新打包,然后交给Gentoo Emerge。终于达到我要的效果了:
“英文的标题+中文的描述”才是最完美的,哈哈!



我的gnome do没法写中文阿~
是就不可以还是因为我用ibus的缘故?
@小诺,
他们承担将提供对SCIM多语言输入的支持。
@shellex, 恩 thx。。。我现在也很犹豫。。。ibus 还是scim。。。为了 ibus opera 都不好用了……
没用过呢,看起来是个可以提高工作效率的东西~
我也有一个比较山寨的类似软件,分享一下,见笑了:
http://code.google.com/p/plaunch/wiki/Quickstart
我也有一个比较山寨的类似软件,分享一下,我基本上是离不开它。
见笑了:
http://code.google.com/p/plaunch/wiki/Quickstart
@volans, 兄台的软件很好啊,不能说山寨。而是完全全新的一个应用软件,我在TOY上看到过,还在Windows下用过呢。
@TualatriX, 抬爱抬爱……
目前有一个比较烦的问题没有解决,困扰……看看你有没有主意。
应该是和桌面配置环境或者管理策略相关,plaunch的表现不太相同。在有的人的平台上,快捷键第一呼出主窗口,窗口处于最上层,并且title bar是高亮的,可以直接输入。但第二次以后每次呼出Title bar就不再高亮了,没办法直接输入。在windows下完全没问题,但linux下就表现各异,有的可以,有的不可以。也没找到哪里可以更改这个配置。在pygtk上报了个bug,得到开发者的回复,他确定不是bug,是窗口管理的策略问题……
@volans,
至于这个问题,我想问题可能跟开发者说的一样,是窗口管理的策略问题。
不过,也不是没有解决方法。
不知道你用过GNOME Do没?它也是每次呼出,然后100%置顶和接收聚焦的。我觉得你可以去参考一下GNOME Do的做法。
但愿对你有用!希望工作越做越棒!昨天我还看到,有人在GNOME Do那里建议能“自定义命令”,这不是学Palunch的吗?哈哈!
@TualatriX , 多谢多谢,回头试试
@volans, 竟然用C#写的啊,以前从未接触,还得先研究一下……
@volans, 哈哈。虽然是C#写的,但是很容易看懂的。
帅~
即使Gnome-Do已经承诺将支持SCIM多语言输入我还是喜欢输入英文。
@shellex, 我也是,开个输入法,再输东西,那完全失去GNOME Do的快捷了~
这个东西的确是个神器..