解決策はemacsclient.desktop
、StartupWMClass設定を使用して、ウィンドウのクラスにディレクティブを含むファイルを作成することです。それなしでは、UnityはそのウィンドウがEmacsclientから来たことを知ることができません。これにより、Emacsの内容(/usr/share/applications/emacs23.desktop)に基づいて作成されます。
mkdir -p ~/.local/share/applications
cat > !$/emacsclient.desktop <<EOF
[Desktop Entry]
Version=1.0
Name=Emacsclient
GenericName=Text Editor
Comment=View and edit files
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
Exec=/usr/bin/emacsclient -c %F
Icon=/usr/share/icons/hicolor/scalable/apps/emacs23.svg
Type=Application
Terminal=false
Categories=Utility;Development;TextEditor;
StartupWMClass=Emacs
EOF
emacsclientをランチャーに配置し(例:Superをタップし、「emacsclient」と入力してドラッグします)、ログアウト/ログインします。