hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

Macで毎分スクリーンショットを撮って手元に貯めておくスクリプト

書いてたテキストエリアがどっかいく、みたいなことがたびたびあって、スクショを定期的に取っていればこんなことにならないのに…と思っていた。
先日、Redash用に、がんばって書いたSQLがどっかいってしまい、ものすごく悲しい、という出来事があったのであ、あまりに悲しさに、重い腰を上げてスクリプトを書いた。

やっていること

  • 画面全体のスクショを撮って、デスクトップ内のフォルダに置いていく
    • 複数ディスプレイを使ってる場合も全部撮る
  • 1週間経ったら消す
  • 定期実行するためにxbar経由で起動
    • 以前使ったときはBitBarという名前だったけどいまはxbarらしい
    • たびたび、手元の自動起動用アプリとして使っている…

1日で3GBくらいになった。1週間で21GBくらいになるはず。手元のディスクは1.5TB余ってるので、やろうと思えば1年以上保存できそう。
最近のMacは画像認識して、画像内のテキストを洗濯したりコピーしたりできるので、書いてる途中のスクショがあれば、そこから難なく引っ張り出せる。
本当はOCRしてEXIFかなにかにつっこんでおきたいのだけど、コマンドラインからOCRするツールかなにかをまだみつけられていない。
mac-ocr-cliというのはみかけたけど、起動するとスクリーンキャプチャが始まり、キャプチャした部分をOCRしてくれるようだった。
github.com


gist.github.com

追記

いろいろコメントを貰っていたので追記。

  • 画像からテキスト化
    • 最近のMacでは画像内のテキストをいきなり選択してテキストとして取り出せるようになっています。すごい。
    • support.apple.com
  • cronとxargs
    • やっていることはcronとxargsでいいのですが、xbarの良いところは実行結果がメニューバーに出せるという点で、GUIでフィードバックを出せるので、ゆくゆくはOCRして出てきた差分をメニューに表示する、とかもできて楽しそう、とか考えていました
  • OCRして機械学習して整理してくれるプロダクト
    • www.rewind.ai
    • こんなのもあるみたいです。普段使う道具なので一度は自作してみたい、という気持ちもありました