#============================================================ # usage: %post_ibus_register_engine pinyin zh #============================================================ %post_ibus_register_engine() %{nil} #if [ "$1" = "1" -a `locale -a|grep %{2} |wc -l` -gt 0 ]; then \ # current_value=$(%{_bindir}/gsettings get org.freedesktop.ibus.general preload-engines 2>/dev/null); \ # current_value=${current_value/[/}; \ # current_value=${current_value/]/}; \ # if [ -n "${current_value}" ]; then \ # new_value="${current_value},"; \ # fi \ # new_value="${new_value}%{1}"; \ # new_value="[${new_value}]"; \ # %{_bindir}/gsettings set org.freedesktop.ibus.general preload-engines "${new_value}"; \ #fi #============================================================ # usage: %preun_ibus_unregister_engine pinyin #============================================================ %preun_ibus_unregister_engine() %{nil} #if [ "$1" = "0" ]; then \ # current_value=$(%{_bindir}/gsettings get org.freedesktop.ibus.general preload-engines 2>/dev/null); \ # current_value=${current_value/[/}; \ # current_value=${current_value/]/}; \ # new_value=$(echo $current_value | tr ',' '\\n' | grep -v ^%{1}$ |tr '\\n' ',' | sed 's/,$//'); \ # new_value="[${new_value}]"; \ # %{_bindir}/gsettings set org.freedesktop.ibus.general preload-engines "${new_value}"; \ #fi