mirror of
https://github.com/moons-14/dotfiles.git
synced 2026-10-06 05:18:12 +09:00
fxitx5
This commit is contained in:
@@ -1,69 +0,0 @@
|
|||||||
[Hotkey]
|
|
||||||
# トリガーキーを押すたびに切り替える
|
|
||||||
EnumerateWithTriggerKeys=False
|
|
||||||
# 一時的に第1入力メソッドに切り替える
|
|
||||||
AltTriggerKeys=
|
|
||||||
# 切り替え時は第1入力メソッドをスキップする
|
|
||||||
EnumerateSkipFirst=False
|
|
||||||
# Time limit in milliseconds for triggering modifier key shortcuts
|
|
||||||
ModifierOnlyKeyTimeout=250
|
|
||||||
|
|
||||||
[Hotkey/TriggerKeys]
|
|
||||||
1=Zenkaku_Hankaku
|
|
||||||
|
|
||||||
[Hotkey/ActivateKeys]
|
|
||||||
0=Henkan
|
|
||||||
|
|
||||||
[Hotkey/DeactivateKeys]
|
|
||||||
0=Muhenkan
|
|
||||||
|
|
||||||
[Hotkey/PrevPage]
|
|
||||||
0=Up
|
|
||||||
|
|
||||||
[Hotkey/NextPage]
|
|
||||||
0=Down
|
|
||||||
|
|
||||||
[Hotkey/PrevCandidate]
|
|
||||||
0=Shift+Tab
|
|
||||||
|
|
||||||
[Hotkey/NextCandidate]
|
|
||||||
0=Tab
|
|
||||||
|
|
||||||
[Hotkey/TogglePreedit]
|
|
||||||
0=Control+Alt+P
|
|
||||||
|
|
||||||
[Behavior]
|
|
||||||
# デフォルトで有効にする
|
|
||||||
ActiveByDefault=False
|
|
||||||
# フォーカス時に状態をリセット
|
|
||||||
resetStateWhenFocusIn=No
|
|
||||||
# 入力状態を共有する
|
|
||||||
ShareInputState=No
|
|
||||||
# アプリケーションにプリエディットを表示する
|
|
||||||
PreeditEnabledByDefault=True
|
|
||||||
# 入力メソッドを切り替える際に入力メソッドの情報を表示する
|
|
||||||
ShowInputMethodInformation=True
|
|
||||||
# フォーカスを変更する際に入力メソッドの情報を表示する
|
|
||||||
showInputMethodInformationWhenFocusIn=False
|
|
||||||
# 入力メソッドの情報をコンパクトに表示する
|
|
||||||
CompactInputMethodInformation=True
|
|
||||||
# 第1入力メソッドの情報を表示する
|
|
||||||
ShowFirstInputMethodInformation=True
|
|
||||||
# デフォルトのページサイズ
|
|
||||||
DefaultPageSize=5
|
|
||||||
# XKB オプションより優先する
|
|
||||||
OverrideXkbOption=False
|
|
||||||
# カスタム XKB オプション
|
|
||||||
CustomXkbOption=
|
|
||||||
# Force Enabled Addons
|
|
||||||
EnabledAddons=
|
|
||||||
# Force Disabled Addons
|
|
||||||
DisabledAddons=
|
|
||||||
# Preload input method to be used by default
|
|
||||||
PreloadInputMethod=True
|
|
||||||
# パスワード欄に入力メソッドを許可する
|
|
||||||
AllowInputMethodForPassword=False
|
|
||||||
# パスワード入力時にプリエディットテキストを表示する
|
|
||||||
ShowPreeditForPassword=False
|
|
||||||
# ユーザーデータを保存する間隔(分)
|
|
||||||
AutoSavePeriod=30
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
osConfig,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
mkSessionService = target: {
|
|
||||||
Unit = {
|
|
||||||
Description = "Fcitx 5 input method";
|
|
||||||
Documentation = [ "https://fcitx-im.org/" ];
|
|
||||||
PartOf = [ target ];
|
|
||||||
After = [ target ];
|
|
||||||
};
|
|
||||||
|
|
||||||
Service = {
|
|
||||||
ExecStart = "${osConfig.i18n.inputMethod.package}/bin/fcitx5 --replace";
|
|
||||||
Restart = "on-failure";
|
|
||||||
};
|
|
||||||
|
|
||||||
Install.WantedBy = [ target ];
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
home.file.".config/fcitx5/config" = {
|
|
||||||
recursive = true;
|
|
||||||
source = ./config;
|
|
||||||
};
|
|
||||||
|
|
||||||
# niri starts XDG autostart entries through systemd. The explicit service
|
|
||||||
# below is shared with labwc, so suppress the package-provided entry.
|
|
||||||
xdg.configFile."autostart/org.fcitx.Fcitx5.desktop".text = ''
|
|
||||||
[Desktop Entry]
|
|
||||||
Hidden=true
|
|
||||||
'';
|
|
||||||
|
|
||||||
systemd.user.services =
|
|
||||||
lib.optionalAttrs config.my.applications.niri.enable {
|
|
||||||
fcitx5-niri = mkSessionService "niri.service";
|
|
||||||
}
|
|
||||||
// lib.optionalAttrs config.my.applications.labwc.enable {
|
|
||||||
fcitx5-labwc = mkSessionService "labwc-session.target";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,43 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
let
|
|
||||||
# CC-BY-SA 3.0: https://github.com/jiro-aqua/aquamozc-dictionary
|
|
||||||
kanaengDictionary =
|
|
||||||
pkgs.runCommandNoCC "mozcdic-ut-kanaeng"
|
|
||||||
{
|
|
||||||
nativeBuildInputs = with pkgs; [
|
|
||||||
gawk
|
|
||||||
gnutar
|
|
||||||
bzip2
|
|
||||||
];
|
|
||||||
}
|
|
||||||
''
|
|
||||||
mkdir -p "$out"
|
|
||||||
|
|
||||||
awk -F '\t' 'NF == 3 { print $1 "\t0000\t0000\t8000\t" $2; }' \
|
|
||||||
${
|
|
||||||
pkgs.fetchurl {
|
|
||||||
url = "https://raw.githubusercontent.com/jiro-aqua/aquamozc-dictionary/ae7fae40b18f1500d97e3e4531fdff22abdc6a39/edict-katakana-english/kanaeng.mozc.txt";
|
|
||||||
hash = "sha256-rw8AlE2YAc3d4B6qQ6+LYchDiGwm6TesIfOozzZBGXo=";
|
|
||||||
}
|
|
||||||
} > mozcdic-ut-kanaeng.txt
|
|
||||||
|
|
||||||
tar -cjf "$out/mozcdic-ut-kanaeng.txt.tar.bz2" mozcdic-ut-kanaeng.txt
|
|
||||||
'';
|
|
||||||
|
|
||||||
mozcWithKanaeng = pkgs.mozc.override {
|
|
||||||
dictionaries = with pkgs; [
|
|
||||||
mozcdic-ut-alt-cannadic
|
|
||||||
mozcdic-ut-edict2
|
|
||||||
mozcdic-ut-jawiki
|
|
||||||
mozcdic-ut-neologd
|
|
||||||
mozcdic-ut-personal-names
|
|
||||||
mozcdic-ut-place-names
|
|
||||||
mozcdic-ut-skk-jisyo
|
|
||||||
mozcdic-ut-sudachidict
|
|
||||||
kanaengDictionary
|
|
||||||
];
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
services.hazkey.enable = true;
|
services.hazkey.enable = true;
|
||||||
|
|
||||||
@@ -48,30 +9,86 @@ in
|
|||||||
fcitx5 = {
|
fcitx5 = {
|
||||||
waylandFrontend = true;
|
waylandFrontend = true;
|
||||||
addons = with pkgs; [
|
addons = with pkgs; [
|
||||||
(fcitx5-mozc.override { mozc = mozcWithKanaeng; })
|
|
||||||
fcitx5-gtk
|
fcitx5-gtk
|
||||||
kdePackages.fcitx5-qt
|
kdePackages.fcitx5-qt
|
||||||
qt6Packages.fcitx5-configtool
|
qt6Packages.fcitx5-configtool
|
||||||
];
|
];
|
||||||
|
|
||||||
settings.inputMethod = {
|
settings = {
|
||||||
GroupOrder."0" = "Default";
|
inputMethod = {
|
||||||
"Groups/0" = {
|
GroupOrder."0" = "Default";
|
||||||
Name = "Default";
|
"Groups/0" = {
|
||||||
"Default Layout" = "jp";
|
Name = "Default";
|
||||||
DefaultIM = "mozc";
|
"Default Layout" = "jp";
|
||||||
|
DefaultIM = "hazkey";
|
||||||
|
};
|
||||||
|
"Groups/0/Items/0" = {
|
||||||
|
Name = "keyboard-jp";
|
||||||
|
};
|
||||||
|
"Groups/0/Items/1" = {
|
||||||
|
Name = "hazkey";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
"Groups/0/Items/0" = {
|
|
||||||
Name = "keyboard-jp";
|
globalOptions = {
|
||||||
Layout = "";
|
Hotkey = {
|
||||||
};
|
EnumerateWithTriggerKeys = false;
|
||||||
"Groups/0/Items/1" = {
|
AltTriggerKeys = "";
|
||||||
Name = "mozc";
|
EnumerateSkipFirst = false;
|
||||||
Layout = "";
|
ModifierOnlyKeyTimeout = 250;
|
||||||
};
|
};
|
||||||
"Groups/0/Items/2" = {
|
|
||||||
Name = "hazkey";
|
"Hotkey/TriggerKeys" = {
|
||||||
Layout = "";
|
"1" = "Zenkaku_Hankaku";
|
||||||
|
};
|
||||||
|
|
||||||
|
"Hotkey/ActivateKeys" = {
|
||||||
|
"0" = "Henkan";
|
||||||
|
};
|
||||||
|
|
||||||
|
"Hotkey/DeactivateKeys" = {
|
||||||
|
"0" = "Muhenkan";
|
||||||
|
};
|
||||||
|
|
||||||
|
"Hotkey/PrevPage" = {
|
||||||
|
"0" = "Up";
|
||||||
|
};
|
||||||
|
|
||||||
|
"Hotkey/NextPage" = {
|
||||||
|
"0" = "Down";
|
||||||
|
};
|
||||||
|
|
||||||
|
"Hotkey/PrevCandidate" = {
|
||||||
|
"0" = "Shift+Tab";
|
||||||
|
};
|
||||||
|
|
||||||
|
"Hotkey/NextCandidate" = {
|
||||||
|
"0" = "Tab";
|
||||||
|
};
|
||||||
|
|
||||||
|
"Hotkey/TogglePreedit" = {
|
||||||
|
"0" = "Control+Alt+P";
|
||||||
|
};
|
||||||
|
|
||||||
|
Behavior = {
|
||||||
|
ActiveByDefault = false;
|
||||||
|
resetStateWhenFocusIn = "No";
|
||||||
|
ShareInputState = "No";
|
||||||
|
PreeditEnabledByDefault = true;
|
||||||
|
ShowInputMethodInformation = true;
|
||||||
|
showInputMethodInformationWhenFocusIn = false;
|
||||||
|
CompactInputMethodInformation = true;
|
||||||
|
ShowFirstInputMethodInformation = true;
|
||||||
|
DefaultPageSize = 5;
|
||||||
|
OverrideXkbOption = false;
|
||||||
|
CustomXkbOption = "";
|
||||||
|
EnabledAddons = "";
|
||||||
|
DisabledAddons = "";
|
||||||
|
PreloadInputMethod = true;
|
||||||
|
AllowInputMethodForPassword = false;
|
||||||
|
ShowPreeditForPassword = false;
|
||||||
|
AutoSavePeriod = 30;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user