拼音搜索:用拼音在 Gnome Shell 中搜索程序
其实我本人并没有很强的这种需求,因为我英语还行(自夸)。之前同学安装了 Ubuntu,试了下 Unity 可以做到用拼音直接搜索程序,于是就畅想为什么 GNOME 不行?没人做吗?……
……那我就自己做一个!
拼音搜索
拼音搜索就是我这半天折腾的结果。
根据之前的调查,可以得出以下结论:
- GNOME 真的没考虑国际化,让本地化寸步难行。
- Hack 真的不好做,因为根本没接口。
- 这帮开发者技术可能很强,但是不会组织软件,你见过谁把搜索功能做到底层库里面的?做就做了还 undefined,摆明了不想让除了 GNOME 开发者以外的人用。
然后结合我本人的使用实际:从来没想到 Gnome Shell 会考虑 .desktop
中的 Comment、Keywords,所以之后我也没做这些。(也许有人用?)
做了一个非常非常 dirty 的 hack:直接把 getInitialResultSet
覆盖掉!
主要思路是做一个预处理,把汉字转换成拼音存到表里面,搜索的时候匹配。那么如何做部分匹配呢?还是一个很 naive 的做法:直接把字符串从左到右一个个匹配,这样虽然比较方便,但是会造成匹配范围过大。又不愿意想更复杂的做法…… = =b
其实用这个思路的话这个项目的主要难点就是把汉字转换成拼音了,我直接用了闲耘的 hotoo/pinyin 中的字典。但是因为对 Javascript 和 Gnome Shell 都不熟,所以写了整整半天……(其实就是你比较弱吧!!
总之现在问题还很多,所以不敢发布到 GNOME Extensions 上。先这样吧。
Loading Disqus...
(Alternatively, drop me an E-mail to comment on this post.)