Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laser Pointer Overlay for LibreOffice Impress (PyQt5)

LibreOffice Impress の「発表者ツール」画面上でマウスを動かすとセカンダリディスプレイ(観客の見ているスライド画面)に赤いレーザーポインター風のモノをオーバーレイ表示する Python スクリプトです。 あっ、基本 Ubuntu の話ですよ。

特徴とか

  • 発表者ツールが起動している状態で、実行するとレーザーポインターが表示される。
  • 発表者ツール上の「黒くないところ(スライド領域)」だけをざっくりトラッキング対象として扱い、セカンダリディスプレイ上に同期表示する。
  • ディスプレイ配置が「セカンダリディスプレイが右側扱い」であることを前提としてます。
  • PyQt5 を使って、セカンダリディスプレイに背景透過/全画面のオーバーレイウィンドウを作っています

動作要件

  • Python 3.7+
  • PyQt5(pip install PyQt5

使用方法

  1. このリポジトリをcloneまたはダウンロード

  2. laser_pointer_overlay.py を実行:

    python3 laser_pointer_overlay.py
  3. LibreOffice Impress で発表者ツールを起動

  4. 発表者ツール内の白いスライド領域でマウスを動かすと、セカンダリディスプレイに赤いポインタが表示される。

  5. 終了は、ターミナルから殺すしかないのだが、↓

おまけ

  • laser-toggle.sh のようなスクリプトを書いて実行すると laser_pointer_overlay.py スクリプトを呼び出せます。で、もう一度 sh スクリプトを走らせるとプロセスを殺す。
  • これを GNOME のカスタムショートカットなどに割り当てましょう。発表者ツール表示時にショートカットキーを押すごとにトグル的に動作するようになるよ。
  • スクリプトを終了せずにスライドショーを閉じるとレーザーポインターが残っちゃうよ。そこは自分で何とかしてくれ。

ファイル構成

.
├── laser_pointer_overlay.py  # メインスクリプト
├── laser-toggle.sh           # おまけのシェルスクリプト
├── LICENSE                   # MITライセンス + PyQt5注意書き付き
└── README.md                 # このファイル

注意事項

  • ディスプレイ構成は自分の環境に合わせて手直ししてください。当然、使用モニタを変更した場合は、座標マッピングもずれる可能性があります。
  • スライド領域の位置は固定のハードコード(例:x=50, y=230)にしたので、必要に応じて調整してください。
  • HiDPI環境では描画座標に補正が必要な場合があるかも。
  • とりあえずY軸だけ位置を微調整できるようにしています(Y_OFFSET_CORRECTION)が、効かないかもしれないのでご注意。

ライセンス

MIT License(詳細は LICENSE ファイル参照) PyQt5 の使用により、再配布時は GPL v3 に準拠する必要があります。

About

LibreOffice Impressの発表者ツール上にLaser Pointer風のoverlay表示をするツール

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages