Added panel extension for emoji keybinding not to depen on desktops
This commit is contained in:
parent
e8182c8672
commit
98919f74e3
1
.gitignore
vendored
1
.gitignore
vendored
@ -29,6 +29,7 @@
|
|||||||
/ibus-po-1.5.9-20141001.tar.gz
|
/ibus-po-1.5.9-20141001.tar.gz
|
||||||
/ibus-po-1.5.10-20150402.tar.gz
|
/ibus-po-1.5.10-20150402.tar.gz
|
||||||
/ibus-po-1.5.14-20160909.tar.gz
|
/ibus-po-1.5.14-20160909.tar.gz
|
||||||
|
/ibus-po-1.5.17-20180221.tar.gz
|
||||||
ibus-1.3.6.tar.gz
|
ibus-1.3.6.tar.gz
|
||||||
/ibus-1.3.7.tar.gz
|
/ibus-1.3.7.tar.gz
|
||||||
/ibus-1.3.8.tar.gz
|
/ibus-1.3.8.tar.gz
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
From 8ea0d3f25078c612b4b16c955c1c0c17e764d8c5 Mon Sep 17 00:00:00 2001
|
From 4ad2f160e2af0b71148b3f7726e71f26a107ff1c Mon Sep 17 00:00:00 2001
|
||||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||||
Date: Thu, 27 Jul 2017 18:56:01 +0900
|
Date: Wed, 21 Feb 2018 15:05:18 +0900
|
||||||
Subject: [PATCH] bus: Fix SEGV in bus_panel_proxy_focus_in()
|
Subject: [PATCH] bus: Fix SEGV in bus_panel_proxy_focus_in()
|
||||||
|
|
||||||
BUG=rhbz#1349148
|
BUG=rhbz#1349148
|
||||||
@ -10,11 +10,11 @@ BUG=rhbz#1406699
|
|||||||
BUG=rhbz#1432252
|
BUG=rhbz#1432252
|
||||||
---
|
---
|
||||||
bus/dbusimpl.c | 38 ++++++++++++++++++++++++++++++++------
|
bus/dbusimpl.c | 38 ++++++++++++++++++++++++++++++++------
|
||||||
bus/ibusimpl.c | 22 +++++++++++++++++++---
|
bus/ibusimpl.c | 21 ++++++++++++++++++---
|
||||||
2 files changed, 51 insertions(+), 9 deletions(-)
|
2 files changed, 50 insertions(+), 9 deletions(-)
|
||||||
|
|
||||||
diff --git a/bus/dbusimpl.c b/bus/dbusimpl.c
|
diff --git a/bus/dbusimpl.c b/bus/dbusimpl.c
|
||||||
index b54ef81..e4dd868 100644
|
index b54ef817..e4dd8683 100644
|
||||||
--- a/bus/dbusimpl.c
|
--- a/bus/dbusimpl.c
|
||||||
+++ b/bus/dbusimpl.c
|
+++ b/bus/dbusimpl.c
|
||||||
@@ -2,7 +2,8 @@
|
@@ -2,7 +2,8 @@
|
||||||
@ -124,41 +124,37 @@ index b54ef81..e4dd868 100644
|
|||||||
if (incoming) {
|
if (incoming) {
|
||||||
/* is incoming message */
|
/* is incoming message */
|
||||||
diff --git a/bus/ibusimpl.c b/bus/ibusimpl.c
|
diff --git a/bus/ibusimpl.c b/bus/ibusimpl.c
|
||||||
index f99307a..2d43ff6 100644
|
index 58d205cf..34f6c909 100644
|
||||||
--- a/bus/ibusimpl.c
|
--- a/bus/ibusimpl.c
|
||||||
+++ b/bus/ibusimpl.c
|
+++ b/bus/ibusimpl.c
|
||||||
@@ -2,7 +2,8 @@
|
@@ -357,13 +357,16 @@ _dbus_name_owner_changed_cb (BusDBusImpl *dbus,
|
||||||
/* vim:set et sts=4: */
|
else if (!g_strcmp0 (name, IBUS_SERVICE_PANEL_EXTENSION))
|
||||||
/* ibus - The Input Bus
|
panel_type = PANEL_TYPE_EXTENSION;
|
||||||
* Copyright (C) 2008-2013 Peng Huang <shawn.p.huang@gmail.com>
|
|
||||||
- * Copyright (C) 2008-2013 Red Hat, Inc.
|
|
||||||
+ * Copyright (C) 2015-2017 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
|
||||||
+ * Copyright (C) 2008-2017 Red Hat, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
|
||||||
@@ -323,11 +324,14 @@ _dbus_name_owner_changed_cb (BusDBusImpl *dbus,
|
|
||||||
g_assert (new_name != NULL);
|
|
||||||
g_assert (BUS_IS_IBUS_IMPL (ibus));
|
|
||||||
|
|
||||||
- if (g_strcmp0 (name, IBUS_SERVICE_PANEL) == 0) {
|
- if (panel_type != PANEL_TYPE_NONE) {
|
||||||
+ do {
|
+ do {
|
||||||
+ if (g_strcmp0 (name, IBUS_SERVICE_PANEL) != 0)
|
+ if (panel_type == PANEL_TYPE_NONE)
|
||||||
+ break;
|
+ break;
|
||||||
if (g_strcmp0 (new_name, "") != 0) {
|
if (g_strcmp0 (new_name, "") != 0) {
|
||||||
/* a Panel process is started. */
|
/* a Panel process is started. */
|
||||||
BusConnection *connection;
|
BusConnection *connection;
|
||||||
BusInputContext *context = NULL;
|
BusInputContext *context = NULL;
|
||||||
|
BusPanelProxy **panel = (panel_type == PANEL_TYPE_PANEL) ?
|
||||||
|
&ibus->panel : &ibus->extension;
|
||||||
+ GDBusConnection *dbus_connection = NULL;
|
+ GDBusConnection *dbus_connection = NULL;
|
||||||
|
|
||||||
if (ibus->panel != NULL) {
|
if (*panel != NULL) {
|
||||||
ibus_proxy_destroy ((IBusProxy *) ibus->panel);
|
ibus_proxy_destroy ((IBusProxy *)(*panel));
|
||||||
@@ -338,6 +342,18 @@ _dbus_name_owner_changed_cb (BusDBusImpl *dbus,
|
@@ -372,9 +375,21 @@ _dbus_name_owner_changed_cb (BusDBusImpl *dbus,
|
||||||
connection = bus_dbus_impl_get_connection_by_name (BUS_DEFAULT_DBUS, new_name);
|
g_assert (*panel == NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
- connection = bus_dbus_impl_get_connection_by_name (BUS_DEFAULT_DBUS, new_name);
|
||||||
|
+ connection = bus_dbus_impl_get_connection_by_name (BUS_DEFAULT_DBUS,
|
||||||
|
+ new_name);
|
||||||
g_return_if_fail (connection != NULL);
|
g_return_if_fail (connection != NULL);
|
||||||
|
|
||||||
+ dbus_connection = bus_connection_get_dbus_connection (connection);
|
+ dbus_connection = bus_connection_get_dbus_connection (connection);
|
||||||
+
|
|
||||||
+ /* rhbz#1349148 rhbz#1385349
|
+ /* rhbz#1349148 rhbz#1385349
|
||||||
+ * Avoid SEGV of BUS_IS_PANEL_PROXY (ibus->panel)
|
+ * Avoid SEGV of BUS_IS_PANEL_PROXY (ibus->panel)
|
||||||
+ * This function is called during destroying the connection
|
+ * This function is called during destroying the connection
|
||||||
@ -169,10 +165,10 @@ index f99307a..2d43ff6 100644
|
|||||||
+ break;
|
+ break;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
ibus->panel = bus_panel_proxy_new (connection);
|
*panel = bus_panel_proxy_new (connection, panel_type);
|
||||||
|
|
||||||
g_signal_connect (ibus->panel,
|
g_signal_connect (*panel,
|
||||||
@@ -366,7 +382,7 @@ _dbus_name_owner_changed_cb (BusDBusImpl *dbus,
|
@@ -406,7 +421,7 @@ _dbus_name_owner_changed_cb (BusDBusImpl *dbus,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -182,5 +178,5 @@ index f99307a..2d43ff6 100644
|
|||||||
bus_ibus_impl_component_name_owner_changed (ibus, name, old_name, new_name);
|
bus_ibus_impl_component_name_owner_changed (ibus, name, old_name, new_name);
|
||||||
}
|
}
|
||||||
--
|
--
|
||||||
2.9.3
|
2.14.3
|
||||||
|
|
||||||
|
4181
ibus-HEAD.patch
4181
ibus-HEAD.patch
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
|||||||
From c6c1e8ea01c8466dc97d7549e77538e2d7ec872a Mon Sep 17 00:00:00 2001
|
From 158e06a10726a10393f1f6dd7237457b0b601f84 Mon Sep 17 00:00:00 2001
|
||||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||||
Date: Mon, 29 Jan 2018 18:27:09 +0900
|
Date: Wed, 21 Feb 2018 15:39:49 +0900
|
||||||
Subject: [PATCH] Integrate custom rendering to use HarfBuzz glyph info
|
Subject: [PATCH] Integrate custom rendering to use HarfBuzz glyph info
|
||||||
|
|
||||||
IBusFontSet offers FcFontSet, glyph info with HarfBuzz and rendering
|
IBusFontSet offers FcFontSet, glyph info with HarfBuzz and rendering
|
||||||
@ -20,11 +20,11 @@ Need configure --enable-harfbuzz-for-emoji option to enable this feature.
|
|||||||
bindings/vala/Makefile.am | 83 +++
|
bindings/vala/Makefile.am | 83 +++
|
||||||
bindings/vala/ibus-fontset-1.0.deps | 1 +
|
bindings/vala/ibus-fontset-1.0.deps | 1 +
|
||||||
configure.ac | 29 +
|
configure.ac | 29 +
|
||||||
ui/gtk3/Makefile.am | 32 +
|
ui/gtk3/Makefile.am | 36 ++
|
||||||
ui/gtk3/emojier.vala | 111 ++++
|
ui/gtk3/emojier.vala | 111 ++++
|
||||||
ui/gtk3/ibusfontset.c | 1030 ++++++++++++++++++++++++++++++++
|
ui/gtk3/ibusfontset.c | 1030 ++++++++++++++++++++++++++++++++
|
||||||
ui/gtk3/ibusfontset.h | 302 ++++++++++
|
ui/gtk3/ibusfontset.h | 302 ++++++++++
|
||||||
8 files changed, 1589 insertions(+)
|
8 files changed, 1593 insertions(+)
|
||||||
create mode 100644 bindings/vala/IBusFontSet-1.0.metadata
|
create mode 100644 bindings/vala/IBusFontSet-1.0.metadata
|
||||||
create mode 100644 bindings/vala/ibus-fontset-1.0.deps
|
create mode 100644 bindings/vala/ibus-fontset-1.0.deps
|
||||||
create mode 100644 ui/gtk3/ibusfontset.c
|
create mode 100644 ui/gtk3/ibusfontset.c
|
||||||
@ -202,19 +202,19 @@ index bd41069b..243396ff 100644
|
|||||||
])
|
])
|
||||||
|
|
||||||
diff --git a/ui/gtk3/Makefile.am b/ui/gtk3/Makefile.am
|
diff --git a/ui/gtk3/Makefile.am b/ui/gtk3/Makefile.am
|
||||||
index 786b80e6..cd1e9c2c 100644
|
index 0a8f4200..8bb2345d 100644
|
||||||
--- a/ui/gtk3/Makefile.am
|
--- a/ui/gtk3/Makefile.am
|
||||||
+++ b/ui/gtk3/Makefile.am
|
+++ b/ui/gtk3/Makefile.am
|
||||||
@@ -156,6 +156,8 @@ EXTRA_DIST = \
|
@@ -159,6 +159,8 @@ EXTRA_DIST = \
|
||||||
$(man_seven_in_files) \
|
extension.vala \
|
||||||
emojierapp.vala \
|
gtkextension.xml.in \
|
||||||
gtkpanel.xml.in \
|
gtkpanel.xml.in \
|
||||||
+ ibusfontset.c \
|
+ ibusfontset.c \
|
||||||
+ ibusfontset.h \
|
+ ibusfontset.h \
|
||||||
notification-item.xml \
|
notification-item.xml \
|
||||||
notification-watcher.xml \
|
notification-watcher.xml \
|
||||||
$(NULL)
|
panelbinding.vala \
|
||||||
@@ -198,6 +200,36 @@ emojierapp.o: $(srcdir)/emojierapp.c
|
@@ -247,6 +249,40 @@ panelbinding.o: $(srcdir)/panelbinding.c
|
||||||
$(AM_V_CC_no)$(COMPILE) -c -o $@ $<
|
$(AM_V_CC_no)$(COMPILE) -c -o $@ $<
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
@ -227,6 +227,10 @@ index 786b80e6..cd1e9c2c 100644
|
|||||||
+ ibusfontset.c \
|
+ ibusfontset.c \
|
||||||
+ $(NULL)
|
+ $(NULL)
|
||||||
+
|
+
|
||||||
|
+ibus_extension_gtk3_SOURCES += \
|
||||||
|
+ ibusfontset.c \
|
||||||
|
+ $(NULL)
|
||||||
|
+
|
||||||
+AM_CFLAGS += \
|
+AM_CFLAGS += \
|
||||||
+ @CAIRO_CFLAGS@ \
|
+ @CAIRO_CFLAGS@ \
|
||||||
+ @FONTCONFIG_CFLAGS@ \
|
+ @FONTCONFIG_CFLAGS@ \
|
||||||
@ -252,7 +256,7 @@ index 786b80e6..cd1e9c2c 100644
|
|||||||
man_seven_DATA =$(man_seven_files:.7=.7.gz)
|
man_seven_DATA =$(man_seven_files:.7=.7.gz)
|
||||||
man_sevendir = $(mandir)/man7
|
man_sevendir = $(mandir)/man7
|
||||||
diff --git a/ui/gtk3/emojier.vala b/ui/gtk3/emojier.vala
|
diff --git a/ui/gtk3/emojier.vala b/ui/gtk3/emojier.vala
|
||||||
index 555ea68f..0a703383 100644
|
index c85dfa86..86482543 100644
|
||||||
--- a/ui/gtk3/emojier.vala
|
--- a/ui/gtk3/emojier.vala
|
||||||
+++ b/ui/gtk3/emojier.vala
|
+++ b/ui/gtk3/emojier.vala
|
||||||
@@ -99,16 +99,103 @@ public class IBusEmojier : Gtk.ApplicationWindow {
|
@@ -99,16 +99,103 @@ public class IBusEmojier : Gtk.ApplicationWindow {
|
||||||
@ -367,7 +371,7 @@ index 555ea68f..0a703383 100644
|
|||||||
}
|
}
|
||||||
private class ESelectedLabel : EWhiteLabel {
|
private class ESelectedLabel : EWhiteLabel {
|
||||||
public ESelectedLabel(string text) {
|
public ESelectedLabel(string text) {
|
||||||
@@ -307,6 +395,9 @@ public class IBusEmojier : Gtk.ApplicationWindow {
|
@@ -313,6 +401,9 @@ public class IBusEmojier : Gtk.ApplicationWindow {
|
||||||
private static bool m_show_unicode = false;
|
private static bool m_show_unicode = false;
|
||||||
private static LoadProgressObject m_unicode_progress_object;
|
private static LoadProgressObject m_unicode_progress_object;
|
||||||
private static bool m_loaded_unicode = false;
|
private static bool m_loaded_unicode = false;
|
||||||
@ -377,7 +381,7 @@ index 555ea68f..0a703383 100644
|
|||||||
|
|
||||||
private ThemedRGBA m_rgba;
|
private ThemedRGBA m_rgba;
|
||||||
private Gtk.Box m_vbox;
|
private Gtk.Box m_vbox;
|
||||||
@@ -2064,6 +2155,22 @@ public class IBusEmojier : Gtk.ApplicationWindow {
|
@@ -2070,6 +2161,22 @@ public class IBusEmojier : Gtk.ApplicationWindow {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -400,7 +404,7 @@ index 555ea68f..0a703383 100644
|
|||||||
public static bool has_loaded_emoji_dict() {
|
public static bool has_loaded_emoji_dict() {
|
||||||
if (m_emoji_to_data_dict == null)
|
if (m_emoji_to_data_dict == null)
|
||||||
return false;
|
return false;
|
||||||
@@ -2094,6 +2201,10 @@ public class IBusEmojier : Gtk.ApplicationWindow {
|
@@ -2100,6 +2207,10 @@ public class IBusEmojier : Gtk.ApplicationWindow {
|
||||||
int font_size = font_desc.get_size() / Pango.SCALE;
|
int font_size = font_desc.get_size() / Pango.SCALE;
|
||||||
if (font_size != 0)
|
if (font_size != 0)
|
||||||
m_emoji_font_size = font_size;
|
m_emoji_font_size = font_size;
|
||||||
|
20
ibus.spec
20
ibus.spec
@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
Name: ibus
|
Name: ibus
|
||||||
Version: 1.5.17
|
Version: 1.5.17
|
||||||
Release: 8%{?dist}
|
Release: 9%{?dist}
|
||||||
Summary: Intelligent Input Bus for Linux OS
|
Summary: Intelligent Input Bus for Linux OS
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
@ -38,16 +38,17 @@ URL: https://github.com/ibus/%name/wiki
|
|||||||
Source0: https://github.com/ibus/%name/releases/download/%{version}/%{name}-%{version}.tar.gz
|
Source0: https://github.com/ibus/%name/releases/download/%{version}/%{name}-%{version}.tar.gz
|
||||||
Source1: %{name}-xinput
|
Source1: %{name}-xinput
|
||||||
Source2: %{name}.conf.5
|
Source2: %{name}.conf.5
|
||||||
|
Source3: https://fujiwara.fedorapeople.org/ibus/po/%{name}-po-1.5.17-20180221.tar.gz
|
||||||
# Will remove the annotation tarball once the rpm is available on Fedora
|
# Will remove the annotation tarball once the rpm is available on Fedora
|
||||||
# Upstreamed patches.
|
# Upstreamed patches.
|
||||||
# Patch0: %%{name}-HEAD.patch
|
# Patch0: %%{name}-HEAD.patch
|
||||||
Patch0: %{name}-HEAD.patch
|
Patch0: %{name}-HEAD.patch
|
||||||
# Under testing #1349148 #1385349 #1350291 #1406699 #1432252
|
|
||||||
Patch1: %{name}-1385349-segv-bus-proxy.patch
|
|
||||||
%if %with_emoji_harfbuzz
|
%if %with_emoji_harfbuzz
|
||||||
# Under testing self rendering until Pango, Fontconfig, Cairo are stable
|
# Under testing self rendering until Pango, Fontconfig, Cairo are stable
|
||||||
Patch2: %{name}-xx-emoji-harfbuzz.patch
|
Patch1: %{name}-xx-emoji-harfbuzz.patch
|
||||||
%endif
|
%endif
|
||||||
|
# Under testing #1349148 #1385349 #1350291 #1406699 #1432252
|
||||||
|
Patch2: %{name}-1385349-segv-bus-proxy.patch
|
||||||
|
|
||||||
BuildRequires: gettext-devel
|
BuildRequires: gettext-devel
|
||||||
BuildRequires: libtool
|
BuildRequires: libtool
|
||||||
@ -243,10 +244,12 @@ The ibus-devel-docs package contains developer documentation for IBus
|
|||||||
# %%patch0 -p1
|
# %%patch0 -p1
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
# cp client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c ||
|
# cp client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c ||
|
||||||
%patch1 -p1 -z .segv
|
|
||||||
%if %with_emoji_harfbuzz
|
%if %with_emoji_harfbuzz
|
||||||
%patch2 -p1 -z .hb
|
%patch1 -p1 -z .hb
|
||||||
%endif
|
%endif
|
||||||
|
%patch2 -p1 -z .segv
|
||||||
|
|
||||||
|
zcat %SOURCE3 | tar xfvp -
|
||||||
|
|
||||||
# prep test
|
# prep test
|
||||||
diff client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c
|
diff client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c
|
||||||
@ -360,6 +363,7 @@ dconf update || :
|
|||||||
%{_libexecdir}/ibus-engine-simple
|
%{_libexecdir}/ibus-engine-simple
|
||||||
%{_libexecdir}/ibus-dconf
|
%{_libexecdir}/ibus-dconf
|
||||||
%{_libexecdir}/ibus-portal
|
%{_libexecdir}/ibus-portal
|
||||||
|
%{_libexecdir}/ibus-extension-gtk3
|
||||||
%{_libexecdir}/ibus-ui-emojier
|
%{_libexecdir}/ibus-ui-emojier
|
||||||
%{_libexecdir}/ibus-ui-gtk3
|
%{_libexecdir}/ibus-ui-gtk3
|
||||||
%{_libexecdir}/ibus-x11
|
%{_libexecdir}/ibus-x11
|
||||||
@ -420,6 +424,10 @@ dconf update || :
|
|||||||
%{_datadir}/gtk-doc/html/*
|
%{_datadir}/gtk-doc/html/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Feb 21 2018 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.17-9
|
||||||
|
- Added panel extension for emoji keybinding not to depen on desktops
|
||||||
|
- Showed Unicode code points on Unicode name list
|
||||||
|
|
||||||
* Tue Feb 13 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.5.17-8
|
* Tue Feb 13 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.5.17-8
|
||||||
- Remove useless requires
|
- Remove useless requires
|
||||||
|
|
||||||
|
3
sources
3
sources
@ -1 +1,2 @@
|
|||||||
SHA512 (ibus-1.5.17.tar.gz) = 8a7e4fabbcb2096e647b1fb7487c92882bd320a4d777f2765817378abec2e60cafd63364c881fefc2805ff2baa6b28b15ee0710587662a3e65eeb60ead19496c
|
8bb26453d0d1fa58e56c22668aaa8786 ibus-1.5.17.tar.gz
|
||||||
|
c485c179e612ffd07cf6a6c567a928f1 ibus-po-1.5.17-20180221.tar.gz
|
||||||
|
Loading…
Reference in New Issue
Block a user