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」などにしておきましょう。
そこまで負荷はかかりませんし神経質かもしれませんが、今後どんどん増えていくことを考えたり、他のアプリケーションの自動発火もあることを考えると、発火間隔は長い方がいいのかなと思います。


Bartenderの「Quick Search menu bar items」でメニューアイコンを検索してアクティブにする方法
Backlogフリープランでプライベートの課題管理を行う方法
iTerm2の見た目を設定できる環境設定の「Appearance」タブ
Path Finderのサイズブラウザ機能で容量の大きいファイルを探して整理する方法
新しいMacBook Proを購入して移行するときにやること|Macの細かい部分設定編
Visual Studio Codeでウインドウタイトルバーをカスタマイズする方法
ATOKで特定辞書の単語登録画面を表示するKeyboard Maestroマクロ
新しいMacBook Proを購入して移行するときにやること|ユーティリティ系アプリの設定編
ウェブサイトをmacOSアプリとしてラッピングする「Unite Pro」
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
テーブルタグ一式をすばやく・ラクに入力するためのスニペットサンプル
Figmaでチーム共有用のメモや注釈素材が使える「Annotation Kit 2.0」
1Passwordでウェブサイトの入力フォームを一瞬で入力する方法
Alfred 4のカスタム検索を設定をしてサイト内検索をしたり、ブラウザのブックマーク検索を行う方法
ATOKの辞書をmacOS標準の日本語入力のユーザ辞書にインポートする方法
スライドを簡単に実装できるJavaScriptライブラリ「Swiper」
WordPressのカスタムメニューでは、内部リンクに対してカスタムリンクは使わない!
ATOKに「短縮読み」の単語を登録して、よく使うフレーズを一瞬で入力する
Figmaでモックアップをすばやく作成する「Mockuuups Studio」
ATOKの変換領域(文節区切り)を選択しやすくするカスタマイズ