当GtkWindow绘制背景遇上Resize
Happy hacking: 给Gnome Shell的音量菜单加上设备选择

ibus的GNOME Shell扩展

Tiger Soldier posted @ 2011年7月06日 19:18 in 程序设计 with tags gnome gnome shell ibus , 12356 阅读

Update:

  • 更新代码,支持横排模式(设置后需要重启gnome shell)
  • 这个扩展使用了ibus的一些新API,该API还没有发布,需要自行编译ibus的git仓库代码

以前说过GNOME3的一个缺点,在通知栏聊天时,无法看到ibus的候选词界面,确切地说是候选词界面被通知栏聊天界面挡住了。这是GNOME Shell的架构所决定的,目前没有方法可以绕过(除非修改GNOME Shell)本身。唯一的解决方法就是将ibus的界面用GNOME Shell的那一套(Shell Toolkit, St)实现。

为了更好地集成到GNOME Shell中,ibus的开发者之一Fujiwara将ibus的前端UI使用GJS来实现了一遍。在Fujiwara的日志中,ibus的菜单已经变成了GNOME3的风格,和系统很好地融为了一体。其在github上的代码里,gjs UI已经完全实现了ibus原有UI的功能。

然而Fujiwara的实现有两个缺点:

  1. Fujiwara希望将这套UI作为GNOME Shell的一部分,随着GNOME Shell分发。这样无法单独安装这套新UI
  2. 候选词界面依然用GTK而不是St实现,无法解决被挡住的问题

因此我将这套UI Fork了出来,修改为可以作为扩展安装的方式,并用St实现了候选词界面。风格与GNOME Shell融为一体,并且再也不会被聊天通知所覆盖了:)

以下是截图:

GNOME Shell上的图标菜单,原生风格
图标和菜单与GNOME Shell的其他indicator样式相同


ibus GNOME Shell 扩展:候选词
候选词界面也变为GNOME Shell样式

ibus GNOME Shell 扩展:搜索时显示候选词
在活动视图搜索时也能显示候选

通知聊天候选界面
在聊天通知界面下显示候选,以后和MM聊天再也不会因为选不到字而拖慢速度了,内牛满面呀

代码见 https://github.com/tigersoldier/Gnome-Shell-IM-Panel

csslayer 说:
Jul 06, 2011 07:31:19 PM

我会淡定fork走拿去给fcitx用的 XD。

imdiot 说:
Jul 06, 2011 07:48:34 PM

恩恩~~~这个好 这个要得啊~~~~~

Avatar_small
Garfileo 说:
Jul 06, 2011 08:00:28 PM

赞一个,也被这个问题烦扰了好久

Head_small
Tiger Soldier 说:
Jul 06, 2011 09:29:11 PM

@csslayer: 咳咳,我还打算自己支持的说

Avatar_small
Garfileo 说:
Jul 06, 2011 10:46:58 PM

只能是竖向列表吗?

Head_small
Tiger Soldier 说:
Jul 06, 2011 11:34:27 PM

@Garfileo: 目前是只有竖排,虽然代码有考虑,但是似乎没生效

BigEagle 说:
Jul 14, 2011 08:43:50 PM

@csslayer: 顶啊!强烈支持fork & apply

Avatar_small
Mike Ma 说:
Jul 16, 2011 02:25:19 AM

太好啦!hack的威力啊!

Avatar_small
Mike Ma 说:
Jul 16, 2011 02:26:12 AM

@Mike Ma: 不过我希望有横排的,我一直用横排(自从不用智能ABC后)。

Head_small
Tiger Soldier 说:
Jul 16, 2011 07:09:58 PM

@Mike Ma: 现在已经支持横排了

Avatar_small
Garfileo 说:
Jul 17, 2011 03:24:41 PM

@Tiger Soldier:

下面的代码会导致 gnome-shell 3.1.3 无法登录。

Main.chrome.addActor(this._st_candidate_panel,
{ visibleInOverview: true,
affectsStruts: false});

貌似 visibleInOverview 已经被拿掉了,见:https://bugzilla.gnome.org/show_bug.cgi?id=633620#c22

Avatar_small
Garfileo 说:
Jul 17, 2011 03:29:05 PM

@Tiger Soldier: 去掉 "visibleInOverview:true" 后可以了。谢谢横排!

Avatar_small
Mike Ma 说:
Jul 23, 2011 02:49:13 PM

如何安装?求指南

Randy 说:
Aug 06, 2011 08:25:08 PM

装上了,觉得不错,有以前用搜狗拼音的感觉了,唯一的就是上面显示为zh,要是能显示那个拼音的图标就更好了。总之,谢谢楼主的好东西

Avatar_small
Garfileo 说:
Aug 07, 2011 03:58:40 PM

这个扩展现在并入 ibus-gjs 了?

Avatar_small
Mike Ma 说:
Aug 10, 2011 09:56:53 PM

@Mike Ma: 其实我的主要问题是拷贝到 .local/share/gnome-shell/extensions 里面不起作用。。

Avatar_small
Garfileo 说:
Aug 11, 2011 12:18:58 AM

@Mike Ma: 打开 metadata.json,将其中的 uuid 值作为目录名试试看吧。另外你也需要核对一下 gnome shell 的版本。

Avatar_small
Mike Ma 说:
Aug 11, 2011 09:25:24 AM

@Garfileo: 还要版本?我现在版本是3.1.4,不过确实我装的所有插件都失效了。。

Avatar_small
Mike Ma 说:
Aug 11, 2011 09:43:45 AM

@Garfileo: 非常感谢,现在已经改了版本,也删除了那个visibleInOverview,现在立马好多了!!

比原来的ibus舒服多了!

Avatar_small
Yangtse Su 说:
Sep 08, 2011 10:10:07 PM

1 状态栏显示不出来使用的具体是那个输入法
2 我怎么感觉没有中文
3 没有图标,菜单看不出来是做什么的。 在我这里菜单点了确实也没作用。
4 还没想好

hjjandy 说:
Sep 28, 2011 04:49:51 AM

楼主的东西确实是个好东西,比以前的输入法外表长得好看多了。但是正如Yangtse Su所讲的,状态栏不显示输入法名字而只显示zh,另外就是点击出来的菜单上的那些东西(以前在语言栏上的那些东西)点击了也没有用,这点有点闹心。

yalding 说:
Mar 12, 2012 12:52:28 AM

我在extensions.gnome.org下载的这个扩展,但是对我而言那个框框太小了……这种扩展基本上我是一头雾水,能否告知小弟在哪里可以改动这个?万分感谢!

yalding 说:
Mar 12, 2012 12:53:04 AM

@yalding: 啊,我的意思是选字框里面的字体太小了。

Head_small
Tiger Soldier 说:
Mar 12, 2012 12:59:03 PM

@yalding: 没得改,使用系统的字体

yalding 说:
Mar 12, 2012 01:09:55 PM

@Tiger Soldier: 这样啊,那就没办法了,只能自己去适应了。不过我碰上更严峻的问题是无论您的这个插件还是ibus-gjs都会导致输入法在emacs中不可用。这个有任何办法可以解决吗?

yalding 说:
Mar 12, 2012 10:45:15 PM

今天重启以后发现问题解决了!昨天不过是白费功夫而已……
伤感……
p.s.多谢你的解惑,现在正在自己的小屏幕上努力适应字体大小ing~

Head_small
Tiger Soldier 说:
Mar 12, 2012 11:10:38 PM

@yalding: emacs中不可用,是整个ibus不可用。大部分原因是在于你重启了ibus,但是在重启时没打开xim支持。启动ibus时加上--xim参数,然后重启emacs就行

yalding 说:
Mar 12, 2012 11:23:31 PM

这样啊,模模糊糊有点明白的样子+_+,小弟现在对此知识有限,见谅则个~现在基本上得到了一个可以使用的桌面,不得不说gnome shell很对我胃口呢~继续为了不折腾而折腾中~学习的路上能够得到大家的帮助实在是意见令人感激的事情。永远满怀感激!

William 说:
Aug 26, 2012 07:36:35 AM

请问 ubuntu 这个吗?

谢谢!

William 说:
Aug 26, 2012 07:43:49 AM

请问Ubuntu 12.04下,发现一个问题,就是我的ibus icon 会抖动几秒中,然后显示出不太正常的样子,这个问题是否打上你写的补丁可以解决?


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter