A solução é criar um arquivo emacsclient.desktop
, incluindo uma diretiva para a classe da janela usando as configurações StartupWMClass. Sem ela, o Unity não pode dizer que aquela janela veio do Emacsclient. Isto irá criar um baseado no conteúdo do 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
Coloque o emacsclient no lançador (por exemplo, toque em Super, digite "emacsclient", arraste-o para dentro) e efetue logout / in.