aboutsummaryrefslogtreecommitdiff
path: root/misc/.local
diff options
context:
space:
mode:
authorYuchen Pei <id@ypei.org>2023-08-21 16:56:02 +1000
committerYuchen Pei <id@ypei.org>2023-08-21 16:56:02 +1000
commit2f4b5e011c4345e18a8ad6a9ea968f62e66e08d8 (patch)
treefa5208012c0d394df89265345ecc812c8b682b27 /misc/.local
parentffea78e98b6a9c494c0a52f59e6ad1678a6dc445 (diff)
Adding xdg desktop entries and mimeapp.list
Diffstat (limited to 'misc/.local')
-rw-r--r--misc/.local/share/applications/emacsclient-mail.desktop23
-rw-r--r--misc/.local/share/applications/emacsclient.desktop22
2 files changed, 45 insertions, 0 deletions
diff --git a/misc/.local/share/applications/emacsclient-mail.desktop b/misc/.local/share/applications/emacsclient-mail.desktop
new file mode 100644
index 0000000..12a0100
--- /dev/null
+++ b/misc/.local/share/applications/emacsclient-mail.desktop
@@ -0,0 +1,23 @@
+[Desktop Entry]
+Categories=Network;Email;
+Comment=GNU Emacs is an extensible, customizable text editor - and more
+# We want to pass the following commands to the shell wrapper:
+# u=$(echo "$1" | sed 's/[\"]/\\&/g'); exec emacsclient --alternate-editor= --display="$DISPLAY" --eval "(message-mailto \"$u\")"
+# Special chars '"', '$', and '\' must be escaped as '\\"', '\\$', and '\\\\'.
+Exec=sh -c "u=\\$(echo \\"\\$1\\" | sed 's/[\\\\\\"]/\\\\\\\\&/g'); exec /usr/bin/emacsclient --alternate-editor= --create-frame --eval \\"(message-mailto \\\\\\"\\$u\\\\\\")\\"" sh %u
+Icon=emacs
+Name=Emacs (Mail, Client)
+MimeType=x-scheme-handler/mailto;
+NoDisplay=true
+Terminal=false
+Type=Application
+Keywords=emacsclient;
+Actions=new-window;new-instance;
+
+[Desktop Action new-window]
+Name=New Window
+Exec=sh -c "u=\\$(echo \\"\\$1\\" | sed 's/[\\\\\\"]/\\\\\\\\&/g'); exec /usr/bin/emacsclient --alternate-editor= --create-frame --eval \\"(message-mailto \\\\\\"\\$u\\\\\\")\\"" sh %u
+
+[Desktop Action new-instance]
+Name=New Instance
+Exec=emacs -f message-mailto %u
diff --git a/misc/.local/share/applications/emacsclient.desktop b/misc/.local/share/applications/emacsclient.desktop
new file mode 100644
index 0000000..5e68ffe
--- /dev/null
+++ b/misc/.local/share/applications/emacsclient.desktop
@@ -0,0 +1,22 @@
+[Desktop Entry]
+Name=Emacs (Client)
+GenericName=Text Editor
+Comment=Edit text
+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=emacsclient --alternate-editor= --create-frame %F
+Icon=emacs
+Type=Application
+Terminal=false
+Categories=Development;TextEditor;
+StartupNotify=true
+StartupWMClass=Emacs
+Keywords=emacsclient;
+Actions=new-window;new-instance;
+
+[Desktop Action new-window]
+Name=New Window
+Exec=emacsclient --alternate-editor= --create-frame %F
+
+[Desktop Action new-instance]
+Name=New Instance
+Exec=emacs %F