Author Archives: csslayer
My Gtk Tutorial 1
大概我这样的人还是超少见的,或者你可以称之为傲娇。 于是这个是我自己写Gtk程序的心得。我个人的主力发行版是一个几乎无Gtk的发行版,平时唯一用于测试gtk的程序其实是gtk-demo。不过即使如此我也照样开发着Gtk程序,不过由于发行版没有Glade,虽然用下也不会少块肉,不过界面大部分还是靠手写。反正就是省点事情。 本文基于 Gtk3 和 up to date 的 Glib。 另外我对于所有动态语言抱有一种不信任的态度,另外就是写C比较熟悉,所以还是写C。 那么开始第一个程序吧。 在最新的GLib中,GLib终于也诞生了一个称为Application的概念,对于Gtk2时代的人来说这大概是个没听过的概念。用了有什么好处呢? 1、支持单实例 2、支持Application Menu 说道Application Menu,这究竟又是个什么东西呢?可以理解为“属于这个程序的”菜单,例如Firefox,Opera的大按钮等等。 当然不幸的是,我最近唯一写的Gtk程序是不需要Menu的,而且反正这个功能在非GNOME3环境下惨不忍睹(显示为只有一项的菜单栏,要多难看有多难看),所以这里带过不提。 那么第一个GtkApplication就从这里开始: https://github.com/fcitx/fcitx-configtool/blob/b68086d4b6773845065e44956875d90bca195eba/gtk3/main.c (该死的WP贴代码不方便) 如果你用过 Qt 的话,大概就看出了 QApplication app(argc, argv); app.exec(); 的影子,总之就是差不多的东西。 这里还实现了一个函数,activate,这个函数会在执行程序的时候被调用,而且是交给主进程的程序,于是里面的内容很简单,如果有窗口,那就显示出来,如果没有,那就创建一个。 关于 GObject 的 Signal,在下不才其实并不十分了解,你可以参考: http://nanjingabcdefg.is-programmer.com/posts/24116.html activate 本身其实也是一个 signal,具体你要实现activate被调用的效果其实有很多方式,在这个小地方怎么实现其实都并无所谓,你可以自己g_signal_connect 一个上去,或者采用别的方式。 … Continue reading
Fcitx 4.2.4
fcitx 4.2.4 1. fix some xim problem 2. add fcitx-gclient for glib and gir binding, can be used to control fcitx or implement fcitx client. 3. merge fcitx-keyboard into fcitx 4. bind specific keyboard layout with inputmethod (you need up … Continue reading
这里有一个好消息和一个坏消息
好消息就是新版的ATI驱动终于可以用kwin的direct rendering了 坏消息是我正在用着一个本子,双显卡,两个显卡都是ATI的,不过有一半……是不被这个驱动支持的显卡了。 我好想要intel的本子……
Think more
当你发现了一件好事的时候,是否这件好事本身就是最终的目的这是值得商榷的…… 世界上无数事情和它的本意是不同的。例如说我开发一个feature,你可能并不知道我最初的目的是workaround一个bug。 来我们来顺带定义一下某种可以被称作“脑残粉”的行为。 主体A,做了事情B,导致了结果C,然则由于C的结果是好的,于是“你”就说A真是好啊。这是例一。 例二,主体A,做了事情B,导致了结果C和D,然则由于C的结果是好的,而D的结果是不好的,仍然由于C是好的,于是“啊,这是没办法的嘛”,或者干脆的选择性无视D。 那么无论是例一,还是例二,都无视了主体A本身想要达到的目的。究竟是无心插柳还是有意为之其实是并不知道了(即使主体A“宣称”如此)。 甚至可能结果D才是主要目的。 P. S. 话说写这种喷文的目的之一就是开地图炮而隐藏我真实想喷的人的意图,比如如果你认为我的目的是喷果粉之类你就too simple了。比如之前的某篇也是如此。 开地图炮的好处之一,就是让人产生“是不是在说我”的感觉……于是达到的效果也许可以超过预期。 P. S. 的 P. S. 那么我写 P. S. 目的是文字的表面含义吗?如果你思考到了这点大概我也没白写。
Refined fcitx config gtk3
Some may noticed the screenshot I posted on the twitter, yes, fcitx-config-gtk3 now has a new refined user interface. I can hardly say it’s perfect, but at least looks better integrated with gnome3 default theme. (Well, the KDE style doesn’t … Continue reading
