forked from pool/fcitx5
Accepting request 946559 from home:MargueriteSu:branches:M17N
- can start via systemd user service on wayland - fix typo and requirements OBS-URL: https://build.opensuse.org/request/show/946559 OBS-URL: https://build.opensuse.org/package/show/M17N/fcitx5?expand=0&rev=19
This commit is contained in:
parent
fc767841f6
commit
4b3105e741
4
99-fcitx5.conf
Normal file
4
99-fcitx5.conf
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
XMODIFIERS=@im=${INPUT_METHOD}
|
||||||
|
GTK_IM_MODULE=${INPUT_METHOD}
|
||||||
|
QT_IM_SWITCHER=imsw-multi
|
||||||
|
QT_IM_MODULE=${INPUT_METHOD}
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Jan 15 05:05:58 UTC 2022 - Marguerite Su <i@marguerite.su>
|
||||||
|
|
||||||
|
- can start via systemd user service on wayland
|
||||||
|
- fix typo and requirements
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Dec 8 01:49:47 UTC 2021 - Tranter Madi <trmdi@yandex.com>
|
Wed Dec 8 01:49:47 UTC 2021 - Tranter Madi <trmdi@yandex.com>
|
||||||
|
|
||||||
|
10
fcitx5.service
Normal file
10
fcitx5.service
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Next generation of Flexible Input Method Framework
|
||||||
|
Conflicts=ibus.service fcitx.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/bin/fcitx5 -D
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
Alias=input-method.service
|
||||||
|
WantedBy=default.target
|
33
fcitx5.spec
33
fcitx5.spec
@ -32,6 +32,9 @@ Source2: https://raw.githubusercontent.com/fcitx/fcitx-artwork/master/log
|
|||||||
Source3: xim.d-fcitx5
|
Source3: xim.d-fcitx5
|
||||||
Source4: macros.fcitx5
|
Source4: macros.fcitx5
|
||||||
Source99: baselibs.conf
|
Source99: baselibs.conf
|
||||||
|
Source100: input-method.py3
|
||||||
|
Source101: 99-fcitx5.conf
|
||||||
|
Source102: fcitx5.service
|
||||||
Patch0: fcitx5-no-download.patch
|
Patch0: fcitx5-no-download.patch
|
||||||
Patch1: fcitx5-gcc7.patch
|
Patch1: fcitx5-gcc7.patch
|
||||||
BuildRequires: Mesa-libEGL-devel
|
BuildRequires: Mesa-libEGL-devel
|
||||||
@ -71,13 +74,6 @@ BuildRequires: xkeyboard-config
|
|||||||
%if 0%{?suse_version} <= 1520
|
%if 0%{?suse_version} <= 1520
|
||||||
BuildRequires: appstream-glib-devel
|
BuildRequires: appstream-glib-devel
|
||||||
%endif
|
%endif
|
||||||
Requires: libFcitx5Config6 = %{version}
|
|
||||||
Requires: libFcitx5Core7 = %{version}
|
|
||||||
Requires: libFcitx5Utils2 = %{version}
|
|
||||||
Recommends: fcitx5-gtk2
|
|
||||||
Recommends: fcitx5-gtk3
|
|
||||||
Recommends: fcitx5-qt4
|
|
||||||
Recommends: fcitx5-qt5
|
|
||||||
Provides: fcitx = %{version}
|
Provides: fcitx = %{version}
|
||||||
Obsoletes: fcitx <= 4.2.9.8
|
Obsoletes: fcitx <= 4.2.9.8
|
||||||
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150200 && 0%{?is_opensuse}
|
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150200 && 0%{?is_opensuse}
|
||||||
@ -85,6 +81,7 @@ BuildRequires: rsvg-convert
|
|||||||
%else
|
%else
|
||||||
BuildRequires: rsvg-view
|
BuildRequires: rsvg-view
|
||||||
%endif
|
%endif
|
||||||
|
%systemd_requires
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Fcitx 5 is a generic input method framework.
|
Fcitx 5 is a generic input method framework.
|
||||||
@ -102,8 +99,8 @@ This package provides development files for fcitx5.
|
|||||||
%package -n libFcitx5Config6
|
%package -n libFcitx5Config6
|
||||||
Summary: Configuration library for fcitx5
|
Summary: Configuration library for fcitx5
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
Provides: libFcitx5Core5 = %{version}
|
Provides: libFcitx5Config5 = %{version}
|
||||||
Obsoletes: libFcitx5Core5 < %{version}
|
Obsoletes: libFcitx5Config5 < %{version}
|
||||||
|
|
||||||
%description -n libFcitx5Config6
|
%description -n libFcitx5Config6
|
||||||
This package provides configuration libraries for fcitx5.
|
This package provides configuration libraries for fcitx5.
|
||||||
@ -150,7 +147,7 @@ ln -sf %{_datadir}/applications/org.fcitx.Fcitx5.desktop %{buildroot}%{_sysconfd
|
|||||||
|
|
||||||
# create autostart
|
# create autostart
|
||||||
mkdir -p %{buildroot}%{_distconfdir}/X11/xim.d/
|
mkdir -p %{buildroot}%{_distconfdir}/X11/xim.d/
|
||||||
install -m 644 %{SOURCE3} %{buildroot}%{_distconfdir}/X11/xim.d/fcitx
|
install -m 644 %{SOURCE3} %{buildroot}%{_distconfdir}/X11/xim.d/fcitx5
|
||||||
|
|
||||||
priority=30
|
priority=30
|
||||||
pushd %{buildroot}%{_distconfdir}/X11/xim.d/
|
pushd %{buildroot}%{_distconfdir}/X11/xim.d/
|
||||||
@ -159,11 +156,16 @@ pushd %{buildroot}%{_distconfdir}/X11/xim.d/
|
|||||||
de fr it es nl cs pl da nn nb fi en sv ; do
|
de fr it es nl cs pl da nn nb fi en sv ; do
|
||||||
mkdir $lang
|
mkdir $lang
|
||||||
pushd $lang
|
pushd $lang
|
||||||
ln -s ../fcitx $priority-fcitx
|
ln -s ../fcitx5 $priority-fcitx5
|
||||||
popd
|
popd
|
||||||
done
|
done
|
||||||
popd
|
popd
|
||||||
|
|
||||||
|
# install environment generator for wayland
|
||||||
|
install -D -m 0755 %{SOURCE100} %{buildroot}%{_systemd_user_env_generator_dir}/99-fcitx5.py3
|
||||||
|
install -D -m 0644 %{SOURCE101} %{buildroot}%{_environmentdir}/99-fcitx5.conf
|
||||||
|
install -D -m 0644 %{SOURCE102} %{buildroot}%{_userunitdir}/fcitx5.service
|
||||||
|
|
||||||
# install icons
|
# install icons
|
||||||
for i in 16 22 24 32 48 512; do
|
for i in 16 22 24 32 48 512; do
|
||||||
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps/
|
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps/
|
||||||
@ -185,6 +187,10 @@ install -Dm 0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/rpm/macros.fcitx5
|
|||||||
%find_lang fcitx5
|
%find_lang fcitx5
|
||||||
%fdupes %{buildroot}
|
%fdupes %{buildroot}
|
||||||
|
|
||||||
|
%systemd_user_pre fcitx5.service
|
||||||
|
%systemd_user_post fcitx5.service
|
||||||
|
%systemd_user_preun fcitx5.service
|
||||||
|
%systemd_user_postun fcitx5.service
|
||||||
%post -p /sbin/ldconfig
|
%post -p /sbin/ldconfig
|
||||||
%post -n libFcitx5Config6 -p /sbin/ldconfig
|
%post -n libFcitx5Config6 -p /sbin/ldconfig
|
||||||
%post -n libFcitx5Core7 -p /sbin/ldconfig
|
%post -n libFcitx5Core7 -p /sbin/ldconfig
|
||||||
@ -197,6 +203,8 @@ install -Dm 0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/rpm/macros.fcitx5
|
|||||||
%files -f fcitx5.lang
|
%files -f fcitx5.lang
|
||||||
%doc README.md
|
%doc README.md
|
||||||
%license LICENSES
|
%license LICENSES
|
||||||
|
%dir %{_systemd_user_env_generator_dir}
|
||||||
|
%dir %{_environmentdir}
|
||||||
%{_distconfdir}/X11/xim.d/
|
%{_distconfdir}/X11/xim.d/
|
||||||
%{_sysconfdir}/xdg/autostart/org.fcitx.Fcitx5.desktop
|
%{_sysconfdir}/xdg/autostart/org.fcitx.Fcitx5.desktop
|
||||||
%{_bindir}/fcitx5
|
%{_bindir}/fcitx5
|
||||||
@ -204,6 +212,9 @@ install -Dm 0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/rpm/macros.fcitx5
|
|||||||
%{_bindir}/fcitx5-remote
|
%{_bindir}/fcitx5-remote
|
||||||
%{_bindir}/fcitx5-diagnose
|
%{_bindir}/fcitx5-diagnose
|
||||||
%{_libdir}/fcitx5
|
%{_libdir}/fcitx5
|
||||||
|
%{_systemd_user_env_generator_dir}/99-fcitx5.py3
|
||||||
|
%{_environmentdir}/99-fcitx5.conf
|
||||||
|
%{_userunitdir}/fcitx5.service
|
||||||
%{_datadir}/applications/org.fcitx.Fcitx5.desktop
|
%{_datadir}/applications/org.fcitx.Fcitx5.desktop
|
||||||
%{_datadir}/applications/fcitx5-configtool.desktop
|
%{_datadir}/applications/fcitx5-configtool.desktop
|
||||||
%{_datadir}/fcitx5
|
%{_datadir}/fcitx5
|
||||||
|
37
input-method.py3
Normal file
37
input-method.py3
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
from os import listdir
|
||||||
|
from os.path import isdir, isfile, join
|
||||||
|
|
||||||
|
def get_input_methods():
|
||||||
|
mypath = "/etc/X11/xim.d/en"
|
||||||
|
files = []
|
||||||
|
if isdir(mypath):
|
||||||
|
files = [f for f in listdir(mypath) if isfile(join(mypath, f))]
|
||||||
|
if not files:
|
||||||
|
mypath = "/usr/etc/X11/xim.d/en"
|
||||||
|
if isdir(mypath):
|
||||||
|
files = [f for f in listdir(mypath) if isfile(join(mypath, f))]
|
||||||
|
return files
|
||||||
|
|
||||||
|
def get_current_input_method():
|
||||||
|
i = 0
|
||||||
|
j = 0
|
||||||
|
s = ""
|
||||||
|
m = get_input_methods()
|
||||||
|
if not m:
|
||||||
|
return s
|
||||||
|
for im in m:
|
||||||
|
arr = im.split('-')
|
||||||
|
if j == 0:
|
||||||
|
i = arr[0]
|
||||||
|
s = arr[1]
|
||||||
|
j+=1
|
||||||
|
continue
|
||||||
|
if int(arr[0]) < i:
|
||||||
|
i = arr[0]
|
||||||
|
s = arr[1]
|
||||||
|
j+=1
|
||||||
|
return s
|
||||||
|
|
||||||
|
print("INPUT_METHOD={}".format(get_current_input_method()))
|
Loading…
Reference in New Issue
Block a user