Notion Sidebar Controller v1.3.0 リリース

JavaScriptchat_bubble0

ウィンドウがどのディスプレイに表示されているのかを識別してNotionのサイドバーの表示状態を制御する「Notion Sidebar Controller v1.3.0」をリリースしました。

変更点

  • 左サイドバーの制御が機能しなくなっていたのを修正
  • 右サイドバーの制御が機能しなくなっていたのを修正
  • 新しいディスプレイが検出された際にディスプレイ名と解像度と座標を基に設定のリストアを試みる機能を追加
  • localStorageから ‘LRU:KeyValueStore2:updateSidebar’ を削除する機能を削除

Notionの仕様変更で左右のサイドバーの適切な制御ができなくなっていたので、v1.3.0ではまずそれの対応を行いました。以前と同じように制御できるようになっていると思います。

「新しいディスプレイが検出された際にディスプレイ名と解像度と座標を基に設定のリストアを試みる機能」については、おま環なのかWindows 10の仕様なのか判別できていませんが私の環境で発生している問題に対処するための機能として実装しました。Notion Sidebar Controllerは各ディスプレイの情報を取得するためにchrome.system.displayという拡張機能用のAPIを使用しますが、そのAPIで取得できるディスプレイ毎に固有のIDがPC(Windows 10)の再起動でたまに変わるという問題が私の環境で発生していました。毎回変わるならそういう物だと判断してIDに頼った設定の管理はそもそも採用しなかったと思いますが、たまにしか変わらず、条件も不明なので対処を先延ばしにしていました。今回追加した機能はデフォルトで有効にしています。

localStorageから ‘LRU:KeyValueStore2:updateSidebar’ を削除する機能は、ウィンドウのサイズや縦横の比率、Notion Sidebar Controllerの設定内容次第で発生するサイドバー制御のラグに対処するための機能でしたが、NotionがlocalStorageを参照する前に削除を実行しなければならないというタイミング的な問題があり、機能を削除することにしました。Notion側の仕様変更が原因なのだと思いますが、コンテンツスクリプトの挿入タイミングを制御するrun_atをdocument_startにするだけでは不十分なくらいにはタイミングがシビアになったっぽい?です。この機能が無くてもサイドバーの制御は行えるのでユーザーにとっては大きな問題にはならないとは思います。

ブラウザ拡張機能

藤乃音りょう