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


Path Finderのサイズブラウザ機能で容量の大きいファイルを探して整理する方法
画面共有しながら説明するときに画面上に図形が描ける「Presentify」
Macでfnキーを2回押すと音声入力が起動するのを無効化する方法
Transmitでダブルクリックしてファイルを開こうとすると、ファイルがダウンロードされてしまう
zshのMacターミナルの「%」記号前表示をカスタマイズする方法
iTerm2でよく使うアクションやスニペットの設定ができる環境設定の「Shortcuts」タブ
macOSの環境をすぐに復元したり、別Macと同期するために必要な情報をまとめた「アプリ設定フォルダ」を作る
新しいMacBook Proを購入して移行するときにやること|M1 Macの基本セットアップとアプリ一括インストール編
Google ChromeでBasic認証のダイアログが一瞬で消えて認証できないときは拡張機能を確認!
新しいMacBook Proを購入して移行するときにやること|最低限のアプリ設定編
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
AirPodsで片耳を外しても再生が止まらないようにする方法
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
1つのノートアプリにすべて集約するのをやめた理由|2025年時点のノートアプリの使い分け
Notionログイン時の「マジックリンク」「ログインコード」をやめて普通のパスワードを使う
AlfredでNotion内の検索ができるようになるワークフロー「Notion Search」
Gitで1行しか変更していないはずのに全行変更した判定になってしまう
Macでアプリごとに音量を調節できるアプリ「Background Music」
Macのターミナルでパスワード付きのZIPファイルを作成する方法
MacBook Proでディスプレイのサイズ調整をして作業スペースを広げる
SteerMouseの「自動移動」機能で保存ダイアログが表示されたら自動でデフォルトボタンへカーソルを移動させる
iPhoneでタッチが一切効かなくなった場合に強制再起動する方法