読者です 読者をやめる 読者になる 読者になる

イメージに染まるまで……

Mac,iOSなどAppleの製品についての記事や、セキュリティだったりGTDの記事を書いています。

Caffeineの代替、RocketFuel

AppleScript Mac

f:id:nya-0:20170123210319p:plain

RocketFuelとは

Macの画面のスリープを防止してくれるアプリです。

Macで勝手に作業を続けて欲しい場合などにスリープすると、その作業が止まってしまいますよね(時間がかかるビデオの読み込みや、iPhoneの同期、あるいはウィルススキャンもあるかもしれません)。

そういった際に、画面のスリープを防止することで、作業を続けてもらうためのアプリです。

RocketFuelには、以下の機能があります。

  • 画面のスリープを防止
  • 時間指定でスリープ防止
  • Apple Scriptに対応しているため、ある程度の自動化が可能
  • (ラップトップの場合)指定したバッテリーのパーセンテージ以下になった際、自動的に画面の画面のスリープ防止を解除する

RocketFuelは、上で述べたように画面のスリープが困る時に便利です。

普通の使い方なら、スクリーンセーバーやスリープがあったほうが電力の節約になりますが、時々しばらくついていて欲しい時があります。

そういった際にスリープやスクリーンセーバーの設定を変えるのは面倒です。そんな時、RocketFuelは役に立ちます。

今回は、このRocketFuelをご紹介します。

目次

RocetFuelを探した動機

Macの画面をスリープしないようにするアプリの定番として、Caffeineは非常に有名でした。

nya-0.hatenablog.com

ただ、アップデートがなされず、ダークモードのアイコンにも対応していません。そのため、現在では少々時代遅れの感が否めないのです。

そこで私は、Caffeineの代替アプリを探し始めました。条件は、以下の通りです。

  • Caffeineと同様の機能を持っていること
  • Apple Scriptに対応していること

さらに、色々とスリープ防止のアプリを探して行く最中に、非常に便利な機能を見つけました。

それは、MacBookなどのラップトップの場合、バッテリー容量が指定した容量以下になった場合に自動的にスリープ防止を止めてくれる機能です。

バッテリー容量が指定したパーセンテージ以下になると、スリープ防止をやめて、MacBookが強制的にシャットダウンしてしまうのを防ぐ機能は、データの保護のためには有効だと思ったのでこの機能があるものも探しました。

そこで見つけたのが、RocketFuel でした。

また、運が良かったことにこのアプリは無料で提供されています。開発者の方に感謝です。

このアプリは以上3つの機能を満たすアプリだったのです。

RocketFuelの使い方

使い方は簡単です。

起動すると、メニューバーにロケットの形のアイコンが現れます。

f:id:nya-0:20170123210339p:plain

ここからRocketFuelを有効にするだけで、画面のスリープを防止することができます。

また、ラップトップの場合、環境設定からバッテリーのパーセンテージを設定できますので、好みの数値を入力します。

また、RocketFuelを起動している時間を指定したい際は、起動する時間を指定することができます。

デフォルトでは5分、15分、30分、1時間が設定されています。

f:id:nya-0:20170123210353p:plain

Neverを選ぶと、ずっと画面のスリープ防止の機能が有効になります。

ここまであれば、普通に使う分には全く問題ありません。

次のセクションでは、個人的に欲しかったApple Scriptの設定なので、必要ない方は飛ばしてくださっても構いません。

AppleScriptで自動化する

RocketFuelは、珍しくApple Scriptに対応しています*1

私は以前、Caffeineでも少々起動するときに便利になるようにスクリプトを作っていました。

今回も、同様のスクリプトを書きました。

また、さらにそれを拡張して、起動時間を設定できるようにもしておきました。

どういう内容のスクリプトかというと、 1. RocketFuelが有効か無効かを判定し、 2. 無効だった場合、有効にするかどうかを尋ねる 3. 有効にすることを選んだ場合、起動時間を入力するダイアログを表示する 4. 起動時間に沿ってRocketFuelが有効に。 5. 有効だった場合、無効にするかを尋ねる 6. 無効にすることを選択する場合、RocketFuelを無効にする

といったスクリプトです。

どうしてこんなものを作ったかというと、メニューバーのアイコンが隠れていても有効か無効かがスクリプトを走らせるだけで分かり、かつ必要な操作が全てスクリプトだけでできるからです。

つまり、スクリプトを作る前は(Caffeineの時だったのですが)、

そういえばスリープ防止をしたい→けど、もう有効にしている気がする。メニューバー見るか→フルスクリーンじゃん、マウス動かすの面倒くさいな…… or メニューバー項目が隠れてるじゃん、アプリを切り替えて見えるようにしなきゃ……

とかやっていたわけです。

こんな面倒は避けたいと思い、Apple Scriptでスクリプトを作ったのです。

以下は、そのスクリプトです。

tell application "RocketFuel"


        if active is false then
        set dialogResult to display dialog "RocketFuelは有効になっていません。有効にしますか?" with icon note buttons {"有効にしない", "有効にする"} default button "有効にする"

    if button returned of dialogResult is "有効にする" then
        -- 有効時間の設定が必要ない場合、以下の行からduration activeTimeまでのところをコメントアウトするか削除
        display dialog "有効時間を指定しますか?(入力がない場合時間指定なし)" with icon note default answer ""
        set activeTime to text returned of the result
        duration activeTime
        -- 有効時間の設定が必要なく、とにかく起動して有効にしたい人用は以下
        --  toggle
        -- 前の行のtoggleの前にあるハイフンを消せば有効になる。ただし、上の有効時間の設定をする部分をしっかり消すかコメントとして前にハイフンを2つつける必要がある。
    end if

    else
        set dialogResult to display dialog "RocketFuelは有効です。無効にしますか?" with icon note buttons {"有効のままにする", "無効にする"} default button "無効にする" cancel button "有効のままにする"
        if button returned of dialogResult is "無効にする" then
            toggle
        end if

    end if


end tell

これをコピペして、ScriptEditorに貼り付ければできます。

私の場合、Quicksilverから起動しますが、必要であればアプリケーション形式で保存すればいいでしょう。

おわりに

以上がRocketFuelのご紹介でした。

画面のスリープを防止するアプリは雨後の筍のように増えましたが、Apple Script対応は少なく*2、また有料のものもある中で、無料で提供してくださっているのもありがたいです。

気になる方は是非、お試しください。

参考ページ

作者のサイト

saturnfive.se

Apple Scriptの説明もありますね。

Rocket Fuel

Rocket Fuel

  • Ardalan Samimi
  • ユーティリティ
  • 無料

*1:余談なんですが、最近本当に少ないんです。個人的にはApple Scriptがあるといざという時に便利で欲しいのですが……

*2:これは非常に個人的な理由ですね