コンセプトの証明:ユーザーChromeJSアドオン + カスタムユーザースクリプト

コンセプトの証明:ユーザーChromeJSアドオン + カスタムユーザースクリプト

私は、97 歳の祖母のラップトップ (Ubuntu 20.04) を、祖母にとってより使いやすいものにしようとしています。祖母は、Thunderbird のメッセージ作成ウィンドウで書いたメール テキストが消えてしまうため、しばしばイライラしています。タッチパッドを無効にして外付けマウスを使用すると、すでにかなり改善されています。しかし、祖母はマウスでテキスト カーソルを置こうとすると (ドラッグまたはダブルクリックして)、まだ誤ってテキストを選択しているのではないかと思います。祖母が入力を続けると、選択したテキストが上書きされます。祖母は入力中にキーボードに集中する必要があるため、何が起こったのかすぐには気付かず、「元に戻す」のが難しくなります。

  1. Thunderbird のメッセージ作成ウィンドウでこの動作を無効にして、入力時に選択したテキストが置き換えられるのではなく選択解除されるようにすることは可能でしょうか?
  2. 動作を変更できない場合は、マウスによるテキスト選択を全体的に無効にできますか?

この問題に対処するための技術的なヒントやその他のアイデアがあれば、ぜひ教えてください。考えられる回答としては、Thunderbird の隠し設定や回避策、またはカスタム スクリプトや (Web) 拡張機能を使用してこの問題を解決する方法の説明などが考えられます。

注: この質問を絞り込むために、この質問はThunderbirdのメッセージ作成ウィンドウでこの問題を解決する方法について具体的に尋ねました。Libreoffice Writerに関する質問そして、システム全体の解決策についてはaskubuntu.comで質問してください

答え1

コンセプトの証明:ユーザーChromeJSアドオン + カスタムユーザースクリプト

自分の質問に答えると、私はこれをやり遂げることができたハックユーザーが入力を続ける前に、現在の選択を解除します。

もし誰かがこれを現実のものにする方法を知っているならThunderbird メール拡張機能お気軽にこの回答を更新したり、独自の回答を開始してください。

設定

  1. 実験的なThunderbirdアドオンをインストールするユーザーChromeJS
  2. chromeThunderbirdプロファイルディレクトリ内にフォルダを作成する
  3. userChrome.js次の内容を含む、 there という名前のテキスト ファイルを作成します。
    function deselect(e) {
      if(e.ctrlKey || e.altKey || e.metaKey || e.keyCode === 16) {
        return; // don't do anything if those keys are pressed
      }
      let currentWindow = e.view
      let selection = currentWindow.getSelection(); 
      selection.collapseToStart();
    }
    window.addEventListener("keydown", deselect);
    
  4. Thunderbirdを再起動する

注意点

  • userChromeJS アドオン実験的フラグが付けられている
  • このハックは Thunderbird 68.10.0 でテストされました。他のバージョンでは動作しない可能性があります。
  • これは、メッセージの内容を入力する Thunderbird のメッセンジャー作成ウィンドウでは機能しますが、受信者などの他の入力では現在のところ機能しません。
  • エッジケースに対処するために調整が必要になる場合があります
  • 現在、すべてのThunderbirdウィンドウからのすべてのキーボード入力を監視しています。

関連情報