kimtoy 0.5 垂直预编辑模式和背景透明

nihui | 2011/06/16
受到 wengxt 关于主题背景划分9块的启发,kimtoy 从 0.5 开始内部的主题背景表示也将采用9块的办法,同时大幅优化了绘图的函数,把一些不常变动的像素图和蒙板区域缓存了下来,这样就不用每次更新的时候全部算一遍,更新速度也跟得上打字速度了。不过在不使用主题的模式下仍然比主题模式快了很多,似乎也是没办法的,效率总是和美化在权衡中。。。
背景透明这个其实还挺重要的,尤其是在开启主题模式的时候,背景的边缘总是显得有些粗糙,0.5 版本打开透明就可以完美了。两张截图胜过一万字。另外再加带一张垂直预编辑模式的外观,感觉比传统的水平模式占用的屏幕面积更小些,现在我就一直开着垂直模式呢。自动启动功能依照建议已经加上。enjoy 吧~~
下载地址:
http://kde-apps.org/content/show.php/KIMToy?content=140967
2011/6/16   0.5
新增背景透明度选项(需要开启桌面特效才能看到透明)
新增候选词垂直布局模式选项
新增自动启动 KIMToy 选项
左键点击托盘图标也能弹出菜单
主题文件缺失或损坏时不再崩溃而是禁用主题
新增简体中文翻译
预编辑栏绘制优化,现在将缓存像素图和蒙板区域以加快绘制
修正计算文本区域长度的细微错误
调整外观配置页的布局

 

Tags:

19 FEEDBACKS

  1. xshapecombinemask对速度影响很大的,如果形状过于不规则的话。(Qt里面是setMask) 最好不要频繁使用。

    比如osd lyrics,他们的点击穿透其实也是靠xshape,但是在同一句歌词的时候窗口形状其实一直保持不变。

    fcitx这边虽然在早些时候用过xshape combinemask,不过后来也没用过了(啊其实是我不知道怎么把xpixmap搞成alpha map…… = =b),但是我也不着急把这个加回去,因为异型的主题其实不多,而且就算有一部分异型的透明区域可以被点击其实也影响不大(谁没事在键盘输入的时候跑去用鼠标玩输入框呢……)。坏处就是不开混成的话会有黑边,不过矩形的主题还是可以不受影响。

  2. 哦,顺便一提……下次请把wordpress的permalink改成英文的。

  3. nihui

    @csslayer 不规则的主题要是没 mask 又没有透明的话,黑色部分是非常恐怖的,就如截图里的那个吧。输入框的大小会随着拼音和候选词长度变的,没办法固定不变。。。

  4. @nihui 我的假设是,如果你想用不规则主题,那么就去用混成,否则别用,没有真透明会有锯齿,没法达到很好效果。反正xcompmgr这么好用。而且你注意,kimtoy是KDE only的,于是有谁不开composite呢(除了你……)?就算不用opengl,xrender合理设置效果也很好的。

    输入框大小的计算你可以调整下的,fcitx为了加快绘制,把输入框的大小按照60px进行取整(你可以选择更合适的数字),这样输入框的大小就不会频繁变化了。而且cache也会很容易,因为只有有限几个固定的长度需要cache(当然这个cache其实都没必要,因为不是主要矛盾)

  5. @csslayer 话说阁下有没有想过在fcitx里加竖排呢?这样长词语选词会方便一些,尤其是设置9个候选词的时候……

  6. @右京样一 要我给你看竖排的截图咩。

  7. oasis

    越来越好用了,再提个小意见,如果能加个快捷键暂时把panel关闭就更好了(或者ctrl+space就是关闭或者打开panel),无论放在哪里都是有那么一条东西在占着屏幕阿

  8. @oasis 这应该交给输入法,kimtoy则是提供接口给输入法。 @nihui 我觉得你可以大胆给kim的协议搞扩展,我会在fcitx这边支持你的。

  9. oasis

    @csslayer 但是gtk backend的ibus按ctrl+space会隐藏panel哦……kimtoy没有……

  10. 0404

    @csslayer @右京样一 好久没来留言了。看见右京要求竖排,我也搭便车要求一下。其实我一直觉得竖排比横排选词要方便一些,虽然人眼对横排的文字阅读更快,但是我想选词不是阅读,要求的是精确“辨别”(对目标做出反应而忽略其他)每个“刺激”(候选词),所以较为容易的辨别是所应关心的,而非阅读速度,对我而言,竖排较之于横排其异处在于,候选词间与候选词内是截然分离的,此外竖排的候选词的位置也是固定的(不像横排一样随词的长度而变化),即竖排在辨别及选择上提供了更多的线索,分辨起来是相对轻松的(我做过一个实验,得出个体对位置和颜色信息的“辨别”要快于形状,或许这也是我感觉相对轻松的原因之一吧)。

  11. 0404
  12. @0404 开发中截图…… XD

  13. 0404
  14. @csslayer 纠正一下,OSD Lyrics的点击穿透是用inputshapemask,直接将事件输入mask设为空,并不用随着窗口的变化而改动,因为是全部穿透的。

    但是对于输入法panel来说这个不是重点。如csslayer所言,设置窗口的shapemask对性能影响很严重,我在做歌词过长滚动的时候对非composited时是做了分段处理,不然卡得历害。

    如果要在非composited环境下支持不规则窗口,一定要尽可能少地改变窗口的大小。我的建议是将窗口大小缩放作分级,按级扩大,级别不要太多,另外在输入结束前不要缩小窗口。竖排的输入可能效果好些,只要显示的候选词数固定,横向预先设定一个合适的大小,应该很少有改变大小的情况吧?

  15. oasis

    公布一下github地址把,不知不觉都0.7了…..还不如直接git pull好了

  16. @oasis 是没有版本控制的。。。。。。就我一个人在弄没必要吧~

  17. zhangyou

    有人能告诉我这个东西要怎么用吗?我从AUR安装了Kimtoy,可以启动它,但是ibus的输入法界面完全没有变化。为什么kde-apps的页面上连个配置的入门信息都找不到?

  18. 心之所在

    @zhangyou 点进上楼的博客……

Leave a Reply

Your email address will not be published. Required fields are marked *

Note: Commenter is allowed to use '@User+blank' to automatically notify your reply to other commenter. e.g, if ABC is one of commenter of this post, then write '@ABC '(exclude ') will automatically send your comment to ABC. Using '@all ' to notify all previous commenters. Be sure that the value of User should exactly match with commenter's name (case sensitive).