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



操作に没頭できる!Firefox版 Arcのようなブラウザ「Zen Browser」
iStat Menusの「バッテリー/電源」アイコン表示と設定
iStat Menusの「センサー」アイコン表示と設定
iTerm2でキーボードを使った操作を設定できる環境設定の「Keys」タブ
Macでアプリごとに音量を調節できるアプリ「Background Music」
Bartender 6で追加されたWidgets機能で自作メニューバーアイテムを簡単に作成する
1Passwordの開発者向け機能(SSH Agent / Environments / 1Password CLI / Developer Watchtower)
Macで英語の発音記号を入力する方法
1PasswordのChrome拡張機能 (パソコンのアプリが必要)のインストール場所が分かりにくい
Google ChromeでBasic認証のダイアログが一瞬で消えて認証できないときは拡張機能を確認!
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Bartender ProのTop Shelf機能でできること
高機能なスクリーンショットアプリ「CleanShot X」
macOSの効率化に関するDiscordコミュニティ「CMD-F」を立ち上げました
Default Folder Xで保存ダイアログ内のファイルリストにフォーカスする方法
Obsidianで整理した知識をAnkiで定着させる方法
Figma × Keyboard Maestroでどこまで効率化できる?
マウス操作の完成度が高いウインドウリサイズアプリ「Magnet」
Macで複数ディスプレイを使っている場合に便利な設定集
AppCleanerでMacアプリを関連ファイルごと完全に削除する