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.10-20150402.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.7.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>
|
||||
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()
|
||||
|
||||
BUG=rhbz#1349148
|
||||
@ -10,11 +10,11 @@ BUG=rhbz#1406699
|
||||
BUG=rhbz#1432252
|
||||
---
|
||||
bus/dbusimpl.c | 38 ++++++++++++++++++++++++++++++++------
|
||||
bus/ibusimpl.c | 22 +++++++++++++++++++---
|
||||
2 files changed, 51 insertions(+), 9 deletions(-)
|
||||
bus/ibusimpl.c | 21 ++++++++++++++++++---
|
||||
2 files changed, 50 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/bus/dbusimpl.c b/bus/dbusimpl.c
|
||||
index b54ef81..e4dd868 100644
|
||||
index b54ef817..e4dd8683 100644
|
||||
--- a/bus/dbusimpl.c
|
||||
+++ b/bus/dbusimpl.c
|
||||
@@ -2,7 +2,8 @@
|
||||
@ -124,41 +124,37 @@ index b54ef81..e4dd868 100644
|
||||
if (incoming) {
|
||||
/* is incoming message */
|
||||
diff --git a/bus/ibusimpl.c b/bus/ibusimpl.c
|
||||
index f99307a..2d43ff6 100644
|
||||
index 58d205cf..34f6c909 100644
|
||||
--- a/bus/ibusimpl.c
|
||||
+++ b/bus/ibusimpl.c
|
||||
@@ -2,7 +2,8 @@
|
||||
/* vim:set et sts=4: */
|
||||
/* ibus - The Input Bus
|
||||
* 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));
|
||||
@@ -357,13 +357,16 @@ _dbus_name_owner_changed_cb (BusDBusImpl *dbus,
|
||||
else if (!g_strcmp0 (name, IBUS_SERVICE_PANEL_EXTENSION))
|
||||
panel_type = PANEL_TYPE_EXTENSION;
|
||||
|
||||
- if (g_strcmp0 (name, IBUS_SERVICE_PANEL) == 0) {
|
||||
- if (panel_type != PANEL_TYPE_NONE) {
|
||||
+ do {
|
||||
+ if (g_strcmp0 (name, IBUS_SERVICE_PANEL) != 0)
|
||||
+ if (panel_type == PANEL_TYPE_NONE)
|
||||
+ break;
|
||||
if (g_strcmp0 (new_name, "") != 0) {
|
||||
/* a Panel process is started. */
|
||||
BusConnection *connection;
|
||||
BusInputContext *context = NULL;
|
||||
BusPanelProxy **panel = (panel_type == PANEL_TYPE_PANEL) ?
|
||||
&ibus->panel : &ibus->extension;
|
||||
+ GDBusConnection *dbus_connection = NULL;
|
||||
|
||||
if (ibus->panel != NULL) {
|
||||
ibus_proxy_destroy ((IBusProxy *) ibus->panel);
|
||||
@@ -338,6 +342,18 @@ _dbus_name_owner_changed_cb (BusDBusImpl *dbus,
|
||||
connection = bus_dbus_impl_get_connection_by_name (BUS_DEFAULT_DBUS, new_name);
|
||||
if (*panel != NULL) {
|
||||
ibus_proxy_destroy ((IBusProxy *)(*panel));
|
||||
@@ -372,9 +375,21 @@ _dbus_name_owner_changed_cb (BusDBusImpl *dbus,
|
||||
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);
|
||||
|
||||
+ dbus_connection = bus_connection_get_dbus_connection (connection);
|
||||
+
|
||||
+ /* rhbz#1349148 rhbz#1385349
|
||||
+ * Avoid SEGV of BUS_IS_PANEL_PROXY (ibus->panel)
|
||||
+ * This function is called during destroying the connection
|
||||
@ -169,10 +165,10 @@ index f99307a..2d43ff6 100644
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
ibus->panel = bus_panel_proxy_new (connection);
|
||||
*panel = bus_panel_proxy_new (connection, panel_type);
|
||||
|
||||
g_signal_connect (ibus->panel,
|
||||
@@ -366,7 +382,7 @@ _dbus_name_owner_changed_cb (BusDBusImpl *dbus,
|
||||
g_signal_connect (*panel,
|
||||
@@ -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);
|
||||
}
|
||||
--
|
||||
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>
|
||||
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
|
||||
|
||||
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/ibus-fontset-1.0.deps | 1 +
|
||||
configure.ac | 29 +
|
||||
ui/gtk3/Makefile.am | 32 +
|
||||
ui/gtk3/Makefile.am | 36 ++
|
||||
ui/gtk3/emojier.vala | 111 ++++
|
||||
ui/gtk3/ibusfontset.c | 1030 ++++++++++++++++++++++++++++++++
|
||||
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/ibus-fontset-1.0.deps
|
||||
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
|
||||
index 786b80e6..cd1e9c2c 100644
|
||||
index 0a8f4200..8bb2345d 100644
|
||||
--- a/ui/gtk3/Makefile.am
|
||||
+++ b/ui/gtk3/Makefile.am
|
||||
@@ -156,6 +156,8 @@ EXTRA_DIST = \
|
||||
$(man_seven_in_files) \
|
||||
emojierapp.vala \
|
||||
@@ -159,6 +159,8 @@ EXTRA_DIST = \
|
||||
extension.vala \
|
||||
gtkextension.xml.in \
|
||||
gtkpanel.xml.in \
|
||||
+ ibusfontset.c \
|
||||
+ ibusfontset.h \
|
||||
notification-item.xml \
|
||||
notification-watcher.xml \
|
||||
$(NULL)
|
||||
@@ -198,6 +200,36 @@ emojierapp.o: $(srcdir)/emojierapp.c
|
||||
panelbinding.vala \
|
||||
@@ -247,6 +249,40 @@ panelbinding.o: $(srcdir)/panelbinding.c
|
||||
$(AM_V_CC_no)$(COMPILE) -c -o $@ $<
|
||||
$(NULL)
|
||||
|
||||
@ -227,6 +227,10 @@ index 786b80e6..cd1e9c2c 100644
|
||||
+ ibusfontset.c \
|
||||
+ $(NULL)
|
||||
+
|
||||
+ibus_extension_gtk3_SOURCES += \
|
||||
+ ibusfontset.c \
|
||||
+ $(NULL)
|
||||
+
|
||||
+AM_CFLAGS += \
|
||||
+ @CAIRO_CFLAGS@ \
|
||||
+ @FONTCONFIG_CFLAGS@ \
|
||||
@ -252,7 +256,7 @@ index 786b80e6..cd1e9c2c 100644
|
||||
man_seven_DATA =$(man_seven_files:.7=.7.gz)
|
||||
man_sevendir = $(mandir)/man7
|
||||
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
|
||||
+++ b/ui/gtk3/emojier.vala
|
||||
@@ -99,16 +99,103 @@ public class IBusEmojier : Gtk.ApplicationWindow {
|
||||
@ -367,7 +371,7 @@ index 555ea68f..0a703383 100644
|
||||
}
|
||||
private class ESelectedLabel : EWhiteLabel {
|
||||
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 LoadProgressObject m_unicode_progress_object;
|
||||
private static bool m_loaded_unicode = false;
|
||||
@ -377,7 +381,7 @@ index 555ea68f..0a703383 100644
|
||||
|
||||
private ThemedRGBA m_rgba;
|
||||
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() {
|
||||
if (m_emoji_to_data_dict == null)
|
||||
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;
|
||||
if (font_size != 0)
|
||||
m_emoji_font_size = font_size;
|
||||
|
20
ibus.spec
20
ibus.spec
@ -30,7 +30,7 @@
|
||||
|
||||
Name: ibus
|
||||
Version: 1.5.17
|
||||
Release: 8%{?dist}
|
||||
Release: 9%{?dist}
|
||||
Summary: Intelligent Input Bus for Linux OS
|
||||
License: LGPLv2+
|
||||
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
|
||||
Source1: %{name}-xinput
|
||||
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
|
||||
# Upstreamed patches.
|
||||
# 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
|
||||
# Under testing self rendering until Pango, Fontconfig, Cairo are stable
|
||||
Patch2: %{name}-xx-emoji-harfbuzz.patch
|
||||
Patch1: %{name}-xx-emoji-harfbuzz.patch
|
||||
%endif
|
||||
# Under testing #1349148 #1385349 #1350291 #1406699 #1432252
|
||||
Patch2: %{name}-1385349-segv-bus-proxy.patch
|
||||
|
||||
BuildRequires: gettext-devel
|
||||
BuildRequires: libtool
|
||||
@ -243,10 +244,12 @@ The ibus-devel-docs package contains developer documentation for IBus
|
||||
# %%patch0 -p1
|
||||
%patch0 -p1
|
||||
# cp client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c ||
|
||||
%patch1 -p1 -z .segv
|
||||
%if %with_emoji_harfbuzz
|
||||
%patch2 -p1 -z .hb
|
||||
%patch1 -p1 -z .hb
|
||||
%endif
|
||||
%patch2 -p1 -z .segv
|
||||
|
||||
zcat %SOURCE3 | tar xfvp -
|
||||
|
||||
# prep test
|
||||
diff client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c
|
||||
@ -360,6 +363,7 @@ dconf update || :
|
||||
%{_libexecdir}/ibus-engine-simple
|
||||
%{_libexecdir}/ibus-dconf
|
||||
%{_libexecdir}/ibus-portal
|
||||
%{_libexecdir}/ibus-extension-gtk3
|
||||
%{_libexecdir}/ibus-ui-emojier
|
||||
%{_libexecdir}/ibus-ui-gtk3
|
||||
%{_libexecdir}/ibus-x11
|
||||
@ -420,6 +424,10 @@ dconf update || :
|
||||
%{_datadir}/gtk-doc/html/*
|
||||
|
||||
%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
|
||||
- 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