メインコンテンツへスキップ

Fcitx5にアドオンを追加してショートカットキーで現在の日付・時刻を入力できるようにする

·212 文字·1 分
Fcitx Lua
shiitake256
著者
shiitake256
I’m only human

概要
#

Fcitx5に自作のアドオンを追加してCtrl + Shift ;を押したときに現在の日付(例20250101), Ctrl + Shift + "を押したときに現在の日付と時刻(例: 202501011234)が入力される機能を追加します。

動作イメージ
#

動作イメージ

参考
#

環境
#

  • OS: Fedora Linux 41 (KDE Plasma) x86_64
  • Kernel: Linux 6.13.10-200.fc41.x86_64
  • DE: KDE Plasma 6.3.4
  • WM: KWin (Wayland)
  • Fcitx: 5.1.12

手順
#

Lua Addon Loaderのインストール
#

Fcitx5 に Lua スクリプト機能を追加する拡張モジュールをインストールします。

Fedora:

1
sudo apt install fcitx5-lua

Ubuntu / Debian 系(試してません):

1
sudo apt install fcitx5-lua

Arch Linux / Manjaro(試してません):

1
sudo pacman -S fcitx5-lua

openSUSE(試してません):

1
sudo zypper install fcitx5-lua

アドオンの作成
#

設定ファイルを$XDG_DATA/fcitx5/addon/[addon name].confとして作成します。

$XDG_DATAは未設定の場合~/.local/share/になります。

XDG Base Directory Specification

 1# ~/.local/share/fcitx5/lua/input-current-datetime/metadata.conf
 2
 3[Addon]
 4Name=Input Current Datetime
 5Comment=Hotkey extension
 6Category=Module
 7Type=Lua
 8OnDemand=False
 9Configurable=False
10Library=main.lua
11Enabled=True
12
13[Addon/Dependencies]
140=luaaddonloader

アドオン本体を$XDG_DATA/fcitx5/lua/[addon name]/[file name].luaとして作成します。

[file name].lua[addon name].conf内のLibrary=に書いた名前と一致させます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
-- ~/.local/share/fcitx5/lua/input-current-datetime/main.lua

local fcitx = require("fcitx")
fcitx.watchEvent(fcitx.EventType.KeyEvent, "KeyEventHandler")

function KeyEventHandler(sym, state, release)
    if release then
        return
    end

    -- Ctrl + : (Ctrl + Shift + ;) -> 20250101
    if state == fcitx.KeyState.Ctrl and sym == 0x3a then
        fcitx.commitString(os.date("%Y%m%d"))
    end

    -- Ctrl + " (Ctrl + Shift + ') -> 20250101_123456
    if state == fcitx.KeyState.Ctrl and sym == 0x22 then
        fcitx.commitString(os.date("%Y%m%d_%H%M%S"))
    end
end

Fcitxの再起動
#

1
2
pkill fcitx5
fcitx5 -d