EmacsはGUIシステムのタスクバーを利用して、Emacsのタスクバーアイコン上にバッジオーバーレイやプログレスバーによる進捗表示を行い、Emacsセッションへの対応が必要であることをユーザーに通知できます。注:システムタスクバーは、ドックやランチャー、あるいはそれに類する名称で呼ばれている場合があります。
GNU/Linux対応のGUIデスクトップでは、システムのタスクバーエフェクトが、シェル拡張によって指定されたデスクトップ上の表示領域(多くの場合、アプリケーションランチャーやドックパネル、あるいはトップパネル)に表示されます。エフェクトはEmacsインスタンス全体で共通して適用されます。
注:GNU/Linuxの実装では、システムのタスクバーメッセージをD-Bus経由でGUIに送信します。UbuntuのUnity D-Busランチャー仕様を実装したhttps://extensions.gnome.org/extension/307/dash-to-dock/などのシェル拡張機能をインストールまたは設定する必要がある場合があります。詳細については、こちらhttps://wiki.ubuntu.com/Unity/LauncherAPIをご参照ください。D-Busマニュアルを参照してください。
macOS/GNUstep 10.5以降では、システムのタスクバーエフェクトがDockやアプリスイッチャーに表示されます。エフェクトはEmacsインスタンス全体で共通して適用されます。macOS/GNUstepに特別な設定は不要です。
MS-Windows 7以降では、Windowsのシステムタスクバーにタスクバーエフェクトが表示されます。エフェクトは、それが開始されるフレームに紐付けられます。MS-Windowsに特別な設定は不要です。
システムタスクバーを使用する前に、初期化する必要があります。そのためには、M-x system-taskbar-modeと入力してください。
ユーザーオプション system-taskbar-use-progress-reporter
は、system-taskbar-mode を Emacs
の進捗報告機能と連携させます。多くの長時間実行される関数が、処理の進捗状況を示すためにこの機能を利用しています。進捗報告は、エコーエリアおよびシステムタスクバーの
Emacs アイコンに表示されます。この変数のデフォルト値は t です。system-taskbar-mode を有効にする前に、この変数をカスタマイズしてください。(elisp)Progress
を参照してください。
ユーザーオプション system-taskbar-clear-attention-on-frame-focus
は、GNU/Linux D-Bus プラットフォームで有用なヘルパーを有効にし、いずれかの Emacs
フレームにフォーカスが当たると、システムのタスクバーのアテンションインジケーターを自動的にクリアします。これは macOS/GNUstep や
MS-Windows では効果がありません。デフォルト値は t です。system-taskbar-mode を有効にする前に、この変数をカスタマイズしてください。
ユーザーオプション system-taskbar-dbus-desktop-file-name
は、GNU/Linux 上の D-Bus が起動済みの Emacs インスタンスを識別するのに役立ちます。デフォルトは ‘emacsclient’ となっており、GNU/Linux の設定によっては
‘emacs’ に変更する必要がある場合があります。
ユーザーオプション system-taskbar-dbus-timeout
はトラブルシューティング用のツールであり、カスタマイズする必要はおそらくありません。デフォルトは nil となっており、D-Bus のデフォルトタイムアウトである 25,000ms(25秒)が使用されます。
The Emacs Lisp Reference ManualのSystem Taskbarを参照してください。