Vikunjaは、セルフホストできるTodoistライクなタスク管理サービスです。とても使いやすいのですが、Macで利用する場合に問題があります。それはIMEの漢字変換を確定するEnterボタンによってテキストが入力されてしまうことです。この問題が解決できない限り、Mac環境でVikunjaを常用することは難しいです。
ウェブサイトにユーザースクリプトを適用するブラウザ拡張であるTampermonkeyを利用することでこの問題を解決できました。ChromeやFirefoxなどTampermonkeyが利用できるブラウザで同じように適用できます。
設定方法は以下の通りです。
- ブラウザの拡張機能でTampermonkeyを追加する。
- Tampermonekyのダッシュボードを開き、「+」ボタンを押して新しいスクリプトを作成する。
- エディタで以下のスクリプトを記述して保存する。
<your vikunja host>
の部分をVikunjaのURLに合わせて書き換える。
// ==UserScript== // @name Vikunja handling ime enter for mac // @namespace http://tampermonkey.net/ // @version 2024-07-23 // @description try to take over the world! // @author <your name> // @match https://<your vikunja host>/* // @icon https://<your vikunja host/ // @grant none // ==/UserScript== (function() { 'use strict'; // Your code here... document.addEventListener('keydown', function(event) { if (event.key == 'Enter' && event.isComposing) { event.stopPropagation(); } }, {capture: true}); })();
isComposing
でIME変換中か判断し、変換中のEnter入力のプロパゲーションを防いでいます。Vikunjaと同じように、IME変換のEnterで文字入力が確定するサービスは多々存在するので、そういったサービスも同じ方法で対策できると思われます。