caribou: initial add 0.4.21
caribou is required for cinnamom-screensaver and we should get rid of it as soon as cinnomon turns into usable state. Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
This commit is contained in:
@@ -30,6 +30,7 @@ FILES:${PN} += "${datadir}/dbus-1"
|
|||||||
RDEPENDS:${PN} += " \
|
RDEPENDS:${PN} += " \
|
||||||
accountsservice \
|
accountsservice \
|
||||||
cinnamon-desktop \
|
cinnamon-desktop \
|
||||||
|
caribou \
|
||||||
libgnomekbd \
|
libgnomekbd \
|
||||||
python3-core \
|
python3-core \
|
||||||
python3-pygobject \
|
python3-pygobject \
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
diff -urN caribou-0.4.20.old/bin/antler-keyboard.in caribou-0.4.20/bin/antler-keyboard.in
|
||||||
|
--- caribou-0.4.20.old/bin/antler-keyboard.in 2016-06-27 19:31:55.547580177 +0530
|
||||||
|
+++ caribou-0.4.20/bin/antler-keyboard.in 2016-06-27 19:37:00.369738066 +0530
|
||||||
|
@@ -38,4 +38,4 @@
|
||||||
|
export ANTLER_THEME_PATH="$(dirname $script_dir)/data"
|
||||||
|
fi
|
||||||
|
|
||||||
|
-@PYTHON@ -m caribou.antler.main "$@"
|
||||||
|
+exec @PYTHON@ -m caribou.antler.main "$@"
|
||||||
|
diff -urN caribou-0.4.20.old/bin/caribou-preferences.in caribou-0.4.20/bin/caribou-preferences.in
|
||||||
|
--- caribou-0.4.20.old/bin/caribou-preferences.in 2016-06-27 19:31:55.547580177 +0530
|
||||||
|
+++ caribou-0.4.20/bin/caribou-preferences.in 2016-06-27 19:37:14.392561317 +0530
|
||||||
|
@@ -37,7 +37,7 @@
|
||||||
|
export LD_LIBRARY_PATH="$(dirname $script_dir)/libcaribou/.lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
-@PYTHON@ -c "
|
||||||
|
+exec @PYTHON@ -c "
|
||||||
|
import signal
|
||||||
|
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
||||||
|
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
--- a/data/caribou-autostart.desktop.in.in
|
||||||
|
+++ b/data/caribou-autostart.desktop.in.in
|
||||||
|
@@ -2,7 +2,7 @@
|
||||||
|
Type=Application
|
||||||
|
Name=Caribou
|
||||||
|
Exec=@libexecdir@/caribou
|
||||||
|
-AutostartCondition=GSettings org.gnome.desktop.a11y.applications screen-keyboard-enabled
|
||||||
|
+AutostartCondition=GSettings org.cinnamon.desktop.a11y.applications screen-keyboard-enabled
|
||||||
|
X-GNOME-AutoRestart=true
|
||||||
|
#X-GNOME-Autostart-Phase=Initialization
|
||||||
|
-OnlyShowIn=GNOME;Unity;
|
||||||
|
+OnlyShowIn=X-Cinnamon;
|
||||||
|
|
||||||
26
recipes-gnome/caribou/caribou/0003-fix-style-css.patch
Normal file
26
recipes-gnome/caribou/caribou/0003-fix-style-css.patch
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
From 13df8b92ae89c796238e669ee6ef4447a42d6355 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jeremy Bicha <jbicha@ubuntu.com>
|
||||||
|
Date: Fri, 1 Dec 2017 12:11:35 -0500
|
||||||
|
Subject: [PATCH] style.css: Fix failure to start in GNOME Flashback
|
||||||
|
|
||||||
|
The order for 'font' properties matters
|
||||||
|
https://developer.gnome.org/gtk3/stable/chap-css-properties.html
|
||||||
|
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=791001
|
||||||
|
---
|
||||||
|
data/antler/style.css | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/data/antler/style.css b/data/antler/style.css
|
||||||
|
index 5ab6f71..4d84904 100644
|
||||||
|
--- a/data/antler/style.css
|
||||||
|
+++ b/data/antler/style.css
|
||||||
|
@@ -13,7 +13,7 @@
|
||||||
|
border-width: 0px;
|
||||||
|
border-radius: 2px;
|
||||||
|
border-image: url("dark-key-border.svg") 2 2 2 2 repeat stretch;
|
||||||
|
- font: Sans 14px;
|
||||||
|
+ font: 14px Sans;
|
||||||
|
background-image: -gtk-gradient (linear,
|
||||||
|
left top,
|
||||||
|
left bottom,
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
From bc6f3e7ca0921b50a3ff836d08ce264a4f114224 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Clement Lefebvre <clement.lefebvre@linuxmint.com>
|
||||||
|
Date: Tue, 12 Jan 2021 17:29:16 +0000
|
||||||
|
Subject: [PATCH 1/4] Fix compilation error
|
||||||
|
|
||||||
|
---
|
||||||
|
libcaribou/key-model.vala | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/libcaribou/key-model.vala b/libcaribou/key-model.vala
|
||||||
|
index 89015bc..e88342e 100644
|
||||||
|
--- a/libcaribou/key-model.vala
|
||||||
|
+++ b/libcaribou/key-model.vala
|
||||||
|
@@ -101,7 +101,7 @@ namespace Caribou {
|
||||||
|
unichar uc;
|
||||||
|
while (text.get_next_char (ref index, out uc)) {
|
||||||
|
uint keyval = Gdk.unicode_to_keyval (uc);
|
||||||
|
- if (keyval != uc | 0x01000000)
|
||||||
|
+ if (keyval != (uc | 0x01000000))
|
||||||
|
_keyvals += keyval;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
--
|
||||||
|
2.29.2
|
||||||
|
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
From 85ac8f9e210243d95163cf8b1013470a6d9c7eaa Mon Sep 17 00:00:00 2001
|
||||||
|
From: Clement Lefebvre <clement.lefebvre@linuxmint.com>
|
||||||
|
Date: Tue, 12 Jan 2021 17:30:25 +0000
|
||||||
|
Subject: [PATCH 2/4] Fix subkey popmenu not showing after being dismissed
|
||||||
|
|
||||||
|
To reproduce the issue:
|
||||||
|
|
||||||
|
- long-press the "e" button
|
||||||
|
- don't select any sub button.. just select "e" again to close the menu
|
||||||
|
|
||||||
|
After this the menu no long appears when long-pressing "e".
|
||||||
|
|
||||||
|
This commit fixes that.
|
||||||
|
---
|
||||||
|
libcaribou/key-model.vala | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/libcaribou/key-model.vala b/libcaribou/key-model.vala
|
||||||
|
index e88342e..2f640f2 100644
|
||||||
|
--- a/libcaribou/key-model.vala
|
||||||
|
+++ b/libcaribou/key-model.vala
|
||||||
|
@@ -179,6 +179,7 @@ namespace Caribou {
|
||||||
|
hold_tid = GLib.Timeout.add (1000, on_key_held);
|
||||||
|
|
||||||
|
key_pressed(this);
|
||||||
|
+ show_subkeys = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void release () {
|
||||||
|
--
|
||||||
|
2.29.2
|
||||||
|
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
From 00653c5dcc4be5e983b670d00d5724fc21da2e82 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Clement Lefebvre <clement.lefebvre@linuxmint.com>
|
||||||
|
Date: Tue, 12 Jan 2021 18:01:47 +0000
|
||||||
|
Subject: [PATCH 3/4] [mtwebster] xadapter.vala: Remove XkbKeyTypesMask and
|
||||||
|
fields from XKbChangeMap call.
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
This was originally a workaround for xFree86 4.3 - see:
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=673547
|
||||||
|
|
||||||
|
As of https://gitlab.freedesktop.org/xorg/xserver/-/commit/87c64fc5b0 this
|
||||||
|
causes a BadLength error when attempting to use shifted characters.
|
||||||
|
|
||||||
|
Ref:
|
||||||
|
https://www.x.org/releases/X11R7.7/doc/libX11/XKB/xkblib.html#Changing_Map_Components_in_the_Server
|
||||||
|
---
|
||||||
|
libcaribou/xadapter.vala | 9 ++-------
|
||||||
|
1 file changed, 2 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libcaribou/xadapter.vala b/libcaribou/xadapter.vala
|
||||||
|
index 22858b7..1da5a78 100644
|
||||||
|
--- a/libcaribou/xadapter.vala
|
||||||
|
+++ b/libcaribou/xadapter.vala
|
||||||
|
@@ -195,15 +195,10 @@ namespace Caribou {
|
||||||
|
|
||||||
|
Xkb.MapChanges changes = Xkb.MapChanges ();
|
||||||
|
|
||||||
|
- // We don't touch key types here but include the
|
||||||
|
- // information in XkbSetMap request to the server, because
|
||||||
|
- // some X servers need the information to check the sanity
|
||||||
|
- // of the keysyms change.
|
||||||
|
- changes.changed = (ushort) (Xkb.KeySymsMask | Xkb.KeyTypesMask);
|
||||||
|
+ changes.changed = (ushort) Xkb.KeySymsMask;
|
||||||
|
changes.first_key_sym = (char) this.reserved_keycode;
|
||||||
|
changes.num_key_syms = this.xkbdesc.map.key_sym_map[this.reserved_keycode].width;
|
||||||
|
- changes.first_type = 0;
|
||||||
|
- changes.num_types = this.xkbdesc.map.num_types;
|
||||||
|
+
|
||||||
|
Xkb.change_map (this.xdisplay, this.xkbdesc, changes);
|
||||||
|
|
||||||
|
this.xdisplay.flush ();
|
||||||
|
--
|
||||||
|
2.29.2
|
||||||
|
|
||||||
117
recipes-gnome/caribou/caribou/0007-drop_gir_patch.patch
Normal file
117
recipes-gnome/caribou/caribou/0007-drop_gir_patch.patch
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
From c52ce71c49dc8d6109a58d16cc8d491d7bd1d781 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rico Tzschichholz <ricotz@ubuntu.com>
|
||||||
|
Date: Wed, 20 Jan 2021 22:59:49 +0100
|
||||||
|
Subject: [PATCH] Stop patching the generated GIR
|
||||||
|
|
||||||
|
---
|
||||||
|
libcaribou/Makefile.am | 8 ++-----
|
||||||
|
tools/Makefile.am | 1 -
|
||||||
|
tools/fix_gir.py | 53 ------------------------------------------
|
||||||
|
3 files changed, 2 insertions(+), 60 deletions(-)
|
||||||
|
delete mode 100755 tools/fix_gir.py
|
||||||
|
|
||||||
|
diff --git a/libcaribou/Makefile.am b/libcaribou/Makefile.am
|
||||||
|
index 05f2774..0634374 100644
|
||||||
|
--- a/libcaribou/Makefile.am
|
||||||
|
+++ b/libcaribou/Makefile.am
|
||||||
|
@@ -7,7 +7,7 @@ libcaribou_la_VALAFLAGS = \
|
||||||
|
--pkg xtst --pkg gee-0.8 --pkg gdk-x11-3.0 --pkg libxml-2.0 \
|
||||||
|
--pkg libxklavier --pkg external-libs \
|
||||||
|
--internal-vapi caribou-internals-1.0.vapi \
|
||||||
|
- --library caribou-1.0 --gir _Caribou-1.0.gir \
|
||||||
|
+ --library caribou-1.0 --gir Caribou-1.0.gir \
|
||||||
|
--symbols libcaribou.symbols \
|
||||||
|
$(VALAFLAGS)
|
||||||
|
|
||||||
|
@@ -63,9 +63,6 @@ gir_DATA = Caribou-1.0.gir
|
||||||
|
typelibdir = $(libdir)/girepository-1.0
|
||||||
|
typelib_DATA = Caribou-1.0.typelib
|
||||||
|
|
||||||
|
-Caribou-1.0.gir: _Caribou-1.0.gir
|
||||||
|
- $(AM_V_GEN)$(PYTHON) -B $(top_srcdir)/tools/fix_gir.py $< > $@
|
||||||
|
-
|
||||||
|
Caribou-1.0.typelib: Caribou-1.0.gir
|
||||||
|
@INTROSPECTION_COMPILER@ --shared-library=libcaribou.so.0 -o $@ $^
|
||||||
|
|
||||||
|
@@ -81,8 +78,7 @@ CLEANFILES = \
|
||||||
|
caribou-1.0.vapi \
|
||||||
|
caribou-internals-1.0.vapi \
|
||||||
|
Caribou-1.0.typelib \
|
||||||
|
- Caribou-1.0.gir \
|
||||||
|
- _Caribou-1.0.gir
|
||||||
|
+ Caribou-1.0.gir
|
||||||
|
|
||||||
|
DISTCLEANFILES = \
|
||||||
|
caribou-1.0.pc
|
||||||
|
diff --git a/tools/Makefile.am b/tools/Makefile.am
|
||||||
|
index 3a9bcdb..89f753d 100644
|
||||||
|
--- a/tools/Makefile.am
|
||||||
|
+++ b/tools/Makefile.am
|
||||||
|
@@ -1,5 +1,4 @@
|
||||||
|
EXTRA_DIST = \
|
||||||
|
- fix_gir.py \
|
||||||
|
make_schema.py \
|
||||||
|
convert_cldr.py \
|
||||||
|
basic.xsl
|
||||||
|
diff --git a/tools/fix_gir.py b/tools/fix_gir.py
|
||||||
|
deleted file mode 100755
|
||||||
|
index 182d108..0000000
|
||||||
|
--- a/tools/fix_gir.py
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,53 +0,0 @@
|
||||||
|
-#!/usr/bin/python
|
||||||
|
-
|
||||||
|
-from xml.dom import minidom
|
||||||
|
-
|
||||||
|
-def purge_white_space_and_fix_namespace(node, indent=0):
|
||||||
|
- if getattr(node, "tagName", None) == "namespace":
|
||||||
|
- name = node.getAttribute("name")
|
||||||
|
- node.setAttribute("name", name.lstrip('_'))
|
||||||
|
- for child in [c for c in node.childNodes]:
|
||||||
|
- if child.nodeType == node.TEXT_NODE or \
|
||||||
|
- getattr(child, "tagName", None) == "annotation":
|
||||||
|
- node.removeChild(child)
|
||||||
|
- continue
|
||||||
|
- purge_white_space_and_fix_namespace(child, indent+1)
|
||||||
|
-
|
||||||
|
-def find_ancestor(node, name):
|
||||||
|
- if getattr(node, "tagName", None) == name:
|
||||||
|
- return node
|
||||||
|
- parent = getattr(node, "parentNode", None)
|
||||||
|
- if not parent:
|
||||||
|
- return None
|
||||||
|
- return find_ancestor(parent, name)
|
||||||
|
-
|
||||||
|
-def fix_vfuncs(dom):
|
||||||
|
- for f in dom.getElementsByTagName("field"):
|
||||||
|
- callbacks = f.getElementsByTagName("callback")
|
||||||
|
-
|
||||||
|
- record = find_ancestor(f, "record")
|
||||||
|
- if not record:
|
||||||
|
- continue
|
||||||
|
-
|
||||||
|
- name = record.getAttribute("name")
|
||||||
|
- cname = record.getAttribute("c:type")
|
||||||
|
-
|
||||||
|
- assert(name.endswith("Class") or name.endswith("Iface"))
|
||||||
|
- assert(cname.endswith("Class") or name.endswith("Iface"))
|
||||||
|
-
|
||||||
|
- if len(callbacks) == 2:
|
||||||
|
- callbacks[-1].parentNode.removeChild(callbacks[-1])
|
||||||
|
-
|
||||||
|
-if __name__ == "__main__":
|
||||||
|
- import sys
|
||||||
|
-
|
||||||
|
- if len(sys.argv) != 2:
|
||||||
|
- print("supply a gir file")
|
||||||
|
- sys.exit(1)
|
||||||
|
-
|
||||||
|
- dom = minidom.parse(sys.argv[-1])
|
||||||
|
-
|
||||||
|
- purge_white_space_and_fix_namespace(dom)
|
||||||
|
- fix_vfuncs(dom)
|
||||||
|
-
|
||||||
|
- print(dom.toprettyxml(indent=" ", newl="\n"))
|
||||||
|
--
|
||||||
|
GitLab
|
||||||
|
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
From 28984a9b5633ef8c34764efb3fb45819c3a8a52c Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Tue, 26 Apr 2022 22:18:33 +0200
|
||||||
|
Subject: [PATCH] Add a dummy --enable-introspection - our environment assumes
|
||||||
|
it supported
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
configure.ac | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 3959dca..c0cff13 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -128,6 +128,9 @@ IT_PROG_INTLTOOL([0.35.0])
|
||||||
|
|
||||||
|
dnl == GObject introspection ==
|
||||||
|
GOBJECT_INTROSPECTION_REQUIRE([0.10.7])
|
||||||
|
+AC_ARG_ENABLE([introspection],
|
||||||
|
+ AS_HELP_STRING([--enable-introspection],[Dummy enable introspection]),
|
||||||
|
+ [enable_foo=$enableval], [enable_foo=no])
|
||||||
|
|
||||||
|
dnl == Documentation ==
|
||||||
|
AC_ARG_ENABLE([docs],
|
||||||
|
--
|
||||||
|
2.34.1
|
||||||
|
|
||||||
45
recipes-gnome/caribou/caribou_0.4.21.bb
Normal file
45
recipes-gnome/caribou/caribou_0.4.21.bb
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
SUMMARY = "A simplified in-place on-screen keyboard"
|
||||||
|
LICENSE = "LGPL-2.0-or-later"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=e2aa4f66375a24019b0ff5e99cec40ad"
|
||||||
|
|
||||||
|
DEPENDS = " \
|
||||||
|
libxml2-native \
|
||||||
|
libxslt-native \
|
||||||
|
intltool-native \
|
||||||
|
glib-2.0-native \
|
||||||
|
python3-pygobject-native \
|
||||||
|
gtk+ \
|
||||||
|
gtk+3 \
|
||||||
|
libxklavier \
|
||||||
|
python3-pygobject \
|
||||||
|
clutter-1.0 \
|
||||||
|
libgee \
|
||||||
|
"
|
||||||
|
|
||||||
|
inherit gnomebase gobject-introspection gsettings vala gettext features_check
|
||||||
|
|
||||||
|
REQUIRED_DISTRO_FEATURES = "x11 gobject-introspection-data"
|
||||||
|
|
||||||
|
# 0001..0007.. are taken from
|
||||||
|
# https://src.fedoraproject.org/rpms/caribou/tree/rawhide
|
||||||
|
SRC_URI += " \
|
||||||
|
file://0001-caribou-0.4.20-fix-python-exec.patch \
|
||||||
|
file://0002-change_autostart_cinnamon.patch \
|
||||||
|
file://0003-fix-style-css.patch \
|
||||||
|
file://0004-Fix-compilation-error.patch \
|
||||||
|
file://0005-Fix-subkey-popmenu-not-showing-after-being-dismissed.patch \
|
||||||
|
file://0006-xadapter.vala-Remove-XkbKeyTypesMask-and-f.patch \
|
||||||
|
file://0007-drop_gir_patch.patch \
|
||||||
|
file://0008-Add-a-dummy-enable-introspection-our-environment-ass.patch \
|
||||||
|
"
|
||||||
|
SRC_URI[archive.sha256sum] = "9c43d9f4bd30f4fea7f780d4e8b14f7589107c52e9cb6bd202bd0d1c2064de55"
|
||||||
|
|
||||||
|
FILES:${PN} += " \
|
||||||
|
${datadir}/antler \
|
||||||
|
${datadir}/dbus-1 \
|
||||||
|
${PYTHON_SITEPACKAGES_DIR} \
|
||||||
|
${libdir}/gnome-settings-daemon-3.0 \
|
||||||
|
${libdir}/gtk-2.0/modules \
|
||||||
|
${libdir}/gtk-3.0/modules \
|
||||||
|
"
|
||||||
|
|
||||||
Reference in New Issue
Block a user