前回、IBusでdconfエディターなど使っても、ユーザ辞書のエンコーディングなどを変更できず、 GitHub - vim-skk/skkeleton: SKK implements for Vim/Neovim with denops.vimで併用するとファイルが壊れる話をしたが、設定保存のやり方が分かったのでメモしておく。
ibus skk で設定が保存できない問題、やっと解決策見つけたああああhttps://t.co/Y1OGRTIL8x
— 若月.dga (@wktkshn) April 24, 2021
ibus skk で設定が保存できない問題、やっと解決策見つけたああああ https://t.co/Y1OGRTIL8x
ということで、 Effort 10%: ibus-anthyの設定が保存されない 問題解決にあった。
上記ではibus-anthy
の話だけど、ibus-skk
でも同じでibus-dconf
が起動していないと保存されない。保存した設定のロードもibus-dconf
が起動してないとされないので、起動の度にibus-daemon --config=/usr/libexec/ibus-dconf -drx
をやる必要がある。
ibus-memconf
でググると他にも同じような記事が二つ見付かった。
特に下の記事は起動するアプケーションのための desktop ファイルも用意されている。にしても、このバグ修正されんのかな。
ということで、ユーザ辞書のエンコーディングを変更した場合でも、
dconf write /desktop/ibus/engine/skk/dictionaries "['host=localhost,port=1178,type=server', 'file=/usr/share/skk/SKK-JISYO.L,mode=readonly,type=file', 'file=/home/arimasou16/.config/ibus-skk/user.dict,mode=readwrite,type=file,encoding=UTF-8']"
その後、 user.dict を確認すると Conding Cookieや文字コードはUTF-8となっていた。
;;; -*- coding: utf-8 -*-
;; okuri-ari entries.
;; okuri-nasi entries.
うちゅうせんかんやまと /宇宙戦艦ヤマト/
このまま使っても良いのだけど、やはり、何かあったときにユーザ辞書が壊れるのは嫌なので、ユーザ辞書を変更することにした。
dconf write /desktop/ibus/engine/skk/dictionaries "['host=localhost,port=1178,type=server', 'file=/usr/share/skk/SKK-JISYO.L,mode=readonly,type=file', 'file=/home/arimasou16/.config/ibus-skk/user.dict.utf8,mode=readwrite,type=file,encoding=UTF-8']"
再起動、確認。ヨシ!しかし、たまにこのIBus設定画面が開かないのは何なのか…
ちゃんと空集合たるØ
に変換される!
追記 2024-01-31
あー、駄目だ。ibusでキャッシュから読み込んで書き込むので、skkeletonでの書き込みが反映されずに反映されてしまう。大人しく別々にした方が良いということが分かった…
call skkeleton#config({
\'globalDictionaries':["/usr/share/skk/SKK-JISYO.L","~/.config/ibus-skk/user.dict.utf8"],
\'userDictionary':"~/.config/ibus-skk/user.dict.skkeleton",
\})
$ dconf read /desktop/ibus/engine/skk/dictionaries
['host=localhost,port=1178,type=server', 'file=/usr/share/skk/SKK-JISYO.L,mode=readonly,type=file', 'encoding=UTF-8,file=/home/arimasou16/.config/ibus-skk/user.dict.utf8,mode=readwrite,type=file', 'encoding=UTF-8,file=/home/arimasou16/.config/ibus-skk/user.dict.skkeleton,mode=readonly,type=file']
とIBus-SKKではskkeleton、それぞれ読み込み専用辞書で読ませておく方が良いのかなぁ。それにしてもグローバル辞書、システム辞書を監視してるわけでないので、更新したら、相互にすぐ読み込まれるわけではないだろうけど。それでも先祖返りするよりはマシなのかな。
追記ここまで