Windows8.1のタスクバーにemacsやminttyのアイコンが複数表示されてしまう
gnupackのemacsやminttyは起動プログラムと本体が別プログラムのため、タスクバーに複数アイコンが表示されてしまう。
どうもWindows7以降のタスクバーはAppUserModelIDというもので、アプリケーションをグループ化するらしい。
で、そのAppUserModelIDを変更するアプリがgooglecode.comにアップされていた。
参考にした記事はこちら。
[mintty をWindowsのタスクバーにグループ化する方法]
http://qiita.com/mo12ino/items/b6f38278c6d187ecf819
まずはstartup_emacs.exeを(起動せずに)タスクバーにピン止めする。
すると
/Users/ユーザ名/AppData/Roaming/Microsoft/Internet Explorer/Quick Launch/User Pinned/TaskBar
にショートカットが作成されるので、以下のコマンドでAppIDをセットする。
> cd "/Users/ユーザ名/AppData/Roaming/Microsoft/Internet Explorer/Quick Launch/User Pinned/TaskBar" > Win7AppId1.1.exe "emacs startup program.lnk" GNU.Emacs No current AppId New AppId: GNU.Emacs
これで、ピン止めされたアイコンをクリックすると、emacsがグループ化して表示されるようになる。
ちなみに、AppIDの「GNU.Emacs」は起動後のemacs本体のAppID。先にemacs本体をタスクバーにピン止めして、以下を入力すると、AppIDが確認できる。
> Win7AppId1.1.exe "emacs.lnk" Current AppId: GNU.Emacs
もし、誤ってピン止めを外してしまったら、再度同じ手順で復活できる。
minttyの場合は、起動プログラムの方にAppIDが設定されていないので、~/.minttyrcに以下を記述して、同様の作業をする。
AppID=mintty
これでタスクバーがすっきしりた!