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>
|
||||
|
||||
|
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
|
||||
Source4: macros.fcitx5
|
||||
Source99: baselibs.conf
|
||||
Source100: input-method.py3
|
||||
Source101: 99-fcitx5.conf
|
||||
Source102: fcitx5.service
|
||||
Patch0: fcitx5-no-download.patch
|
||||
Patch1: fcitx5-gcc7.patch
|
||||
BuildRequires: Mesa-libEGL-devel
|
||||
@ -71,13 +74,6 @@ BuildRequires: xkeyboard-config
|
||||
%if 0%{?suse_version} <= 1520
|
||||
BuildRequires: appstream-glib-devel
|
||||
%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}
|
||||
Obsoletes: fcitx <= 4.2.9.8
|
||||
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150200 && 0%{?is_opensuse}
|
||||
@ -85,6 +81,7 @@ BuildRequires: rsvg-convert
|
||||
%else
|
||||
BuildRequires: rsvg-view
|
||||
%endif
|
||||
%systemd_requires
|
||||
|
||||
%description
|
||||
Fcitx 5 is a generic input method framework.
|
||||
@ -102,8 +99,8 @@ This package provides development files for fcitx5.
|
||||
%package -n libFcitx5Config6
|
||||
Summary: Configuration library for fcitx5
|
||||
Group: System/Libraries
|
||||
Provides: libFcitx5Core5 = %{version}
|
||||
Obsoletes: libFcitx5Core5 < %{version}
|
||||
Provides: libFcitx5Config5 = %{version}
|
||||
Obsoletes: libFcitx5Config5 < %{version}
|
||||
|
||||
%description -n libFcitx5Config6
|
||||
This package provides configuration libraries for fcitx5.
|
||||
@ -150,7 +147,7 @@ ln -sf %{_datadir}/applications/org.fcitx.Fcitx5.desktop %{buildroot}%{_sysconfd
|
||||
|
||||
# create autostart
|
||||
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
|
||||
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
|
||||
mkdir $lang
|
||||
pushd $lang
|
||||
ln -s ../fcitx $priority-fcitx
|
||||
ln -s ../fcitx5 $priority-fcitx5
|
||||
popd
|
||||
done
|
||||
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
|
||||
for i in 16 22 24 32 48 512; do
|
||||
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
|
||||
%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 -n libFcitx5Config6 -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
|
||||
%doc README.md
|
||||
%license LICENSES
|
||||
%dir %{_systemd_user_env_generator_dir}
|
||||
%dir %{_environmentdir}
|
||||
%{_distconfdir}/X11/xim.d/
|
||||
%{_sysconfdir}/xdg/autostart/org.fcitx.Fcitx5.desktop
|
||||
%{_bindir}/fcitx5
|
||||
@ -204,6 +212,9 @@ install -Dm 0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/rpm/macros.fcitx5
|
||||
%{_bindir}/fcitx5-remote
|
||||
%{_bindir}/fcitx5-diagnose
|
||||
%{_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/fcitx5-configtool.desktop
|
||||
%{_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