Tag Archives: gtk

KDE和Gnome主题架构对比

纯粹是回帖越写越长,最后决定还是在自己的blog保留一份。和原文相比略有修改,修改了一些错字和不太恰当的描述,加了一些图辅助说明,算是一篇比较认真制作的文吧。 kde的ui toolkit是qt,gnome的ui toolkit是gtk,所以下文很多地方直接使用了gtk和qt。 先说窗口边框,metacity,kwin,compiz各有不同。 metacity支持自己的主题,可以用文件配置。kwin则是从代码级别上支持主题,新主题就需要写个新代码,compiz的emerald和 metaciy类似不谈。所以如果想让kwin和metacity和emerald类似,那么就需要有个kwin的边框引擎支持从图片或者什么其他的配置,kwin目前官方有aurorae这个引擎,支持直接从kde-look下载,通过svg图片配置。 kwin的各个主题,都是需要独立实现的 高度集成的aurorae,从kde-look直接下载 界面的话和qt和gtk又有不同,gtk支持界面每个部件使用不同引擎,统一用gtkrc管理,而qt的界面是单一引擎,配置都是各个引擎自己独立配置,各有自己的配置文件,再外加上colorscheme组合出各种颜色。 gtkrc样例 colorscheme配置,注意里面的获取新方案,我十分心水kde和kde-look的高度集成 plasma的话位置在~/.kde/share/apps/desktoptheme下面,都是svg文件,其中连文字边距等等信息也都是通过 svg实现的。auroae的边框引擎是基于plasma的,所以也是svg,在~/.kde/share/apps/auroae下面,和 emerald,metacity的多个分着的png不同,基本是一个整体的svg,编辑门槛比较高一些,但是好处就是svg是矢量,做出来的主题在缩放之后有更好的支持。 plasma主题选择,依旧支持kde-look直接下载安装 总结来看,就是gtk引擎的组合相对更加自由,qt更加固定,容易让开发者做出那种整体协调的主题。例如oxygen,bespin这种整体超级协调的引擎。当然qt也有qtcurve这种超等级高自定义的引擎,几乎可以拿来模拟任意gtk主题,外加qtcurve同时也实现了gtk引擎,qt和 gtk程序统一界面也很容易。qtcurve的另一个优点就是可以用gui配置,简单易用,而gtkrc没有编辑工具(据我所知)。 另外qt原生支持gtk主题,这点比起gtk的态度貌似好很多…… qtconfig中配置gtk主题 kde中配置gtk风格 P.S. 截图来自kde4.5rc3,如果你很奇怪你的kde为什么界面不一样,那么说明你应该考虑更新一下。

Posted in KDE | Tagged , , , | 5 Comments

纠结的XIM,兼对GTK吐嘈

恐怕ibus和scim要偷着乐了,作为fcitx开发人员之一,当然要秉持fcitx的特点,轻量级,依赖少,可是最近稍微研究了一下XIM(把fcitx的debug打开),我对各大公司搞出的重量级应用程序开始有些愤恨… 就拿firefox来说吧,当然我现在还不大了解XIM本身的机制,因此可能有些妄断。XIM的交互是一个很老很老的库写的(copyright都93,94年)了,似乎到现在也没有成为标准的感觉。好,且不说这个,fcitx在firefox当中输入时第一次输入是不会光标跟随的,为什么呢?我其他Qt程序都运行的好好的嘛,怎么会有这个问题呢?好吧,于是我安装ibus玩一玩,我叻个去,如果GTK_IM_MODULE设置成xim,比fcitx还悲剧咧,我今天终于深刻感受到,gtk,就数你最不是好鸟,qt我这里怎么都work的完全ok啊,我的KDE程序没有一个不工作的好好的,结果你还害的firefox等等诸多程序一起悲剧。今天我也用ibus,不用gtk module玩了一把gnucash,也一样悲剧,结论就是,大部分的GTK的程序都在冲你吼叫XIM去死吧。大家说,ibus什么的输入没有问题,其实不是咱的过错,linux输入法至今感觉依旧混乱,qt的im module虽然也有,不过不知道是不成气候还是怎么样,xim和qt依旧和谐。 吼你就吼好了,你自己去成为一个更好的标准啊,大家皆大欢喜?好嘛,最后还不是大家一起杯具。 再说起外观这个事情,Qt好心好意的说,来来GTK,我也能和你长得一样哦,结果GTK似乎完全不鸟这个嘛,一个能用的Qt engine都没有(都是好心的人在kde-look上搞得,基本都不成熟,也难怪啦)。 喂喂gtk小同学你是不是吸取了c××××精神搞起独×了…… 最后为了皆大欢喜,我决定把gtk immodule实现提上日程。 以上

Posted in fcitx development | Tagged , , , , | 5 Comments