Saya menggunakan Ubuntu, jadi lokasi file desktop mungkin berbeda tetapi saya pikir isinya harus sama.
$ 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
Bagian yang penting adalah:
Exec=/usr/bin/emacsclient -c -a "" %F
Untuk mengklarifikasi yang seharusnya:
Exec=/usr/bin/emacsclient --create-frame --alternate-editor "" %F
Dari dokumentasi emacsclient, sakelar itu melakukan hal berikut:
-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
Jadi itu membuat bingkai baru menggunakan -c
dan kemudian jika emacs belum di-daemonisasi itu mulai dengan daemon emacs baru -a ""
. Terakhir, %F
perbaiki agar Anda dapat menyeret file teks ke ikon dan itu akan membukanya.
Sama seperti samping Anda mungkin juga melihat ke dalam -F "((fullscreen . maximized))"
untuk memaksa frame untuk memaksimalkan saat peluncuran. Sayangnya, saya tidak ingat versi emacs mana yang diperlukan untuk itu berfungsi.
Saya benar-benar hanya mengutak-atik jawaban dgtized untuk menanggapi komentar dari akaihola. Yaitu yang kita inginkan adalah
Saya menemukan bahwa membuat
emacs25.desktop
file daripadaemacsclient.desktop
bekerja secara ajaib (terus terang, saya tidak tahu mengapa).Jadi saya melakukannya:
cp /usr/share/applications/emacs25.desktop ~/.local/share/applications
(tergantung pada sistem Anda, mungkin tidak
emacs25
)Kemudian di saya,
~/.local/share/applications/emacs25.desktop
saya mengubah baris Exec menjadi:Exec=/bin/bash --login -c "emacsclient --alternate-editor= --create-frame %F"
Shell login bash memastikan daemon memiliki lingkungan login penuh saya.
Dan saya menghapus
TryExec
garis.Akhirnya, saya mengedit
Name
sehingga saya bisa mengenalinya di peluncur, mengetuk Super dan mengklik kanan untuk menambahkan item baru saya ke favorit. Saya selalu memiliki Emacs item pertama untuk saya sehingga Super + 1 memanggilnya.Name=GNU Emacs client
Dan sepertinya semuanya baik-baik saja.
sumber