Я використовую Ubuntu, тому розташування файлу на робочому столі може бути різним, але я думаю, що вміст повинен бути подібним.
$ cat ~/.local/share/applications/emacsclient.desktop
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Name=GNU Emacs 24
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 -a "" %F
Icon=/usr/share/icons/hicolor/scalable/apps/emacs-snapshot.svg
Type=Application
Terminal=false
Categories=Utility;Development;TextEditor;
StartupWMClass=Emacs
Name[en_US]=GNU Emacs 24
Важлива частина:
Exec=/usr/bin/emacsclient -c -a "" %F
Для уточнення цього, мабуть, слід:
Exec=/usr/bin/emacsclient --create-frame --alternate-editor "" %F
З документації на emacsclient ці комутатори роблять наступне:
-c, --create-frame Create a new frame instead of trying to
use the current Emacs frame
-a EDITOR, --alternate-editor=EDITOR
Editor to fallback to if the server is not running
If EDITOR is the empty string, start Emacs in daemon
mode and try connecting again
Таким чином, він створює новий кадр, використовуючи, -c
і тоді, якщо emacs ще не демонізований, він запускає новий демон emacs з -a ""
. Нарешті, %F
виправляє його, щоб ви могли перетягнути текстовий файл на піктограму, і він відкриє його.
Так само, як і в сторону, ви також можете розглянути, -F "((fullscreen . maximized))"
щоб змусити кадр максимізувати при запуску. На жаль, я не можу згадати, яка версія emacs потрібна для роботи.