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



Macでfnキーを2回押すと音声入力が起動するのを無効化する方法
自分の管理下にないどうしようもできないログイン情報は1Passwordの「脆弱なパスワード」を無視しておく
Visual Studio Codeのエクスプローラーを見やすくするちょっとしたカスタマイズ
Finder上のGoogle Driveパスが「/Volumes/GoogleDrive-10951…」のように数字の羅列が追加されておかしくなった場合の対処法
Bartender ProのTop Shelf機能でできること
iTerm2でよく使うアクションやスニペットの設定ができる環境設定の「Shortcuts」タブ
macOSの環境をすぐに復元したり、別Macと同期するために必要な情報をまとめた「アプリ設定フォルダ」を作る
新しいMacBook Proを購入して移行するときにやること|コーディングに必要な開発環境を整える
220以上の有料Macアプリが使えるサブスクサービス「Setapp」
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
ウェブ開発時のテスト環境と本番環境の取り違えを防ぐChrome拡張機能「Environment Marker」
【2026年版】Karabiner-Elementsで実現する右commandキー活用のススメ
高機能なスクリーンショットアプリ「CleanShot X」
macOSの効率化に関するDiscordコミュニティ「CMD-F」を立ち上げました
1Passwordの開発者向け機能(SSH Agent / Environments / 1Password CLI / Developer Watchtower)
Default Folder Xで保存ダイアログ内のファイルリストにフォーカスする方法
Obsidianで整理した知識をAnkiで定着させる方法
Figma × Keyboard Maestroでどこまで効率化できる?
マウス操作の完成度が高いウインドウリサイズアプリ「Magnet」