Bartender 4のShow for Updates機能を使って、平日の指定時間の間だけメニューアイコンを表示させる

Bartender 4のShow for Updates機能を使うと、シェルスクリプトを実行して結果に応じてメニューアイコンの表示・非表示を切り替えられます。
Show for Updates自体の説明は過去に記事にしているので、そちらをご覧ください。
今回はこの機能を使って、平日の指定時間だけメニューアイコンを表示させるようにしてみます。
Show for Updatesの追加
今回は、Google Driveのアイコンを平日9時から18時の業務時間中にだけ表示させるようにします。
Show for Updatesを追加してGoogle Driveを選択し、「script returns true」を選択します。

「show for」の設定は「While comparison is true」を選択して、trueの間は常にアイコンが表示されるようにします。
実行するシェルスクリプト
実行するシェルスクリプトは下記になります。

currentDay=$(date +"%u")
currentTime=$(date +"%H:%M")
isShow=false
startTime=$(date +"09:00")
endTime=$(date +"18:00")
if [[ "$currentDay" > 0 ]] && [[ "$currentDay" < 6 ]]; then
if [[ "$currentTime" > $startTime ]] && [[ "$currentTime" < $endTime ]]; then
isShow=true
fi
fi
if [[ "$isShow" = true ]]; then
echo 1
else
echo 0
fiこれはBartenderの公式ブログで紹介されていたシェルスクリプトを自分用にシンプルに改良したのと、開始時間と終了時間を変数にしたものになります。
下記の「startTime」に開始時間、「endTime」に終了時間を指定します。
startTime=$(date +"09:00")
endTime=$(date +"18:00")平日ではなく、毎日指定時間にしたい場合
今回は「平日」という条件を加えましたが、「毎日指定した時間」にしたい場合は下記のコードにすればOKです。
currentTime=$(date +"%H:%M")
isShow=false
startTime=$(date +"09:00")
endTime=$(date +"18:00")
if [[ "$currentTime" > $startTime ]] && [[ "$currentTime" < $endTime ]]; then
isShow=true
fi
if [[ "$isShow" = true ]]; then
echo 1
else
echo 0
fi実際の動作
設定できたら「Done」をクリックして、実際に指定時間内に表示されていることを確認しましょう。
ちなみに、そこまで厳密さを求めていない人であれば、「run script every」を「1 Minute」から「10 Minutes」などにしておきましょう。
そこまで負荷はかかりませんし神経質かもしれませんが、今後どんどん増えていくことを考えたり、他のアプリケーションの自動発火もあることを考えると、発火間隔は長い方がいいのかなと思います。


Backlogフリープランでプライベートの課題管理を行う方法
さまざまな情報を一元管理するオールインワンのワークスペース「Notion」
Chrome拡張機能「PocketTube」を使って、YouTubeの登録チャンネルをグループ分けして管理する
Macを使って、打ち合わで画面共有をする前にやっておきたい設定や確認事項まとめ
iStat Menusの「天気」アイコン表示と設定
Bartender 6で追加されたWidgets機能で自作メニューバーアイテムを簡単に作成する
macOS 11 Big Sur以降メニューバー右上に固定表示されてしまう時計表示を目立たなくする
1Passwordの開発者向け機能(SSH Agent / Environments / 1Password CLI / Developer Watchtower)
220以上の有料Macアプリが使えるサブスクサービス「Setapp」
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Transmitで特定拡張子のファイルを開くアプリケーションを指定する方法
新しいMacBook Proを購入して移行するときにやること|最低限のアプリ設定編
SourceTreeを開くと「’git status’ failed with code 69:’」というポップアップが出てくる場合の解決方法
Dropboxの「Macをバックアップ」機能でデスクトップや書類フォルダを同期する
Google Chromeのブックマークを綺麗に整理するコツ
Stationで複数のGoogleアカウントでGoogle Driveを使用する方法
ポモドーロテクニックの起動し忘れを防止するために仕事開始時にメッセージを表示させたり工夫をする
mac環境にnodebrew経由でNode.jsをインストールしてバージョンを管理する方法
iPadでスクリーンショットを撮るいくつかの方法