xbarのアイコンをメニューバーでどう扱うか|消すか、隠すか、残すかの判断

メニューバーの右半分が文字とアイコンで埋まっていて、時計の左に何が並んでいるのか自分でも把握できていない。その原因の一部が xbar だと分かっているものの、xbar のどの部分がどれだけ場所を取っているのかが見えない。この記事は、xbar が menubar をどう使う作りになっているかを確認したうえで、どの表示を残し、どれを畳み、どれを外すかを自分で決められるようにするための材料をまとめたものである。

xbarは「プラグイン1本につきメニューバー1席」で場所を取る

xbar は、アイコン1個で完結する常駐アプリとは作りが違う。プラグインと呼ばれる小さな実行ファイルを置くと、その1本ごとに独立した表示枠がメニューバーに現れる。天気を出すもの、CPUの負荷を出すもの、為替を出すものを入れたなら、席は3つになる。この構造を知らないまま便利そうなプラグインを足していくと、増えるのはアイコンではなく席の数である。

しかも xbar の表示は絵文字だけとは限らない。プラグインが標準出力に書いた文字列がそのまま出るため、「USD/JPY 147.82」のような並びは、それだけで横幅を食う。同じ1席でも、記号1文字のプラグインと数字を並べるプラグインでは、占有する幅が数倍変わる。席の数だけでなく、1席あたりの幅も効いてくる。

どこまでがメニューバーに出て、どこからが押したあとの一覧になるかは、プラグインの出力の中で決まっている。

If your output contains a line consisting only of ---, the lines below it will appear in the dropdown for that plugin, but won't appear in the menu bar itself. 出典: github.com

区切り行より上に複数の行を書いた場合、その行は数秒ごとに入れ替わって表示される。入れ替わるたびに文字数が変わるので、右隣にあるアイコンの位置が少しずつ動く。目的のアイコンを押そうとした瞬間に隣が伸びて押し間違える、という現象の出どころはここにある。

いま何席が埋まっているのかを数える

抽象的に「多い」と感じているだけでは仕分けができないので、まず数を出す。xbar のプラグインは ~/Library/Application Support/xbar/plugins に置かれる。このフォルダにある実行可能ファイルの数が、そのままメニューバーの席数だと考えてよい。Finder で開くなら、移動メニューの「フォルダへ移動」にこのパスを貼り付ける。

ファイル名そのものが設定になっている点も、数えるときに役に立つ。命名は {name}.{time}.{ext} という形で、真ん中が更新間隔を表す。date.1m.sh なら1分ごと、指定できる書き方は10秒なら 10s、2時間なら 2h、1日なら 1d である。並んでいるファイル名を眺めれば、どれが頻繁に書き換わる席なのかが一覧で分かる。

数えるときの見方は次の3つで足りる。

  • ファイル数がメニューバーの席数
  • ファイル名の真ん中の値が短いほど、幅が動きやすい席
  • 出力に数字や通貨記号を含むものは、絵文字だけのものより幅を食う席

この3点を突き合わせると、「席は5つあるが、実際に幅を暴れさせているのは10秒更新の1本だけ」といった形で、犯人が絞り込めることが多い。全部を外す必要はない。

残す席と畳む席を、3つの問いで仕分ける

仕分けの基準を先に決めておくと、あとで迷わない。判断は好みの問題ではなく、その表示が行動を変えるかどうかで決まる。

第一の問い。見た瞬間に自分の行動が変わるか。ビルドの成否や、会議の開始までの残り時間は、見たら次の動作が変わる。これは出しておく側になる。第二の問い。値が変わったこと自体に意味があるか。1日に1回しか動かない数字は、メニューバーに常時出す必要がない。押したときに見えれば足りる。第三の問い。実際に何回押しているか。ここ1週間で一度も押していない席は、常設の理由が弱い。

この3つで振り分けると、たいていの構成は「常時見せる1つか2つ」と「押したときだけ見ればよい残り」に分かれる。3つの問いのうち2つで否定が付いた席は、畳む候補として扱ってよい。

並び順は固定されない、という前提で置き場所を決める

メニューバーの項目は、Command キーを押しながらドラッグすると並べ替えられる。これは macOS 側の仕組みで、xbar の項目にも効く。ただし、その並びが永続する保証はない。xbar の課題管理には、スリープからの復帰時や「Refresh all」を実行したときに、自分で決めた位置が元に戻ってしまうという報告が2021年10月に登録され、現在も開いたままになっている。

もう一つ、置き場所に効いてくるのが画面上部の切り欠きである。切り欠きのある MacBook では、左側のアプリメニューが長いアプリを前面にしたとき、右側の項目が押し出されて見えなくなることがある。項目数が多いほど、この境目に来る席が入れ替わり、昨日まで見えていたものが今日は消える。

つまり、並び順を手で整えることを恒久的な解決策として当てにしない方がよい。効くのは、そもそも常時表示する席を減らしておくことである。席が少なければ、順番が入れ替わっても目的のものは視界に残る。

表示を短くする手は、プラグイン側にも用意されている

外すか残すかの二択で考える前に、幅だけを削る方法がある。xbar のプラグインは、行の後ろにパイプ記号でパラメータを足せる仕組みを持っている。

  • length=10 を付けると、その行は指定した文字数で切られ、省略記号が付く。全文はツールチップで確認できる
  • dropdown=false を付けた行は、メニューバー側だけに出て、押したあとの一覧には出ない
  • 区切り行より下に移した行は、メニューバーには出ず、押したときだけ見える
  • color=size= で見た目を変えられるが、幅を減らしたいなら文字数を減らす方が確実

書き換えるのが面倒なら、似た内容の2本を1本にまとめる手もある。同じスクリプトの中で2つの情報を出し、片方を区切り行より下に置けば、席は2つから1つに減る。プラグインは自分で書き換えてよいものなので、配布されたままの出力を守る必要はない。

なお、xbar のプラグインは実行に時間の上限がある。v2.1.7-beta で、その上限が1分から2分に引き上げられた。処理をまとめて1本にする際は、この時間内に終わるかどうかだけ確認しておくとよい。

席の使い方を4つの型に分けて比べる

同じ「メニューバーに出す」でも、扱い方は4通りに整理できる。どれを選ぶかで、後から必要になる手間が変わる。

扱い方 メニューバーの席 情報を見るまでの操作 後から戻すときの手間
そのまま残す 1本につき1席を占有 目を向けるだけ 不要
出力を短くする 1席のまま幅が縮む 目を向けるだけ ファイルを書き戻す
区切り行より下へ移す 1席のまま文字が減る 押して開く 行を上へ戻す
ファイルを外す 席が消える xbarの外で確認する ファイルを戻す

上の2つは表示を保ったまま幅を削る方法で、下の2つは表示そのものを引っ込める方法である。使用頻度が週に数回まで落ちている情報なら、区切り行より下へ移す形が扱いやすい。押せば見えるので情報は失わず、メニューバーの文字は減る。逆に、半年以上開いていないプラグインは、ファイルごと外して構わない。必要になったら同じファイルを戻せば元通りになる。

判断に迷うものは、いったん区切り行より下へ移して2週間ほど様子を見る方法が無難である。その間に一度も押さなかったなら、外してよい席だったと分かる。頭の中で必要性を見積もるより、実際に押した回数で決めるほうが結果は安定する。

外すと決めた席の片付け方

プラグインを1本だけ外すなら、プラグインフォルダから該当のファイルを別の場所へ移すだけでよい。削除する必要はない。ファイル名の拡張子を変えて実行できない状態にする方法もあるが、フォルダの外へ出すほうが後で分かりやすい。移したあと、xbar のメニューから再読み込みを行うと、その席が消える。

xbar 自体を使わなくなる場合は、アプリを終了してから本体を削除し、そのうえで残るファイルを片付けることになる。パッケージ管理の Homebrew が公開している定義によれば、xbar が使う場所は ~/Library/Application Support/xbar~/Library/Caches/com.xbarapp.app~/Library/Preferences/com.xbarapp.app.plist~/Library/WebKit/com.xbarapp.app4か所である。ログイン項目としての登録名は xbar なので、システム設定の一般にあるログイン項目からも外れているか確認しておきたい。

自作したプラグインや、変数の設定値は最初の場所にまとめて入っている。あとで戻す可能性があるなら、このフォルダごと別の場所へ複製しておけば、同じ構成をそのまま復元できる。

メニューバーを整理する道具と併用するときに起きること

席を減らしきれない場合、次の選択肢はメニューバー管理アプリで畳むことになる。ここで xbar 特有の事情が1つある。xbar の項目は、外から見ると「中身の文字が変わり続ける項目」に見える。名前で固定して覚えさせる仕組みを求める要望が2022年2月に登録されており、こちらも開いたままである。管理側で隠す対象を選ぶときは、表示中の文字列を手がかりに選ぶことになると考えておきたい。

畳んだあとに残る問題は、押しにくくなることである。隠した項目を押すために、いちいちメニューバーを広げ直す操作が挟まると、結局は畳むのをやめてしまう。この点をどう扱うかは道具によって差があり、隠したアイコンを、メニューバーを畳んだまま押してその場でメニューを開ける作りになっているかどうかで、使い勝手が変わる。畳んだ状態で何ができるのかはできることにまとめてある。ほかの整理の仕方との違いを先に見比べたい場合はほかの道具との違いが近い。

公開されている数字から読み取れる現在地

判断材料として、xbar 自体の状況も見ておきたい。パッケージ管理の Homebrew が公開している導入数によると、直近30日で299件、90日で1,091件、365日で3,908件の導入が記録されている。1日あたりおよそ10件で、いま現在も新しく入れている人がいる規模である。

一方で、タグの付いたリリースは v2.1.7-beta(2021年10月29日)が最後で、アプリ本体のリポジトリの最終更新は2024年9月にとどまっている。プラグインを集めたリポジトリの方は2026年8月にも更新があり、動きの度合いが本体と部品で分かれている。ライセンスは MIT で、費用はかからない。

この状況が意味するのは、メニューバーの席の使い方について、アプリ側の改善を待つより自分で決めた方が早いということである。席を数え、残すものを2つまでに絞り、残りは畳む。この手順は今日のうちに終わる。整理する道具を入れる場合の費用は料金、動作環境や導入前の疑問はよくある質問、実物を試すならダウンロードから確認できる。

よくある質問

xbarのプラグインを増やすと、メニューバーのアイコンも増えますか?

増えます。xbarはプラグイン1本ごとに独立した表示枠をメニューバーに作る作りのため、プラグインを3本入れれば3席を使います。文字を出すプラグインは絵文字だけのものより横幅を取るので、席数と1席あたりの幅の両方を見て判断してください。

いま何本のプラグインが動いているかを確認する方法は?

Finderの「フォルダへ移動」で ~/Library/Application Support/xbar/plugins を開き、中にある実行可能ファイルの数を数えます。ファイル名の真ん中にある 1m10s が更新間隔なので、どれが頻繁に書き換わる席なのかも同時に分かります。

Command キーで並べ替えた位置が元に戻ってしまいます。

スリープからの復帰や全体の再読み込みを行った際に、決めた位置が戻るという報告が2021年10月に登録され、現在も開いたままです。並び順を手で保つことを前提にせず、常時表示する席そのものを減らしておくほうが安定します。

表示を消さずに幅だけ狭くできますか?

できます。行の後ろに length=10 のように文字数の上限を付けると、その行は指定した長さで切られ、全文はツールチップで確認できます。区切り行より下へ移せば、メニューバーには出さず押したときだけ見せる形にもできます。

記事一覧へ戻る