当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 6 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : scim dbus前端
帖子发表于 : 2008-07-11 9:31 

注册: 2006-10-30 20:01
帖子: 89
送出感谢: 0 次
接收感谢: 0 次
这个项目是为了解决linux环境下,一些特殊的应用(比如游戏程序)i18n文字输入问题。虽然SDL从1.2.13开始支持了xim,但还是很不完善,至少我不能解决全屏模式下的输入法问题。所以我想沿用win32下的游戏模式,传递键盘事件给输入法引擎,得到一组lookup字符串,再自己画出 IM Panel。

XIM好像很难这样作(这年头讲xlib的书难找,我看过《Xlib Programming Manual》的i18n部分后,还是没有找到基于xim的解决方法)。
SCIM的SocketFrontEnd有点这个意思,不过还是不行。所以我想自己作一个scim的frontEnd 来提供类似候选字符串的查找的功能。本来想基于SocketFrontEnd的,但是发觉这样做的话,客户端的程序势必要依赖scim(或者抄写一遍 scim的frontEnd和socket头文件),并且也不利于其他语言的binging,所以决定作一个dbus模式server。选择scim而不是xim的一个附带效果就是,client可以不依赖X,这样即使是console或者是fb下的i18n环境也可以简单的调用scim输入法服务。

关于scim,dbus的文档是在不多,所以了解他们的结构和用法多半只能看代码。scim的头文件的注释很详细,代码的结构也清晰,基本上花了2天时间就了解了scim的FrontEnd。但是dbus就不容易了,虽然有glib和qt的binging,但是我想这应该是GP和元编成大展身手的地方。看着freedesktop上的Reference写了一些Pure C++ binging后,才发现自己重复造轮子了。早有个Pure C++ dbus binging在freedesktop的git上http://www.freedesktop.org/wiki/Software/dbus-c%2B%2B 。所以虽然tarball里面自己写的代码没几K,一大半还是从freedesktop上git来的dbus-c++ binging。

由于全部是在用业余时间在做,目前的代码仅能做到在我的机器上完成大部分功能。构建方面我也不是很懂,所以目前make文件惨不忍睹、极不规范。目前自己设计的scim-introspection.xml中,提出的接口里还是几个冷门的方法没实现,scim中还有几个方法和信号不清楚怎么用dbus传,有些应该是用object的参数(比如lookup对象)被我用StringList简化了,这些都是要继续完善的部分。我希望将来dbus能成为 scim默认提供的frontend之一。

借此地上传代码和演示图片


附件:
文件注释: pygame 演示
Screenshot-4.png
Screenshot-4.png [ 196.38 KiB | 被浏览 750 次 ]

文件注释: 代码:
scim-dbus-frontend.zip [124.06 KiB]
被下载 20 次
页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-07-11 9:59 
头像

注册: 2005-08-14 19:53
帖子: 3998
送出感谢: 1
接收感谢: 2
建议在google code上开个项目,感觉这个思路比较好。期待lz工作。因为目前scim和非gtk2程序协作非常不好

scim-bridge解决很多程序输入中文以及光标跟随问题,不知道如何实现的


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-07-11 10:22 
头像

注册: 2007-09-29 3:09
帖子: 5773
送出感谢: 0 次
接收感谢: 3
支持... :D


_________________
HUNT Unfortunately No Talent...


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-07-12 10:48 
头像

注册: 2005-08-14 19:53
帖子: 3998
送出感谢: 1
接收感谢: 2
和scim联系应该会得到更多的支持


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-08-05 23:32 
头像

注册: 2007-03-13 11:23
帖子: 1343
送出感谢: 0 次
接收感谢: 0 次
其实dbus 的东西不少的


_________________
"We are all in the mud, but some of us are looking at the stars." (Oscar Wilde)
We are not born for ourselves.
人生天地间,并非为自己
Homepage:http://sites.google.com/site/polarisnotme/


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-08-06 0:20 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
额,有准备改包装的啊。呵呵。

d-feet 试试没。


_________________
● 鸣学


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 6 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译