高見知英の技術ログ

技術関係のログをQiitaから移行してきました。プログラミングのほか、使っているアプリの細かい仕様についてなど書いていきます。

ClipboardMonitor作りました

このブログはLazarus(FreePascal)アドベントカレンダー13日目の記事です。

qiita.com

13日目はそもそもLazarusを触るきっかけにもなったアプリ、ClipboardMonitorについて。

github.com

このアプリは、クリップボードを常に監視し、テキストがコピーされたらその文字数やURLの指し示すページのタイトルなどを表示するツールです。

クリップボード内の内容を確認する処理はPythonスクリプトで実装されているので、自分で追加することで自由に処理を追加することもできます。

f:id:TakamiChie:20211212161756p:plain
動作風景

また、変換スクリプトメニューからテキストを変換するスクリプトを呼び出すことも可能です。

こちらもPythonスクリプトなので、好きな処理を追加することができます。

f:id:TakamiChie:20211212162731p:plain
変換スクリプト

個人的にはクリップボードの履歴や引用記号をつけるなどのテキスト処理はClipboard Historyというツールを使っているのでちょっと少なめですが、ぼちぼち増やしていこうかなーと。

作成動機

作成動機はなにより、とくにクリップボード履歴ツールなどを使っていると「今クリップボードに何がコピーされているのか」が分かりづらいから。

とくにClipboard Historyにはスタッククリップボードという機能があり、これを使っていると特に「今何がクリップボードにコピーされているのか」は分かりづらい。

とくに配信中など、「今クリップボードに入っているテキストを配信画面に出して良いか」が分かりづらいのが個人的に悩みでした。

そのために作成したのがこのツールです。

Lazarusを使った理由

Lazarusを使った理由については、以前にもちょっと触れましたが、GUIがデザイナーで作れて、コンパイルができ(そこそこに早く起動でき)て、開発環境もそこそこに軽く使いやすいこと。

GUIがデザイナーで作れると言えばVisual Studioもありますが、開発環境が十数GBと重いのもあるし、久しぶりに触ったとき開発環境のアップデートなどで時間を食い潰されるのがいやだったので選びませんでした。たぶん今後そんなに頻繁には触れないということを考えると、その度にアップデート というのはしんどいですし。

まあ、Delphiっぽい環境に懐かしさを感じて というのもあるにはありますが。

今後の予定

今後は、まだまだ機能的に足りないなと思う部分もありますし、改善したいところものこっているので、それらの修正や、スクリプトの追加は行ないたいと思っています。ただ、しばらく忙しいのもありそんなに積極的には弄れないかも。

もともとクリップボードまわりのアプリは使い勝手が良く便利には使っていたのですが、アプリが途中で開発停止になってしまうことが多く、そんなときでも最低限他の人が関われるようにと思ってオープンソースにしています。なので、もしできる人がいれば、プルリクエストなどなんらかの形で関わっていただけると嬉しいなあ と。

いちおうリリースにはベータをつけていますが、ベータがとれるところまでは少なくとも開発を進めたいですねー。

github.com