macOS用のIME状態表示&デスクトップ時計アプリケーション
| 項目 |
内容 |
| 対応OS |
macOS 14.0 (Sonoma) 以降 |
| アーキテクチャ |
Apple Silicon / Intel Mac |
| 技術スタック |
SwiftUI + AppKit |
| ライセンス |
MIT License |
デスクトップに浮遊する円形のIME状態表示。
| 言語 |
表示文字 |
デフォルト色 |
| 英語 (IME OFF) |
A |
青 |
| 日本語 |
あ |
赤 |
| 中国語(簡体字) |
简 |
緑 |
| 中国語(繁体字) |
繁 |
深緑 |
| 韓国語 |
한 |
紫 |
| タイ語 |
ไ |
シアン |
| ベトナム語 |
V |
ライトシアン |
| アラビア語 |
ع |
オレンジ |
| ヘブライ語 |
ע |
ゴールド |
| ヒンディー語 |
अ |
オレンジレッド |
| ロシア語 |
Я |
レッドパープル |
| ギリシャ語 |
Ω |
青 |
| その他 |
? |
グレー |
- 位置: X/Y座標(ドラッグ移動可能)
- サイズ: 30〜200px
- 背景透明度: 0.0〜1.0
- フォントサイズ比率: 0.3〜0.8
- フォント選択: システムフォントから選択
- 言語別カラー: 各言語の表示色を個別設定
- 言語別テキスト: 各言語の表示文字を変更可能
- マルチディスプレイ: 表示ディスプレイの選択
フローティングウィンドウで表示されるリアルタイム時計。
| モード |
説明 |
| アナログ |
時針・分針・秒針付きの伝統的な時計盤 |
| デジタル |
テキストベースの時刻表示 |
- 縦並び(日付/時刻)
- 横並び(日付/時刻)
- 日付のみ
- 時刻のみ
| タイプ |
例 |
| 数字 |
2026/01/12 |
| 短縮 |
Jan 12, 2026 |
| 長形式 |
January 12, 2026 |
| 完全 |
Sunday, January 12, 2026 |
| カスタム1 |
ユーザー定義 |
| カスタム2 |
ユーザー定義 |
| タイプ |
例 |
| 標準 |
HH:mm:ss |
| 短縮 |
HH:mm |
| 完全 |
タイムゾーン付き |
| カスタム1 |
ユーザー定義 |
| カスタム2 |
ユーザー定義 |
- ウィンドウサイズ: 幅・高さ
- フォント: 種類・サイズ
- テキスト色: RGBA指定
- アナログ時計色: RGBA指定
- 背景色: IME ON/OFF別に設定可能
- 背景透明度: 調整可能
- 秒表示: ON/OFF
マウスカーソルに追従する小型IME状態表示。
| 項目 |
範囲 |
| サイズ |
12〜32px |
| オフセットX |
-30〜+30px |
| オフセットY |
-30〜+30px |
| 透明度 |
0.5〜1.0 |
- IMEインジケーターと同じ色を使用
- または言語別に個別カラー設定
アプリはDockに表示されず、メニューバーから操作。
| 項目 |
機能 |
| About |
アプリ情報表示 |
| IMEインジケーター表示/非表示 |
トグル |
| IMEインジケーター設定 |
設定画面を開く |
| 時計表示/非表示 |
トグル |
| 時計設定 |
設定画面を開く |
| マウスカーソルインジケーター表示/非表示 |
トグル |
| マウスカーソルインジケーター設定 |
設定画面を開く |
| アクセシビリティ確認 |
権限状態確認 |
| 終了 |
アプリ終了 (Cmd+Q) |
- Carbon Framework の Text Input Services (TIS) を使用
- 二重検出方式:
- システム通知 (
AppleSelectedInputSourcesChangedNotification)
- タイマーポーリング(0.3秒間隔)フォールバック
~/Library/Application Support/IMEIndicatorClock/app_settings.json
{
"imeIndicator": { /* IME設定 */ },
"clock": { /* 時計設定 */ },
"mouseCursorIndicator": { /* カーソルインジケーター設定 */ }
}
- 外側円(グロー効果のラジアルグラデーション)
- 内側円(リニアグラデーション)
- 白いボーダー
- シャドウ付きテキストラベル
- 円形の時計盤とボーダー
- 12個の時間マーカー
- 時針・分針・秒針
- 中央のピボットポイント
- 初回起動時に権限確認アラート表示
- システム設定への直接リンク提供
- 「今後表示しない」オプションあり
- メニューから手動再確認可能
- 日本語
- English
- 简体中文
- 繁體中文
- 한국어
- ไทย (タイ語)
- Tiếng Việt (ベトナム語)
- العربية (アラビア語)
- עברית (ヘブライ語)
- हिंदी (ヒンディー語)
- Русский (ロシア語)
- Ελληνικά (ギリシャ語)
| カテゴリ |
ファイル |
| コアアプリ |
IMEIndicatorClockApp.swift, IMEMonitor.swift |
| 設定管理 |
AppSettings.swift, IMEIndicatorSettings.swift, ClockSettings.swift, MouseCursorIndicatorSettings.swift |
| ビュー |
IMEIndicatorView.swift, ClockView.swift, MouseCursorIndicatorView.swift |
| 設定UI |
IMEIndicatorSettingsView.swift, ClockSettingsView.swift, MouseCursorIndicatorSettingsView.swift |
| ウィンドウ管理 |
IMEIndicatorWindowManager.swift, ClockWindowManager.swift, MouseCursorIndicatorWindowManager.swift |
| UI管理 |
MenuBarManager.swift, 各種SettingsWindowManager |
| ユーティリティ |
AccessibilityHelper.swift, dbgLog.swift |
| その他 |
AboutView.swift, フォーマットピッカー類 |
Localizable.xcstrings - コアUI文字列
IMEIndicator.xcstrings - IMEインジケーター設定
Clock.xcstrings - 時計設定
About.xcstrings - Aboutダイアログ
MouseCursorIndicator.xcstrings - マウスインジケーター設定
- リアルタイム更新: 時計1秒、IME検出0.3秒間隔
- マルチディスプレイ対応: 表示ディスプレイを選択可能
- ドラッグ移動: Move Mode で直接位置調整
- 非侵襲的: Dockに表示されず、メニューバーから操作
- カスタマイズ性: 色・サイズ・位置・フォントを詳細設定
- レスポンシブデザイン: GeometryReaderによる適応レイアウト
- Claude AIとの協力開発
- 日本語・英語のコードコメント
- デバッグログ機能搭載
- SwiftUIプレビュー対応
- macOSアプリ設計ガイドライン準拠