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).

This site uses Akismet to reduce spam. Learn how your comment data is processed.