Enabled dconf.
Updated ibus-HEAD.patch - Fixed Bug 618229 - engine setup buton on ibus-setup. Removed ibus-711632-fedora-fallback-icon.patch as upstreamed. Updated ibus-xx-bridge-hotkey.patch - Removed Enable/Disable buttons on ibus-setup
This commit is contained in:
parent
481f2eee59
commit
150c9ee508
1
.gitignore
vendored
1
.gitignore
vendored
@ -30,3 +30,4 @@ ibus-1.3.6.tar.gz
|
||||
/ibus-gjs-3.2.1.20111104.tar.gz
|
||||
/ibus-gjs-3.0.2.20111118.tar.gz
|
||||
/ibus-gjs-3.2.1.20111118.tar.gz
|
||||
/ibus-gjs-3.2.1.20111128.tar.gz
|
||||
|
@ -563,7 +563,7 @@ diff --git a/setup/main.py b/setup/main.py
|
||||
index 7f4a040..095084b 100644
|
||||
--- a/setup/main.py
|
||||
+++ b/setup/main.py
|
||||
@@ -92,6 +92,7 @@ class Setup(object):
|
||||
@@ -91,6 +91,7 @@ class Setup(object):
|
||||
# keyboard shortcut
|
||||
# trigger
|
||||
self.__config = self.__bus.get_config()
|
||||
@ -571,7 +571,7 @@ index 7f4a040..095084b 100644
|
||||
shortcuts = self.__config.get_value(
|
||||
"general/hotkey", "trigger",
|
||||
ibus.CONFIG_GENERAL_SHORTCUT_TRIGGER_DEFAULT)
|
||||
@@ -213,15 +214,22 @@ class Setup(object):
|
||||
@@ -212,15 +213,22 @@ class Setup(object):
|
||||
self.__checkbutton_use_global_engine.connect("toggled", self.__checkbutton_use_global_engine_toggled_cb)
|
||||
|
||||
# init engine page
|
||||
@ -599,7 +599,7 @@ index 7f4a040..095084b 100644
|
||||
|
||||
self.__treeview = self.__builder.get_object("treeview_engines")
|
||||
self.__treeview.set_engines(engines)
|
||||
@@ -247,7 +255,8 @@ class Setup(object):
|
||||
@@ -248,7 +256,8 @@ class Setup(object):
|
||||
def __combobox_notify_active_engine_cb(self, combobox, property):
|
||||
engine = self.__combobox.get_active_engine()
|
||||
button = self.__builder.get_object("button_engine_add")
|
||||
@ -607,9 +607,9 @@ index 7f4a040..095084b 100644
|
||||
+ button.set_sensitive(engine != None and \
|
||||
+ engine.name not in map(lambda e: e.name, self.__treeview.get_engines()))
|
||||
|
||||
def __treeview_notify_cb(self, treeview, property):
|
||||
if property.name != "active-engine" and property.name != "engines":
|
||||
@@ -265,6 +274,26 @@ class Setup(object):
|
||||
def __get_engine_setup_exec_args(self, engine):
|
||||
args = []
|
||||
@@ -290,6 +299,26 @@ class Setup(object):
|
||||
engine_names = map(lambda e: e.name, engines)
|
||||
self.__config.set_list("general", "preload_engines", engine_names, "s")
|
||||
|
||||
@ -636,9 +636,9 @@ index 7f4a040..095084b 100644
|
||||
def __button_engine_add_cb(self, button):
|
||||
engine = self.__combobox.get_active_engine()
|
||||
self.__treeview.append_engine(engine)
|
||||
@@ -276,6 +305,32 @@ class Setup(object):
|
||||
about.run()
|
||||
about.destroy()
|
||||
@@ -319,6 +348,32 @@ class Setup(object):
|
||||
del self.__engine_setup_exec_list[name]
|
||||
self.__engine_setup_exec_list[name] = os.spawnl(os.P_NOWAIT, *args)
|
||||
|
||||
+ def __checkbutton_preload_engine_mode_toggled_cb(self, button):
|
||||
+ if button.get_active():
|
||||
@ -669,7 +669,7 @@ index 7f4a040..095084b 100644
|
||||
def __init_bus(self):
|
||||
try:
|
||||
self.__bus = ibus.Bus()
|
||||
@@ -466,7 +521,11 @@ class Setup(object):
|
||||
@@ -509,7 +564,11 @@ class Setup(object):
|
||||
self.__config.set_value("general", "use_global_engine", value)
|
||||
|
||||
def __config_value_changed_cb(self, bus, section, name, value):
|
||||
@ -686,7 +686,7 @@ diff --git a/setup/setup.ui b/setup/setup.ui
|
||||
index f1e6d0b..562c091 100644
|
||||
--- a/setup/setup.ui
|
||||
+++ b/setup/setup.ui
|
||||
@@ -582,7 +582,22 @@
|
||||
@@ -585,7 +585,22 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
@ -710,7 +710,7 @@ index f1e6d0b..562c091 100644
|
||||
<property name="visible">True</property>
|
||||
<child>
|
||||
<object class="GtkAlignment" id="alignment6">
|
||||
@@ -733,7 +748,7 @@
|
||||
@@ -752,7 +767,7 @@
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
@ -719,7 +719,7 @@ index f1e6d0b..562c091 100644
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
@@ -772,7 +787,7 @@ You may use up/down buttons to change it.</i></small></property>
|
||||
@@ -791,7 +806,7 @@ You may use up/down buttons to change it
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
|
@ -1,42 +0,0 @@
|
||||
--- ibus/ibus/_config.py.in.orig 2011-11-01 18:32:09.235894859 +0900
|
||||
+++ ibus/ibus/_config.py.in 2011-11-02 10:26:40.672355868 +0900
|
||||
@@ -47,10 +47,14 @@ def get_license():
|
||||
|
||||
def get_ICON_KEYBOARD():
|
||||
import gtk
|
||||
- theme = gtk.icon_theme_get_default()
|
||||
icon = '@IBUS_ICON_KEYBOARD@'
|
||||
+ fallback_icon = 'ibus-keyboard'
|
||||
+ settings = gtk.settings_get_default()
|
||||
+ if settings.get_property('gtk-icon-theme-name') != 'gnome':
|
||||
+ icon = fallback_icon
|
||||
+ theme = gtk.icon_theme_get_default()
|
||||
if not theme.lookup_icon(icon, 18, 0):
|
||||
- icon = 'ibus-keyboard'
|
||||
+ icon = fallback_icon
|
||||
return icon
|
||||
|
||||
def use_bridge_hotkey():
|
||||
--- ibus/ui/gtk/main.py.orig 2011-04-25 12:33:39.296999692 +0900
|
||||
+++ ibus/ui/gtk/main.py 2011-06-08 11:53:44.027232075 +0900
|
||||
@@ -86,6 +86,9 @@ class UIApplication:
|
||||
pass
|
||||
|
||||
def launch_panel(replace):
|
||||
+ settings = gtk.settings_get_default()
|
||||
+ if settings.get_property('gtk-fallback-icon-theme') == None:
|
||||
+ settings.set_property('gtk-fallback-icon-theme', 'gnome')
|
||||
# gtk.settings_get_default().props.gtk_theme_name = "/home/phuang/.themes/aud-Default/gtk-2.0/gtkrc"
|
||||
# gtk.rc_parse("./themes/default/gtkrc")
|
||||
UIApplication(replace).run()
|
||||
--- ibus/ui/gtk/panel.py.orig 2011-11-01 18:31:49.845898037 +0900
|
||||
+++ ibus/ui/gtk/panel.py 2011-11-01 18:31:34.480900329 +0900
|
||||
@@ -654,7 +660,7 @@ class Panel(ibus.PanelBase):
|
||||
menu = gtk.Menu()
|
||||
item = gtk.ImageMenuItem(_("No input window"))
|
||||
size = gtk.icon_size_lookup(gtk.ICON_SIZE_MENU)
|
||||
- item.set_image(_icon.IconWidget("gtk-info", size[0]))
|
||||
+ item.set_image(_icon.IconWidget("gtk-dialog-info", size[0]))
|
||||
menu.add(item)
|
||||
menu.show_all()
|
||||
else:
|
469
ibus-HEAD.patch
469
ibus-HEAD.patch
@ -249,11 +249,15 @@ index 327a5d9..b6ca12e 100644
|
||||
--
|
||||
1.7.6.4
|
||||
|
||||
From 05f9556278f791bacc0f1019427f8575fa39c9db Mon Sep 17 00:00:00 2001
|
||||
From 02893693fc0a8692a6242b0be6dc8f09e14c1c54 Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Wed, 2 Nov 2011 10:47:55 +0900
|
||||
Date: Wed, 2 Nov 2011 14:17:50 +0900
|
||||
Subject: [PATCH] Rerotate next/previous engines without global engine.
|
||||
|
||||
BUG=http://code.google.com/p/ibus/issues/detail?id=1331
|
||||
TEST=Linux desktop
|
||||
|
||||
Review URL: http://codereview.appspot.com/5321067
|
||||
---
|
||||
bus/ibusimpl.c | 31 ++++++++++++++++++++++++++++---
|
||||
1 files changed, 28 insertions(+), 3 deletions(-)
|
||||
@ -323,17 +327,95 @@ index 0a4f3fb..059d660 100644
|
||||
--
|
||||
1.7.6.4
|
||||
|
||||
From a8c21dd867f4a9e1c37cae4f6509af1491c5fc96 Mon Sep 17 00:00:00 2001
|
||||
From 613e01520f27a53c947fed476d99aeb8ae1ae39b Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Thu, 17 Nov 2011 15:10:05 +0900
|
||||
Subject: [PATCH] Use ibus_input_context_process_key_event_async in ibus-x11
|
||||
Date: Tue, 8 Nov 2011 10:48:42 +0900
|
||||
Subject: [PATCH] Fixed fallback icons.
|
||||
|
||||
1. Set 'ibus-keyboard' icon for IME off in non-GNOME theme.
|
||||
People would think the application icon for non-GNONE classic desktop.
|
||||
The themed icon is applied for GNOME icon theme only.
|
||||
|
||||
2. Set gtk-fallback-icon-theme as 'gnome'
|
||||
ibus gtk panel needs gtk stock icons but some desktop does not load GNOME
|
||||
icon theme. I assigned 'gnome' for gtk-fallback-icon-theme if it's none.
|
||||
|
||||
3. Use 'gtk-dialog-info' if 'gtk-info' is not found.
|
||||
It seems the latest gtk2 does not have 'gtk-info' icon via pygtk2.
|
||||
|
||||
BUG=RH#711632
|
||||
TEST=Linux desktop
|
||||
|
||||
Review URL: http://codereview.appspot.com/5320066
|
||||
---
|
||||
ibus/_config.py.in | 8 ++++++--
|
||||
ui/gtk/main.py | 3 +++
|
||||
ui/gtk/panel.py | 2 +-
|
||||
3 files changed, 10 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/ibus/_config.py.in b/ibus/_config.py.in
|
||||
index a830136..098d805 100644
|
||||
--- a/ibus/_config.py.in
|
||||
+++ b/ibus/_config.py.in
|
||||
@@ -45,10 +45,14 @@ def get_license():
|
||||
|
||||
def get_ICON_KEYBOARD():
|
||||
import gtk
|
||||
- theme = gtk.icon_theme_get_default()
|
||||
icon = '@IBUS_ICON_KEYBOARD@'
|
||||
+ fallback_icon = 'ibus-keyboard'
|
||||
+ settings = gtk.settings_get_default()
|
||||
+ if settings.get_property('gtk-icon-theme-name') != 'gnome':
|
||||
+ return fallback_icon
|
||||
+ theme = gtk.icon_theme_get_default()
|
||||
if not theme.lookup_icon(icon, 18, 0):
|
||||
- icon = 'ibus-keyboard'
|
||||
+ return fallback_icon
|
||||
return icon
|
||||
|
||||
ISOCODES_PREFIX='@ISOCODES_PREFIX@'
|
||||
diff --git a/ui/gtk/main.py b/ui/gtk/main.py
|
||||
index 0412aea..cadcc96 100644
|
||||
--- a/ui/gtk/main.py
|
||||
+++ b/ui/gtk/main.py
|
||||
@@ -86,6 +86,9 @@ class UIApplication:
|
||||
pass
|
||||
|
||||
def launch_panel(replace):
|
||||
+ settings = gtk.settings_get_default()
|
||||
+ if settings.get_property('gtk-fallback-icon-theme') == None:
|
||||
+ settings.set_property('gtk-fallback-icon-theme', 'gnome')
|
||||
# gtk.settings_get_default().props.gtk_theme_name = "/home/phuang/.themes/aud-Default/gtk-2.0/gtkrc"
|
||||
# gtk.rc_parse("./themes/default/gtkrc")
|
||||
UIApplication(replace).run()
|
||||
diff --git a/ui/gtk/panel.py b/ui/gtk/panel.py
|
||||
index 90be1d5..f71a36d 100644
|
||||
--- a/ui/gtk/panel.py
|
||||
+++ b/ui/gtk/panel.py
|
||||
@@ -477,7 +477,7 @@ class Panel(ibus.PanelBase):
|
||||
menu = gtk.Menu()
|
||||
item = gtk.ImageMenuItem(_("No input window"))
|
||||
size = gtk.icon_size_lookup(gtk.ICON_SIZE_MENU)
|
||||
- item.set_image(_icon.IconWidget("gtk-info", size[0]))
|
||||
+ item.set_image(_icon.IconWidget("gtk-dialog-info", size[0]))
|
||||
menu.add(item)
|
||||
menu.show_all()
|
||||
else:
|
||||
--
|
||||
1.7.6.4
|
||||
|
||||
From c73b2d449e21ae0cb87845e34abadd2e54e1e423 Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Mon, 21 Nov 2011 11:00:09 +0900
|
||||
Subject: [PATCH] Use ibus_input_context_process_key_event_async in
|
||||
ibus-x11
|
||||
|
||||
---
|
||||
client/x11/main.c | 115 ++++++++++++++++++++++++++++++++++++++++++++---------
|
||||
1 files changed, 96 insertions(+), 19 deletions(-)
|
||||
client/x11/main.c | 113 ++++++++++++++++++++++++++++++++++++++++++++---------
|
||||
1 files changed, 94 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/client/x11/main.c b/client/x11/main.c
|
||||
index 0ba826c..8611bfc 100644
|
||||
index 0ba826c..58069fc 100644
|
||||
--- a/client/x11/main.c
|
||||
+++ b/client/x11/main.c
|
||||
@@ -116,6 +116,8 @@ static gint g_debug_level = 0;
|
||||
@ -371,13 +453,13 @@ index 0ba826c..8611bfc 100644
|
||||
+ if (retval == FALSE) {
|
||||
+ IMForwardEvent (_xims, (XPointer) pfe);
|
||||
+ }
|
||||
+ g_free (pfe);
|
||||
+ g_slice_free (IMForwardEventStruct, pfe);
|
||||
+}
|
||||
+
|
||||
static int
|
||||
xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
|
||||
{
|
||||
@@ -469,32 +496,61 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
|
||||
@@ -469,30 +496,57 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
|
||||
if (event.type == GDK_KEY_RELEASE) {
|
||||
event.state |= IBUS_RELEASE_MASK;
|
||||
}
|
||||
@ -431,13 +513,13 @@ index 0ba826c..8611bfc 100644
|
||||
+ else {
|
||||
+ IMForwardEventStruct *pfe;
|
||||
+
|
||||
+ pfe = g_new0 (IMForwardEventStruct, 1);
|
||||
+ pfe = g_slice_new0 (IMForwardEventStruct);
|
||||
+ pfe->major_code = XIM_FORWARD_EVENT;
|
||||
+ pfe->icid = x11ic->icid;
|
||||
+ pfe->connect_id = x11ic->connect_id;
|
||||
+ pfe->sync_bit = 0;
|
||||
+ pfe->serial_number = 0L;
|
||||
+ memcpy (&pfe->event, xevent, sizeof (XKeyEvent));
|
||||
+ pfe->event = call_data->event;
|
||||
+
|
||||
+ ibus_input_context_process_key_event_async (
|
||||
+ x11ic->context,
|
||||
@ -453,12 +535,8 @@ index 0ba826c..8611bfc 100644
|
||||
+ return retval;
|
||||
}
|
||||
|
||||
+#undef _XIM_COPY_XKEYEVENT
|
||||
+
|
||||
|
||||
static int
|
||||
xim_open (XIMS xims, IMOpenStruct *call_data)
|
||||
@@ -897,6 +953,25 @@ _context_disabled_cb (IBusInputContext *context,
|
||||
@@ -897,6 +951,25 @@ _context_disabled_cb (IBusInputContext *context,
|
||||
_xim_preedit_end (_xims, x11ic);
|
||||
}
|
||||
|
||||
@ -484,7 +562,7 @@ index 0ba826c..8611bfc 100644
|
||||
static void
|
||||
_init_ibus (void)
|
||||
{
|
||||
@@ -909,6 +984,8 @@ _init_ibus (void)
|
||||
@@ -909,6 +982,8 @@ _init_ibus (void)
|
||||
|
||||
g_signal_connect (_bus, "disconnected",
|
||||
G_CALLBACK (_bus_disconnected_cb), NULL);
|
||||
@ -496,3 +574,358 @@ index 0ba826c..8611bfc 100644
|
||||
--
|
||||
1.7.6.4
|
||||
|
||||
From e7a722948025948f39ac8e7f9d5527a79f23c7ff Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Fri, 25 Nov 2011 17:19:53 +0900
|
||||
Subject: [PATCH] Add the engine preference button on ibus-setup
|
||||
|
||||
The new preference button launches $libexecdir/ibus-setup- + engine.name
|
||||
by default. The engine is IBusEngineDesc.
|
||||
If engine.setup has a value, the button launches it instead.
|
||||
---
|
||||
ibus/enginedesc.py | 11 +++++++++--
|
||||
setup/ibus-setup.in | 2 ++
|
||||
setup/main.py | 46 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||
setup/setup.ui | 16 ++++++++++++++++
|
||||
src/ibusenginedesc.c | 31 +++++++++++++++++++++++++++++++
|
||||
src/ibusenginedesc.h | 12 ++++++++++--
|
||||
6 files changed, 114 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/ibus/enginedesc.py b/ibus/enginedesc.py
|
||||
index 3ca7f24..055a3a0 100644
|
||||
--- a/ibus/enginedesc.py
|
||||
+++ b/ibus/enginedesc.py
|
||||
@@ -31,7 +31,7 @@ from serializable import *
|
||||
class EngineDesc(Serializable):
|
||||
__gtype_name__ = "PYIBusEngineDesc"
|
||||
__NAME__ = "IBusEngineDesc"
|
||||
- def __init__(self, name="", longname="", description="", language="", license="", author="", icon="", layout="", hotkeys="", rank=0, symbol=""):
|
||||
+ def __init__(self, name="", longname="", description="", language="", license="", author="", icon="", layout="", hotkeys="", rank=0, symbol="", setup=""):
|
||||
super(EngineDesc, self).__init__()
|
||||
self.__name = name
|
||||
self.__longname = longname
|
||||
@@ -44,6 +44,7 @@ class EngineDesc(Serializable):
|
||||
self.__rank = rank
|
||||
self.__hotkeys = hotkeys
|
||||
self.__symbol = symbol
|
||||
+ self.__setup = setup
|
||||
|
||||
def get_name(self):
|
||||
return self.__name
|
||||
@@ -78,6 +79,9 @@ class EngineDesc(Serializable):
|
||||
def get_symbol(self):
|
||||
return self.__symbol
|
||||
|
||||
+ def get_setup(self):
|
||||
+ return self.__setup
|
||||
+
|
||||
name = property(get_name)
|
||||
longname = property(get_longname)
|
||||
description = property(get_description)
|
||||
@@ -89,6 +93,7 @@ class EngineDesc(Serializable):
|
||||
rank = property(get_rank)
|
||||
hotkeys = property(get_hotkeys)
|
||||
symbol = property(get_symbol)
|
||||
+ setup = property(get_setup)
|
||||
|
||||
def serialize(self, struct):
|
||||
super(EngineDesc, self).serialize(struct)
|
||||
@@ -103,6 +108,7 @@ class EngineDesc(Serializable):
|
||||
struct.append(dbus.UInt32(self.__rank))
|
||||
struct.append(dbus.String(self.__hotkeys))
|
||||
struct.append(dbus.String(self.__symbol))
|
||||
+ struct.append(dbus.String(self.__setup))
|
||||
|
||||
def deserialize(self, struct):
|
||||
super(EngineDesc, self).deserialize(struct)
|
||||
@@ -117,9 +123,10 @@ class EngineDesc(Serializable):
|
||||
self.__rank = struct.pop(0)
|
||||
self.__hotkeys = struct.pop(0)
|
||||
self.__symbol = struct.pop(0)
|
||||
+ self.__setup = struct.pop(0)
|
||||
|
||||
def test():
|
||||
- engine = EngineDesc("Hello", "", "", "", "", "", "", "", "", 0, "")
|
||||
+ engine = EngineDesc("Hello", "", "", "", "", "", "", "", "", 0, "", "")
|
||||
value = serialize_object(engine)
|
||||
engine = deserialize_object(value)
|
||||
|
||||
diff --git a/setup/ibus-setup.in b/setup/ibus-setup.in
|
||||
index 72bc1a4..f3c3730 100644
|
||||
--- a/setup/ibus-setup.in
|
||||
+++ b/setup/ibus-setup.in
|
||||
@@ -23,8 +23,10 @@
|
||||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
datarootdir=@datarootdir@
|
||||
+libexecdir=@libexecdir@
|
||||
export IBUS_PREFIX=@prefix@
|
||||
export IBUS_DATAROOTDIR=@datarootdir@
|
||||
export IBUS_LOCALEDIR=@localedir@
|
||||
+export IBUS_LIBEXECDIR=${libexecdir}
|
||||
exec @PYTHON@ @prefix@/share/ibus/setup/main.py $@
|
||||
|
||||
diff --git a/setup/main.py b/setup/main.py
|
||||
index a22bb0c..6c0fb0e 100644
|
||||
--- a/setup/main.py
|
||||
+++ b/setup/main.py
|
||||
@@ -238,6 +238,10 @@ class Setup(object):
|
||||
button = self.__builder.get_object("button_engine_about")
|
||||
button.connect("clicked", self.__button_engine_about_cb)
|
||||
|
||||
+ self.__engine_setup_exec_list = {}
|
||||
+ button = self.__builder.get_object("button_engine_preferences")
|
||||
+ button.connect("clicked", self.__button_engine_preferences_cb)
|
||||
+
|
||||
self.__combobox.connect("notify::active-engine", self.__combobox_notify_active_engine_cb)
|
||||
self.__treeview.connect("notify", self.__treeview_notify_cb)
|
||||
|
||||
@@ -246,6 +250,24 @@ class Setup(object):
|
||||
button = self.__builder.get_object("button_engine_add")
|
||||
button.set_sensitive(engine != None and engine not in self.__treeview.get_engines())
|
||||
|
||||
+ def __get_engine_setup_exec_args(self, engine):
|
||||
+ args = []
|
||||
+ if engine == None:
|
||||
+ return args
|
||||
+ setup = str(engine.setup)
|
||||
+ if len(setup) != 0:
|
||||
+ args = setup.split()
|
||||
+ args.insert(1, path.basename(args[0]))
|
||||
+ return args
|
||||
+ name = str(engine.name)
|
||||
+ libexecdir = os.environ['IBUS_LIBEXECDIR']
|
||||
+ setup_path = (libexecdir + '/' + 'ibus-setup-' if libexecdir != None \
|
||||
+ else 'ibus-setup-') + name.split(':')[0]
|
||||
+ if path.exists(setup_path):
|
||||
+ args.append(setup_path)
|
||||
+ args.append(path.basename(setup_path))
|
||||
+ return args
|
||||
+
|
||||
def __treeview_notify_cb(self, treeview, property):
|
||||
if property.name != "active-engine" and property.name != "engines":
|
||||
return
|
||||
@@ -258,6 +280,12 @@ class Setup(object):
|
||||
self.__builder.get_object("button_engine_up").set_sensitive(engine not in engines[:1])
|
||||
self.__builder.get_object("button_engine_down").set_sensitive(engine not in engines[-1:])
|
||||
|
||||
+ obj = self.__builder.get_object("button_engine_preferences")
|
||||
+ if len(self.__get_engine_setup_exec_args(engine)) != 0:
|
||||
+ obj.set_sensitive(True)
|
||||
+ else:
|
||||
+ obj.set_sensitive(False)
|
||||
+
|
||||
if property.name == "engines":
|
||||
engine_names = map(lambda e: e.name, engines)
|
||||
self.__config.set_list("general", "preload_engines", engine_names, "s")
|
||||
@@ -273,6 +301,24 @@ class Setup(object):
|
||||
about.run()
|
||||
about.destroy()
|
||||
|
||||
+ def __button_engine_preferences_cb(self, button):
|
||||
+ engine = self.__treeview.get_active_engine()
|
||||
+ args = self.__get_engine_setup_exec_args(engine)
|
||||
+ if len(args) == 0:
|
||||
+ return
|
||||
+ name = engine.name
|
||||
+ if name in self.__engine_setup_exec_list.keys():
|
||||
+ try:
|
||||
+ wpid, sts = os.waitpid(self.__engine_setup_exec_list[name],
|
||||
+ os.WNOHANG)
|
||||
+ # the setup is still running.
|
||||
+ if wpid == 0:
|
||||
+ return
|
||||
+ except OSError:
|
||||
+ pass
|
||||
+ del self.__engine_setup_exec_list[name]
|
||||
+ self.__engine_setup_exec_list[name] = os.spawnl(os.P_NOWAIT, *args)
|
||||
+
|
||||
def __init_bus(self):
|
||||
try:
|
||||
self.__bus = ibus.Bus()
|
||||
diff --git a/setup/setup.ui b/setup/setup.ui
|
||||
index 0a69df8..c7ff564 100644
|
||||
--- a/setup/setup.ui
|
||||
+++ b/setup/setup.ui
|
||||
@@ -726,6 +726,22 @@
|
||||
<property name="position">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
+ <child>
|
||||
+ <object class="GtkButton" id="button_engine_preferences">
|
||||
+ <property name="label">gtk-preferences</property>
|
||||
+ <property name="visible">True</property>
|
||||
+ <property name="sensitive">False</property>
|
||||
+ <property name="can_focus">True</property>
|
||||
+ <property name="receives_default">True</property>
|
||||
+ <property name="tooltip_text" translatable="yes">Show setup of the selected input method</property>
|
||||
+ <property name="use_stock">True</property>
|
||||
+ </object>
|
||||
+ <packing>
|
||||
+ <property name="expand">False</property>
|
||||
+ <property name="fill">False</property>
|
||||
+ <property name="position">5</property>
|
||||
+ </packing>
|
||||
+ </child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
diff --git a/src/ibusenginedesc.c b/src/ibusenginedesc.c
|
||||
index fa3a768..48ecb07 100644
|
||||
--- a/src/ibusenginedesc.c
|
||||
+++ b/src/ibusenginedesc.c
|
||||
@@ -40,6 +40,7 @@ enum {
|
||||
PROP_RANK,
|
||||
PROP_HOTKEYS,
|
||||
PROP_SYMBOL,
|
||||
+ PROP_SETUP,
|
||||
};
|
||||
|
||||
|
||||
@@ -56,6 +57,7 @@ struct _IBusEngineDescPrivate {
|
||||
guint rank;
|
||||
gchar *hotkeys;
|
||||
gchar *symbol;
|
||||
+ gchar *setup;
|
||||
};
|
||||
|
||||
#define IBUS_ENGINE_DESC_GET_PRIVATE(o) \
|
||||
@@ -247,6 +249,19 @@ ibus_engine_desc_class_init (IBusEngineDescClass *class)
|
||||
"The icon symbol chars of engine description",
|
||||
"",
|
||||
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
|
||||
+
|
||||
+ /**
|
||||
+ * IBusEngineDesc:setup:
|
||||
+ *
|
||||
+ * The exec lists of the engine setup command
|
||||
+ */
|
||||
+ g_object_class_install_property (gobject_class,
|
||||
+ PROP_SETUP,
|
||||
+ g_param_spec_string ("setup",
|
||||
+ "setup args",
|
||||
+ "The exec lists of the engine setup command",
|
||||
+ "",
|
||||
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -265,6 +280,7 @@ ibus_engine_desc_init (IBusEngineDesc *desc)
|
||||
desc->priv->rank = 0;
|
||||
desc->priv->hotkeys = NULL;
|
||||
desc->priv->symbol = NULL;
|
||||
+ desc->priv->setup = NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -280,6 +296,7 @@ ibus_engine_desc_destroy (IBusEngineDesc *desc)
|
||||
g_free (desc->priv->layout);
|
||||
g_free (desc->priv->hotkeys);
|
||||
g_free (desc->priv->symbol);
|
||||
+ g_free (desc->priv->setup);
|
||||
|
||||
IBUS_OBJECT_CLASS (ibus_engine_desc_parent_class)->destroy (IBUS_OBJECT (desc));
|
||||
}
|
||||
@@ -334,6 +351,10 @@ ibus_engine_desc_set_property (IBusEngineDesc *desc,
|
||||
g_assert (desc->priv->symbol == NULL);
|
||||
desc->priv->symbol = g_value_dup_string (value);
|
||||
break;
|
||||
+ case PROP_SETUP:
|
||||
+ g_assert (desc->priv->setup == NULL);
|
||||
+ desc->priv->setup = g_value_dup_string (value);
|
||||
+ break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (desc, prop_id, pspec);
|
||||
}
|
||||
@@ -379,6 +400,9 @@ ibus_engine_desc_get_property (IBusEngineDesc *desc,
|
||||
case PROP_SYMBOL:
|
||||
g_value_set_string (value, ibus_engine_desc_get_symbol (desc));
|
||||
break;
|
||||
+ case PROP_SETUP:
|
||||
+ g_value_set_string (value, ibus_engine_desc_get_setup (desc));
|
||||
+ break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (desc, prop_id, pspec);
|
||||
}
|
||||
@@ -410,6 +434,7 @@ ibus_engine_desc_serialize (IBusEngineDesc *desc,
|
||||
g_variant_builder_add (builder, "u", desc->priv->rank);
|
||||
g_variant_builder_add (builder, "s", NOTNULL (desc->priv->hotkeys));
|
||||
g_variant_builder_add (builder, "s", NOTNULL (desc->priv->symbol));
|
||||
+ g_variant_builder_add (builder, "s", NOTNULL (desc->priv->setup));
|
||||
#undef NOTNULL
|
||||
|
||||
return TRUE;
|
||||
@@ -439,6 +464,7 @@ ibus_engine_desc_deserialize (IBusEngineDesc *desc,
|
||||
g_variant_get_child (variant, retval++, "u", &desc->priv->rank);
|
||||
g_variant_get_child (variant, retval++, "s", &desc->priv->hotkeys);
|
||||
g_variant_get_child (variant, retval++, "s", &desc->priv->symbol);
|
||||
+ g_variant_get_child (variant, retval++, "s", &desc->priv->setup);
|
||||
|
||||
return retval;
|
||||
}
|
||||
@@ -464,6 +490,7 @@ ibus_engine_desc_copy (IBusEngineDesc *dest,
|
||||
dest->priv->rank = src->priv->rank;
|
||||
dest->priv->hotkeys = g_strdup (src->priv->hotkeys);
|
||||
dest->priv->symbol = g_strdup (src->priv->symbol);
|
||||
+ dest->priv->setup = g_strdup (src->priv->setup);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -502,6 +529,7 @@ ibus_engine_desc_output (IBusEngineDesc *desc,
|
||||
OUTPUT_ENTRY_1(layout);
|
||||
OUTPUT_ENTRY_1(hotkeys);
|
||||
OUTPUT_ENTRY_1(symbol);
|
||||
+ OUTPUT_ENTRY_1(setup);
|
||||
g_string_append_indent (output, indent + 1);
|
||||
g_string_append_printf (output, "<rank>%u</rank>\n", desc->priv->rank);
|
||||
#undef OUTPUT_ENTRY
|
||||
@@ -536,6 +564,7 @@ ibus_engine_desc_parse_xml_node (IBusEngineDesc *desc,
|
||||
PARSE_ENTRY_1(layout);
|
||||
PARSE_ENTRY_1(hotkeys);
|
||||
PARSE_ENTRY_1(symbol);
|
||||
+ PARSE_ENTRY_1(setup);
|
||||
#undef PARSE_ENTRY
|
||||
#undef PARSE_ENTRY_1
|
||||
if (g_strcmp0 (sub_node->name , "rank") == 0) {
|
||||
@@ -565,6 +594,7 @@ IBUS_ENGINE_DESC_GET_PROPERTY (layout, const gchar *)
|
||||
IBUS_ENGINE_DESC_GET_PROPERTY (rank, guint)
|
||||
IBUS_ENGINE_DESC_GET_PROPERTY (hotkeys, const gchar *)
|
||||
IBUS_ENGINE_DESC_GET_PROPERTY (symbol, const gchar *)
|
||||
+IBUS_ENGINE_DESC_GET_PROPERTY (setup, const gchar *)
|
||||
#undef IBUS_ENGINE_DESC_GET_PROPERTY
|
||||
|
||||
IBusEngineDesc *
|
||||
@@ -613,6 +643,7 @@ ibus_engine_desc_new_varargs (const gchar *first_property_name, ...)
|
||||
g_assert (desc->priv->layout);
|
||||
g_assert (desc->priv->hotkeys);
|
||||
g_assert (desc->priv->symbol);
|
||||
+ g_assert (desc->priv->setup);
|
||||
|
||||
return desc;
|
||||
}
|
||||
diff --git a/src/ibusenginedesc.h b/src/ibusenginedesc.h
|
||||
index 76a7adc..928743e 100644
|
||||
--- a/src/ibusenginedesc.h
|
||||
+++ b/src/ibusenginedesc.h
|
||||
@@ -255,8 +255,16 @@ const gchar *ibus_engine_desc_get_hotkeys (IBusEngineDesc *info);
|
||||
*
|
||||
* Return the symbol property in IBusEngineDesc. It should not be freed.
|
||||
*/
|
||||
-const gchar *ibus_engine_desc_get_symbol
|
||||
- (IBusEngineDesc *info);
|
||||
+const gchar *ibus_engine_desc_get_symbol (IBusEngineDesc *info);
|
||||
+
|
||||
+/**
|
||||
+ * ibus_engine_desc_get_setup:
|
||||
+ * @info: An IBusEngineDesc
|
||||
+ * @returns: setup property in IBusEngineDesc
|
||||
+ *
|
||||
+ * Return the setup property in IBusEngineDesc. It should not be freed.
|
||||
+ */
|
||||
+const gchar *ibus_engine_desc_get_setup (IBusEngineDesc *info);
|
||||
|
||||
/**
|
||||
* ibus_engine_desc_output:
|
||||
--
|
||||
1.7.6.4
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
From 1f5b2a32bf2ab762d293fb493ca355f3eb21ae48 Mon Sep 17 00:00:00 2001
|
||||
From 18ad10e6dd89a0327fa29535f03fa51b953e7635 Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Fri, 4 Nov 2011 18:54:23 +0900
|
||||
Date: Mon, 28 Nov 2011 12:23:06 +0900
|
||||
Subject: [PATCH] Add a bridge hotkey which use prev-next engines instead
|
||||
of on-off.
|
||||
|
||||
@ -13,16 +13,16 @@ Subject: [PATCH] Add a bridge hotkey which use prev-next engines instead
|
||||
bus/registry.h | 10 +
|
||||
configure.ac | 31 ++
|
||||
data/Makefile.am | 6 +-
|
||||
data/ibus.schemas.in | 287 -------------------
|
||||
data/ibus.schemas.in.in | 300 ++++++++++++++++++++
|
||||
data/ibus.schemas.in | 298 -------------------
|
||||
data/ibus.schemas.in.in | 311 ++++++++++++++++++++
|
||||
ibus/_config.py.in | 6 +
|
||||
ibus/inputcontext.py | 17 +-
|
||||
ibus/interface/iinputcontext.py | 7 +-
|
||||
ibus/xkbxml.py.in | 4 +
|
||||
setup/enginecombobox.py | 3 +
|
||||
setup/enginetreeview.py | 8 +-
|
||||
setup/main.py | 24 ++
|
||||
setup/setup.ui | 55 ++++-
|
||||
setup/main.py | 45 +++
|
||||
setup/setup.ui | 64 ++++-
|
||||
src/Makefile.am | 18 +-
|
||||
src/ibushotkey.c | 11 +
|
||||
src/ibushotkey.h | 11 +
|
||||
@ -34,7 +34,7 @@ Subject: [PATCH] Add a bridge hotkey which use prev-next engines instead
|
||||
xkb/Makefile.am | 2 +
|
||||
xkb/ibus-engine-xkb-main.c | 16 +
|
||||
xkb/xkbxml.c | 10 +-
|
||||
29 files changed, 1616 insertions(+), 392 deletions(-)
|
||||
29 files changed, 1653 insertions(+), 407 deletions(-)
|
||||
delete mode 100644 data/ibus.schemas.in
|
||||
create mode 100644 data/ibus.schemas.in.in
|
||||
|
||||
@ -70,7 +70,7 @@ index 074b456..0efaa1b 100644
|
||||
AM_LDADD = \
|
||||
@GOBJECT2_LIBS@ \
|
||||
diff --git a/bus/ibusimpl.c b/bus/ibusimpl.c
|
||||
index 059d660..71bb6f1 100644
|
||||
index 059d660..67761fb 100644
|
||||
--- a/bus/ibusimpl.c
|
||||
+++ b/bus/ibusimpl.c
|
||||
@@ -20,12 +20,17 @@
|
||||
@ -1281,8 +1281,8 @@ index a830136..4c3c980 100644
|
||||
"ISOCODES_PREFIX",
|
||||
"_"
|
||||
)
|
||||
@@ -51,4 +53,8 @@ def get_ICON_KEYBOARD():
|
||||
icon = 'ibus-keyboard'
|
||||
@@ -55,4 +57,8 @@ def get_ICON_KEYBOARD():
|
||||
return fallback_icon
|
||||
return icon
|
||||
|
||||
+def use_bridge_hotkey():
|
||||
@ -1400,19 +1400,16 @@ index f620361..664dc99 100644
|
||||
self.__emit_changed()
|
||||
|
||||
diff --git a/setup/main.py b/setup/main.py
|
||||
index 7f4a040..a22ac78 100644
|
||||
index 7f4a040..a773944 100644
|
||||
--- a/setup/main.py
|
||||
+++ b/setup/main.py
|
||||
@@ -213,6 +213,25 @@ class Setup(object):
|
||||
@@ -213,6 +213,22 @@ class Setup(object):
|
||||
self.__config.get_value("general", "use_global_engine", False))
|
||||
self.__checkbutton_use_global_engine.connect("toggled", self.__checkbutton_use_global_engine_toggled_cb)
|
||||
|
||||
+ # hotkey settings
|
||||
+ if ibus.use_bridge_hotkey():
|
||||
+ label = self.__builder.get_object("label_trigger_hotkey")
|
||||
+ label.set_label(_("Toggle:"))
|
||||
+ label.set_tooltip_text(_("The trigger shortcut keys to toggle "
|
||||
+ "the previous and next input methods"))
|
||||
+ self.__set_bridge_hotkey_labels()
|
||||
+ self.__checkbutton_use_on_off_hotkey = \
|
||||
+ self.__builder.get_object("checkbutton_use_on_off_hotkey")
|
||||
+ self.__checkbutton_use_on_off_hotkey.set_active(
|
||||
@ -1429,7 +1426,7 @@ index 7f4a040..a22ac78 100644
|
||||
# init engine page
|
||||
preload_engine_mode = self.__config.get_value("general",
|
||||
"preload_engine_mode",
|
||||
@@ -519,6 +538,11 @@ class Setup(object):
|
||||
@@ -519,6 +535,35 @@ class Setup(object):
|
||||
value = self.__checkbutton_use_global_engine.get_active()
|
||||
self.__config.set_value("general", "use_global_engine", value)
|
||||
|
||||
@ -1437,15 +1434,47 @@ index 7f4a040..a22ac78 100644
|
||||
+ value = self.__checkbutton_use_on_off_hotkey.get_active()
|
||||
+ self.__config.set_value("general/hotkey", "use_bridge_hotkey",
|
||||
+ not value)
|
||||
+ self.__set_bridge_hotkey_labels()
|
||||
+
|
||||
+ def __set_bridge_hotkey_labels(self):
|
||||
+ label = self.__builder.get_object("label_trigger_hotkey")
|
||||
+ label_enable = self.__builder.get_object("label_enable")
|
||||
+ hbox_enable = self.__builder.get_object("hbox_enable")
|
||||
+ label_disable = self.__builder.get_object("label_disable")
|
||||
+ hbox_disable = self.__builder.get_object("hbox_disable")
|
||||
+ if self.__config.get_value("general/hotkey", "use_bridge_hotkey", True):
|
||||
+ label.set_label(_("Toggle input methods:"))
|
||||
+ label.set_tooltip_text(_("The shortcut keys to toggle "
|
||||
+ "the previous and next input methods"))
|
||||
+ label_enable.hide()
|
||||
+ hbox_enable.hide()
|
||||
+ label_disable.hide()
|
||||
+ hbox_disable.hide()
|
||||
+ else:
|
||||
+ label.set_label(_("Enable or disable:"))
|
||||
+ label.set_tooltip_text(_("The shortcut keys for turning "
|
||||
+ "input method on or off"))
|
||||
+ label_enable.show()
|
||||
+ hbox_enable.show()
|
||||
+ label_disable.show()
|
||||
+ hbox_disable.show()
|
||||
+
|
||||
def __config_value_changed_cb(self, bus, section, name, value):
|
||||
if section == 'general' and name == 'preload_engines':
|
||||
engines = self.__get_engine_descs_from_names(value)
|
||||
diff --git a/setup/setup.ui b/setup/setup.ui
|
||||
index f1e6d0b..77714a7 100644
|
||||
index f1e6d0b..671b84c 100644
|
||||
--- a/setup/setup.ui
|
||||
+++ b/setup/setup.ui
|
||||
@@ -232,7 +232,7 @@
|
||||
@@ -100,6 +100,7 @@
|
||||
<property name="n_columns">2</property>
|
||||
<property name="column_spacing">12</property>
|
||||
<property name="row_spacing">6</property>
|
||||
+ <property name="no_show_all">True</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label8">
|
||||
<property name="visible">True</property>
|
||||
@@ -232,7 +233,7 @@
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
@ -1454,7 +1483,43 @@ index f1e6d0b..77714a7 100644
|
||||
<property name="visible">True</property>
|
||||
<property name="tooltip_text" translatable="yes">The shortcut keys for turning input method on or off</property>
|
||||
<property name="xalign">0</property>
|
||||
@@ -962,6 +962,59 @@ You may use up/down buttons to change it.</i></small></property>
|
||||
@@ -244,7 +245,7 @@
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
- <object class="GtkLabel" id="label18">
|
||||
+ <object class="GtkLabel" id="label_enable">
|
||||
<property name="visible">True</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">Enable:</property>
|
||||
@@ -257,7 +258,7 @@
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
- <object class="GtkHBox" id="hbox2">
|
||||
+ <object class="GtkHBox" id="hbox_enable">
|
||||
<property name="visible">True</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
@@ -292,7 +293,7 @@
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
- <object class="GtkLabel" id="label19">
|
||||
+ <object class="GtkLabel" id="label_disable">
|
||||
<property name="visible">True</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">Disable:</property>
|
||||
@@ -305,7 +306,7 @@
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
- <object class="GtkHBox" id="hbox3">
|
||||
+ <object class="GtkHBox" id="hbox_disable">
|
||||
<property name="visible">True</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
@@ -962,6 +963,59 @@ You may use up/down buttons to change it.</i></small></property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
@ -1479,7 +1544,7 @@ index f1e6d0b..77714a7 100644
|
||||
+ <property name="spacing">6</property>
|
||||
+ <child>
|
||||
+ <object class="GtkCheckButton" id="checkbutton_use_on_off_hotkey">
|
||||
+ <property name="label" translatable="yes">Use trigger keys to enable or disable an input method</property>
|
||||
+ <property name="label" translatable="yes">Use toggle shortcut keys to enable or disable an input method</property>
|
||||
+ <property name="visible">True</property>
|
||||
+ <property name="can_focus">True</property>
|
||||
+ <property name="receives_default">False</property>
|
||||
|
58
ibus.spec
58
ibus.spec
@ -7,17 +7,20 @@
|
||||
|
||||
%if 0%{?fedora} > 16
|
||||
%define have_bridge_hotkey 1
|
||||
%define ibus_gjs_version 3.2.1.20111118
|
||||
%define ibus_gjs_version 3.2.1.20111128
|
||||
%define ibus_gjs_build_failure 1
|
||||
%define have_dconf 1
|
||||
%else
|
||||
%if 0%{?fedora} > 15
|
||||
%define have_bridge_hotkey 1
|
||||
%define ibus_gjs_version 3.2.1.20111118
|
||||
%define ibus_gjs_version 3.2.1.20111128
|
||||
%define ibus_gjs_build_failure 0
|
||||
%define have_dconf 1
|
||||
%else
|
||||
%define have_bridge_hotkey 0
|
||||
%define ibus_gjs_version 3.0.2.20111118
|
||||
%define ibus_gjs_build_failure 0
|
||||
%define have_dconf 0
|
||||
%endif
|
||||
%endif
|
||||
|
||||
@ -30,7 +33,7 @@
|
||||
|
||||
Name: ibus
|
||||
Version: 1.4.0
|
||||
Release: 11%{?dist}
|
||||
Release: 12%{?dist}
|
||||
Summary: Intelligent Input Bus for Linux OS
|
||||
License: LGPLv2+
|
||||
Group: System Environment/Libraries
|
||||
@ -46,14 +49,12 @@ Patch2: ibus-541492-xkb.patch
|
||||
Patch3: ibus-xx-bridge-hotkey.patch
|
||||
Patch4: ibus-xx-setup-frequent-lang.patch
|
||||
|
||||
# Workaround for oxygen-gtk icon theme until bug 699103 is fixed.
|
||||
Patch91: ibus-711632-fedora-fallback-icon.patch
|
||||
# Workaround gnome-shell build failure
|
||||
# http://koji.fedoraproject.org/koji/getfile?taskID=3317917&name=root.log
|
||||
Patch92: ibus-gjs-xx-gnome-shell-3.1.4-build-failure.patch
|
||||
Patch91: ibus-gjs-xx-gnome-shell-3.1.4-build-failure.patch
|
||||
# Workaround to disable preedit on gnome-shell until bug 658420 is fixed.
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=658420
|
||||
Patch93: ibus-xx-g-s-disable-preedit.patch
|
||||
Patch92: ibus-xx-g-s-disable-preedit.patch
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
@ -69,6 +70,10 @@ BuildRequires: dbus-glib-devel
|
||||
BuildRequires: dbus-python-devel >= %{dbus_python_version}
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: gtk-doc
|
||||
%if %have_dconf
|
||||
BuildRequires: dconf-devel
|
||||
%endif
|
||||
# for AM_GCONF_SOURCE_2 in configure.ac
|
||||
BuildRequires: GConf2-devel
|
||||
BuildRequires: pygobject2-devel
|
||||
BuildRequires: intltool
|
||||
@ -94,7 +99,11 @@ Requires: iso-codes
|
||||
Requires: dbus-python >= %{dbus_python_version}
|
||||
Requires: dbus-x11
|
||||
Requires: im-chooser
|
||||
%if %have_dconf
|
||||
Requires: dconf
|
||||
%else
|
||||
Requires: GConf2
|
||||
%endif
|
||||
Requires: notify-python
|
||||
Requires: librsvg2
|
||||
Requires: gnome-icon-theme-legacy >= %{gnome_icon_theme_legacy_version}
|
||||
@ -189,12 +198,12 @@ zcat %SOURCE2 | tar xf -
|
||||
%if %ibus_gjs_build_failure
|
||||
d=`basename %SOURCE2 .tar.gz`
|
||||
cd $d
|
||||
%patch92 -p1 -b .fail-g-s
|
||||
%patch91 -p1 -b .fail-g-s
|
||||
cd ..
|
||||
%endif
|
||||
%endif
|
||||
%patch0 -p1
|
||||
%patch93 -p1 -b .g-s-preedit
|
||||
%patch92 -p1 -b .g-s-preedit
|
||||
cp client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c
|
||||
%patch1 -p1 -b .preload-sys
|
||||
%if %have_libxkbfile
|
||||
@ -204,8 +213,6 @@ mv data/ibus.schemas.in data/ibus.schemas.in.in
|
||||
%patch3 -p1 -b .bridge-key
|
||||
%patch4 -p1 -b .setup-frequent-lang
|
||||
|
||||
%patch91 -p1 -b .fallback-icon
|
||||
|
||||
%build
|
||||
%if %have_libxkbfile
|
||||
XKB_PRELOAD_LAYOUTS=\
|
||||
@ -237,6 +244,10 @@ automake -a -c -f
|
||||
%endif
|
||||
%if %have_bridge_hotkey
|
||||
--enable-bridge-hotkey \
|
||||
%endif
|
||||
%if %have_dconf
|
||||
--enable-dconf \
|
||||
--disable-gconf \
|
||||
%endif
|
||||
--enable-introspection
|
||||
|
||||
@ -308,20 +319,26 @@ touch --no-create %{_datadir}/icons/hicolor || :
|
||||
|
||||
%{_sbindir}/alternatives --install %{_sysconfdir}/X11/xinit/xinputrc xinputrc %{_xinputconf} 83 || :
|
||||
|
||||
%if !%have_dconf
|
||||
export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
|
||||
gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/ibus.schemas > /dev/null 2>&1 || :
|
||||
%endif
|
||||
|
||||
%pre
|
||||
%if !%have_dconf
|
||||
if [ "$1" -gt 1 ]; then
|
||||
export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
|
||||
gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/ibus.schemas > /dev/null 2>&1 || :
|
||||
fi
|
||||
%endif
|
||||
|
||||
%preun
|
||||
%if !%have_dconf
|
||||
if [ "$1" -eq 0 ]; then
|
||||
export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
|
||||
gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/ibus.schemas > /dev/null 2>&1 || :
|
||||
fi
|
||||
%endif
|
||||
|
||||
%postun
|
||||
# recreate icon cache
|
||||
@ -363,11 +380,22 @@ fi
|
||||
%{_datadir}/ibus/*
|
||||
%{_datadir}/applications/*
|
||||
%{_datadir}/icons/hicolor/*/apps/*
|
||||
%if %have_dconf
|
||||
%{_datadir}/GConf/gsettings/*
|
||||
%{_datadir}/glib-2.0/schemas/*.xml
|
||||
%{_libexecdir}/ibus-dconf
|
||||
%else
|
||||
%{_libexecdir}/ibus-gconf
|
||||
%endif
|
||||
%{_libexecdir}/ibus-ui-gtk
|
||||
%{_libexecdir}/ibus-x11
|
||||
# %{_sysconfdir}/xdg/autostart/ibus.desktop
|
||||
%if %have_dconf
|
||||
%{_sysconfdir}/dconf/db/ibus
|
||||
%{_sysconfdir}/dconf/profile/ibus
|
||||
%else
|
||||
%{_sysconfdir}/gconf/schemas/ibus.schemas
|
||||
%endif
|
||||
%config %{_xinputconf}
|
||||
%if %have_libxkbfile
|
||||
%{_libexecdir}/ibus-engine-xkb
|
||||
@ -406,6 +434,14 @@ fi
|
||||
%{_datadir}/gtk-doc/html/*
|
||||
|
||||
%changelog
|
||||
* Fri Nov 25 2011 Takao Fujiwara <tfujiwar@redhat.com> - 1.4.0-12
|
||||
- Enabled dconf.
|
||||
- Updated ibus-HEAD.patch
|
||||
Fixed Bug 618229 - engine setup buton on ibus-setup.
|
||||
- Removed ibus-711632-fedora-fallback-icon.patch as upstreamed.
|
||||
- Updated ibus-xx-bridge-hotkey.patch
|
||||
Removed Enable/Disable buttons on ibus-setup
|
||||
|
||||
* Fri Nov 18 2011 Takao Fujiwara <tfujiwar@redhat.com> - 1.4.0-11
|
||||
- Updated ibus-541492-xkb.patch
|
||||
Fixed Bug 750484 - support reloading Xmodmap
|
||||
|
Loading…
Reference in New Issue
Block a user