id:lufiabb
上の方とは逆で、
()の前後はだいたい詰めて書きますstatic void copy(char *t, char *s) { while(*t++ = *s++) ; }この癖はPlan 9のstyle(6)由来ですね
ベーコンを3枚ほど乗せて、味の素をかけて焼くのが好き
ブラックペッパーは使いませんが見た目はこんなやつです
ベーコンチーズトースト レシピ・作り方 by おまめcafe - 楽天レシピそれだけだと無益なので過去に調べたIME周りのメモを貼っておきます
アプリケーション側で利用できるならWaylandネイティブな text-input の利用が推奨される。コンポジタがサーバーとなって、アプリケーションがクライアントとして動作する。ユーザーの入力はコンポジタが受け取りアプリケーションに送られる。しかしこのプロトコルはシンプルにテキストをアプリケーションへ伝えるもので、漢字変換などは対象としていない。
漢字変換などは input-method プロトコルで行う。コンポジタは input-method を実装したアプリケーションにユーザーの入力をリダイレクトして、結果を受け取りアプリケーションへ送る。この場合、ユーザーとコンポジタの間に input-method プロトコルの実装が挟まる状態となる。fcitx や ibus のようなプログラムがこれを実装する。
プロトコル text-input input-method virtual-keyboard wlroots(Sway) v3 v2 v1 Mutter(GNOME) v3 (ibus) KWin(KDE) v1, v2, v3 v1 fcitx5 - v2 ibus - v1, v2 v1 Chromium v1, (v3) - GNOMEでは input-method プロトコルを利用しない、代わりに、Using Fcitx 5 on WaylandによればIBusプロトコルが使われるらしい。
例えばSwayの上で fcitx5-mozc を使ってElectronアプリへ日本語入力する場合、Swayでは text-input v3しかサポートしないので --wayland-input-method-version=3 でアプリケーション側の text-input をv3に切り替えておく必要がある。この状況でテキストを入力すると
- ユーザー入力はwlrootsが受けて input-method v2で fcitx5 へ渡す
- 変換をトリガーするイベントは text-input プロトコルにある
- コンポジタは変換の結果を受け取って、input-method v3でChromiumへ渡す
となる。
Electronアプリで困っていて https://p.hatena.ne.jp/p/1527482178013761536/t/1534090862718357504 を書いたけれど、意外と解決している気がするので最近は困ってないですね...
WMはHyprland+DMSです
気づいてくれる方がいてうれしい、plan9portのacmeです
plan9port#696でWayland対応が進んでいるので、これをベースに、droyoさんという人がIM対応している部分をパッチして使っています
コメントありがとうございます、今まではローカルインプット(ShareInputState=No)でしたが、グローバルに切り替えて様子をみてみます。
具体的には ~/.config/fcitx5/profile でこのようにしました。
[Behavior] ShareInputState=All # No or All が設定できる各種プロトコルは、この辺りあまり詳しくないですが、おそらくこれが正しいのではないかと思ってます
- Hyprlandとfcitx5は input-method-v2 で通信
- HyprlandとElectronアプリは text-input-unstable-v3 で通信