Skip to content

About

日付や時刻を動的に候補に出すためのSKKServ

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

skk-time-server

SKKサーバとして動作し、現在の日付・時刻を動的に返すサーバです。 設定ファイルに変換キーとフォーマットを定義することで、かな変換やabbrevモードから日時を入力できます。

インストール

Nix / NixOS (推奨)

# 試すだけ
nix run github:Syu-fu/skk-time-server

# プロフィールにインストール
nix profile install github:Syu-fu/skk-time-server

NixOSの設定に組み込む場合は NixOS モジュール (推奨) か パッケージの直接インストール を選べます。

NixOS モジュール (推奨)

設定をそのまま flake.nix / NixOS の設定ファイルに書けます。 設定ファイルの生成・systemd サービスの登録をすべて自動でおこないます。

# flake.nix
{
  inputs.skk-time-server.url = "github:Syu-fu/skk-time-server";
}
# configuration.nix
{ inputs, ... }:
{
  imports = [ inputs.skk-time-server.nixosModules.default ];

  services.skk-time-server = {
    enable = true;
    conversions = {
      "きょう"       = "%Y-%m-%d";
      "いま"         = "%H:%M:%S";
      "ねんげつにち" = "%Y年%m月%d日";
      "ことし"       = "%Y";
      # abbrevモード用 ASCII キーも同様に書ける
      "today"        = "%Y-%m-%d";
      "now"          = "%H:%M:%S";
    };
  };
}

パッケージのみインストール

# flake.nix
{
  inputs.skk-time-server.url = "github:Syu-fu/skk-time-server";
}
# configuration.nix
{ inputs, pkgs, system, ... }:
{
  environment.systemPackages = [
    inputs.skk-time-server.packages.${system}.default
  ];
}

設定は ~/.config/skk-time-server/config.toml に置きます(後述)。

Cargo

cargo install --git https://github.com/Syu-fu/skk-time-server

バイナリ

Releases から使用環境に合ったバイナリをダウンロードし、PATH の通った場所に置きます。

ファイル名 対象
skk-time-server-x86_64-unknown-linux-gnu Linux (x86_64, glibc)
skk-time-server-aarch64-unknown-linux-gnu Linux (ARM64, glibc)
skk-time-server-x86_64-unknown-linux-musl Linux (x86_64, musl / Alpine等)
skk-time-server-aarch64-unknown-linux-musl Linux (ARM64, musl)

起動

skk-time-server

デフォルトで 127.0.0.1:1178 でリッスンします。ログレベルは RUST_LOG 環境変数で制御できます:

RUST_LOG=debug skk-time-server

設定ファイル

$XDG_CONFIG_HOME/skk-time-server/config.toml に配置します。 XDG_CONFIG_HOME が未設定の場合は ~/.config/skk-time-server/config.toml が使われます。

設定ファイルが存在しない場合はサーバは起動しますが、すべての変換キーに対して「見つからない」を返します。

書き方

[conversions]
"変換キー" = "フォーマット文字列"
  • 変換キー: SKKクライアントが送ってくる見出し語。かなでもASCII(abbrevモード)でも使えます。
  • フォーマット文字列: chrono の strftime 書式。

フォーマット文字列の主な書式

書式 意味 例
%Y 年 (4桁) 2026
%y 年 (下2桁) 26
%m 月 (2桁) 04
%d 日 (2桁) 04
%H 時 (24時間, 2桁) 15
%M 分 (2桁) 30
%S 秒 (2桁) 45
%A 曜日 (英語) Saturday
%a 曜日略称 (英語) Sat

設定例

[conversions]
# かな変換
"きょう"       = "%Y-%m-%d"
"ねんげつにち" = "%Y年%m月%d日"
"いま"         = "%H:%M:%S"
"こんげつ"     = "%Y-%m"
"ことし"       = "%Y"
"ようび"       = "%A"

# abbrevモード (ASCII キー)
"today"        = "%Y-%m-%d"
"now"          = "%H:%M:%S"
"datetime"     = "%Y-%m-%d %H:%M:%S"

SKKクライアントの設定

ddskk

~/.skk または init.el に以下を追加します:

(setq skk-server-host "127.0.0.1")
(setq skk-server-portnum 1178)
;; 既存のサーバと併用する場合は skk-server-host に優先順位の高い方を設定

abbrevモードで使う場合は C-x j でSKKを起動後、/ を押してabbrevモードに切り替え、 設定したASCIIキー (today など) を入力します。

ライセンス

MIT

About

日付や時刻を動的に候補に出すためのSKKServ

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages