せっかなくので、やってみた。

日々のあんなこと、こんなこと、せっかくなのでやってみた

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

これでタスクバーがすっきしりた!