1概要

Totem Barは、macOSのメニューバーに任意の文字列を常時表示する常駐アプリです。 映画『インセプション』に登場する totem(現実と夢を見分けるための個人的な道具)から名前を取りました。

仕事用と個人用、クライアントAとクライアントB、本番環境とステージング — 複数のMacを使い分ける人が「今どのマシンにいるのか」を一目で把握するためのツールです。

主な特長:

2はじめに(クイックスタート)

インストールから最初の表示までの基本手順です。

  1. Totem Barを起動します。起動するとメニューバー右側に Enter your Totem という仮表示が現れます。Dockにはアイコンは表示されません。
  2. メニューバーのTotemラベルをクリックしてメニューを開き、Settings…(⌘,)を選択します。
  3. Display Text欄に表示したい文字列(例: MacBook-WorkPROD🏠 Home)を入力します。
  4. 必要に応じてWidth ModeColorsLaunch at Loginを設定します。
  5. 設定ウィンドウを閉じれば完了です。入力内容はすぐにメニューバーに反映されます。
Tip
最初はシンプルな文字列(マシン名だけなど)から始めるのがおすすめです。使っていく中で、White on Redプリセットで本番環境を警告表示するなど、運用ルールが固まっていきます。

4設定画面

メニューバーのTotemラベル → Settings…(⌘,)で開きます。すべての設定は即座にメニューバーに反映され、UserDefaultsに自動保存されます。

Settings
Display
Display Text MacBook-Work
Width Mode AutoFixed
Fixed Width 120 pt
Preview
MacBook-Work
Colors
White on Red
Yellow on Black
White on Blue
Text Color
Background Color
System
Launch at Login
Feature Flags
Enable overflow scroll

セクション一覧

セクション含まれる項目
DisplayDisplay Text / Width Mode / Fixed Width / Overflow Behavior
Preview実際のメニューバー描画を模したプレビュー
Colorsカラープリセット / Text Color / Background Color(Proで解放)
SystemLaunch at Login
Feature FlagsEnable overflow scroll
URL Scheme外部から表示テキストを更新する手順とサンプルコマンド
Tip
Previewセクションは、メニューバー実体と同じレンダリングパスを共有しています。固定幅に収まらないテキストがで省略される様子や、スクロールの速度もそのまま確認できます。

5表示テキスト

メニューバーに表示する文字列を設定します。

入力できるもの

仕様

項目
デフォルトEnter your Totem
文字数制限ソフト制限なし(幅で見切れる)
フォントSystem, 13pt
永続化UserDefaultsキー displayText
外部更新URLスキーム totem://set?text=...
Tip
絵文字を1文字入れるだけで、マシンの役割が直感的に分かるようになります。例えば個人用Macに 🏠、仕事用に 💼、本番サーバー作業用に 🔥 のような運用がシンプルでおすすめです。

6幅モード

メニューバーに確保する幅の決め方を選択します。

モード挙動使いどころ
Auto テキストの実サイズに合わせて幅が変わる 常に短い表示にしたい場合、表示が動的に変わる場合
Fixed 40〜300ptの指定幅で固定(余白は空、超過は省略 or スクロール) レイアウトを固定して他のメニューバーアイコンの位置を安定させたい場合

Fixed Widthの設定

Fixed幅での見え方の例

MacBook-Work 14:28

Fixed 120pt — 収まる長さの文字列

staging-de… 14:28

Fixed 60pt — 超過分はTruncate(末尾省略)

Note
スクリプトで動的にテキストを流し込む用途(Gitブランチやホスト名表示)では、幅が変動すると隣のメニューバー項目の位置がチラつきます。Fixedに設定しておくと安定します。

7オーバーフロー挙動

Fixed幅で収まりきらないテキストの扱いを選びます。

Feature Flag
Overflow Scrollフィーチャーフラグで管理されています。設定画面のFeature Flagsセクションで Enable overflow scroll をONにし、さらにWidth ModeがFixedのときに限り、Overflow Behaviorの選択肢が表示されます。

Truncate(末尾省略)

固定幅に収まらない部分を末尾ので省略します。デフォルトの挙動です。

Scroll(マーキースクロール)

テキストが幅いっぱいを左から右へ、または右から左へ、滑らかに流れます。全文を読ませたい場合に使います。

  DO NOT DEPLOY TO PRODUCTION · DO NOT DEPLOY TO PRODUCTION ·   14:28
項目
スクロール速度30 pixels/sec
テキスト間の余白24pt
有効化の条件Feature Flag ON かつ Width Mode = Fixed
Note
スクロールはフル表示できるメリットがある一方、メニューバー上での動きは注意を引きます。静かな表示が好みであればTruncateを推奨します。

8カラーカスタマイズ

テキスト色と背景色を組み合わせて、一目で識別できる見た目を作れます。

カラープリセット

無料で使える組み込みプリセットです。ワンタップで適用できます。

Default
White on Red
White on Blue
White on Green
Yellow on Black
Black on Yellow
プリセットテキスト背景用途の例
Defaultシステム色(自動)透明(メニューバー地色)控えめに常駐
White on Red#FFFFFF#D9342B本番環境の警告
White on Blue#FFFFFF#2563EB開発環境
White on Green#FFFFFF#16A34Aステージング成功
Yellow on Black#F5C518#111111注意・保留
Black on Yellow#111111#F5C518ハザード

PRO カスタムカラー(アプリ内課金)

買い切り型のアプリ内課金「Totem Bar Pro」を購入すると、色の自由なカスタマイズが解放されます。

Tip
背景色に透明度を設定すると、メニューバーの地色(ライト/ダーク)に自然に馴染みつつ、色味でマシンを識別できるバランスの良い見た目が作れます。

9URLスキーム

表示テキストをコマンドラインやスクリプトから動的に更新するためのURLスキームです。自動化やシェル統合に便利です。

書式

totem://set?text=<表示したい文字列>

textパラメータはURLエンコードされた文字列を受け付けます。

使い方

ターミナルからopenコマンドで開きます。

# シンプルな文字列
open "totem://set?text=Hello"

# ホスト名を表示
open "totem://set?text=$(scutil --get LocalHostName)"

# Gitブランチ名を表示
open "totem://set?text=$(git rev-parse --abbrev-ref HEAD)"

# IPアドレス
open "totem://set?text=$(ipconfig getifaddr en0)"

# 絵文字付き
open "totem://set?text=%F0%9F%94%A5%20PROD"

スクリプト例: ディレクトリ移動時にブランチ名を表示

シェル(zsh)のchpwdフックで、Gitディレクトリに入ったときに自動更新します。

chpwd() {
  if git rev-parse --is-inside-work-tree &>/dev/null; then
    local branch=$(git rev-parse --abbrev-ref HEAD)
    open "totem://set?text=$branch"
  fi
}

動作

項目挙動
更新の反映即座(UserDefaultsにも保存)
アプリが起動していない場合Launch Servicesにより起動してから反映
不明なコマンド無視(エラーにはならない)
空のtextフォールバック文字列が表示される
Note
URLスキームで書き込まれた値は、設定画面で手動変更するのと等価です。次回起動時も保持されます。一時的な表示だけに使いたい場合は、スクリプト側で「戻す」処理も合わせて用意してください。

10ログイン項目ほか

Launch at Login(ログイン時に自動起動)

設定画面のSystemセクションでLaunch at LoginトグルをONにすると、macOSログイン時にTotem Barが自動起動します。

Dockに表示されない(Accessory App)

Totem BarはmacOSの.accessoryアクティベーションポリシーで動作します。

リソース使用

データ保存

11よくある質問

メニューバーに何も表示されません
Dockアイコンはないため、アプリが起動していないと見えません。Launchpadまたはアプリケーションフォルダから起動してください。Launch at LoginをONにしておくと次回以降自動起動します。
表示されるはずの文字列が出ません
メニューバー右側にすでに多くのアイコンがあると、Totemラベルが隠れることがあります。他のステータスアプリのアイコンを整理するか、Width ModeをFixedにして幅を小さくしてみてください。
Fixed幅に収まらない長いテキストはどうなりますか?
デフォルトでは末尾がで省略されます(Truncate)。Feature FlagでEnable overflow scrollをONにし、Width ModeがFixedの状態でOverflow BehaviorScrollにすると、マーキースクロールで全文を流すことができます。
カスタムカラーが設定できません
カスタムカラーはアプリ内課金のTotem Bar Proで解放される機能です。設定画面のColorsセクションからPurchaseを行ってください。以前に購入済みの場合は、同じセクションのRestore Purchasesで復元できます。
totem://set?text=...が反応しません
URLをダブルクォートで囲むのを忘れやすいポイントです(&などを含むとシェルに解釈されるため)。例: open "totem://set?text=Hi"。また、マルチバイト文字はURLエンコードが必要です。
終了方法は?
メニューバーのTotemラベルをクリック > Quit(または⌘Q)で終了します。Dockアイコンはないため、通常の「アプリを終了」操作は使えません。
ログイン項目の設定をONにしたのに自動起動しません
macOSのシステム設定 > 一般 > ログイン項目で Totem Bar が許可されているか確認してください。また、macOS 13未満ではSMAppServiceが使えないため、このアプリ自体が動作しません。
複数のMacで同じ設定を使えますか?
設定は各MacのUserDefaultsに保存されるため、自動同期はされません。ただし、各Macで別々のテキスト(例: Home / Work)を設定するのが本来の使い方です。カスタムカラーの購入状態のみ、同じApple IDで共有されます。
データはどこに保存されますか? プライバシーは?
すべてのデータはサンドボックス内のUserDefaultsに保存され、ネットワークを通じた送信は一切ありません。App PrivacyでもData Not Collectedを宣言しています。

12このアプリについて

アプリ名Totem Bar
Bundle IDjp.prototypelabs.totem
対応OSmacOS 13 Ventura 以降
カテゴリUtilities / Productivity
言語英語 / 日本語
実装Swift / SwiftUI (MenuBarExtra)
開発元Prototype Labs
価格無料(Totem Bar Pro: アプリ内課金)