From 8ba784883c049d5a7b9764612874b75ee7779220 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sat, 28 Jun 2025 12:40:39 -0500 Subject: Add code in system-utils.el to open specific extensions via xdg-open --- todo.org | 59 ----------------------------------------------------------- 1 file changed, 59 deletions(-) (limited to 'todo.org') diff --git a/todo.org b/todo.org index 889eac43..c75f4145 100644 --- a/todo.org +++ b/todo.org @@ -1,61 +1,4 @@ * Emacs Open Work -** TODO [#A] Emacs should open specific file extensions outside emacs -*** Reference Ideas -**** https://www.reddit.com/r/emacs/comments/1cdhum7/how_to_make_emacs_open_certain_files_using/ -(defun my/dired-open() - (interactive) - (let ((filext '("mp4" "rar" "zip" "gz" "epub" "xz" "sig" "pdf" "jpg" "png" "7z"))) - (cond - ((file-directory-p (dired-get-file-for-visit)) - (dired-find-file)) - - ((member (f-ext (dired-get-file-for-visit)) filext) - (call-process "xdg-open" nil nil nil (dired-get-file-for-visit))) - - (t (dired-find-file))))) -**** https://www.reddit.com/r/emacs/comments/1cdhum7/how_to_make_emacs_open_certain_files_using/ -(defun xdg-open (&optional filename) - (interactive) - (let ((process-connection-type)) - (start-process - "" nil (cond ((eq system-type 'gnu/linux) "xdg-open") - ((eq system-type 'darwin) "open") - ((eq system-type 'windows-nt) "start") - (t "")) (expand-file-name - (or filename (dired-file-name-at-point)))))) - -(defun find-file-auto (orig-fun &rest args) - (let ((filename (car args))) - (if (cl-find-if - (lambda (regexp) (string-match regexp filename)) - '("\\.pdf\\'" "\\.mp4\\'" "\\.wav\\'" "\\.avi\\'" "\\.gif\\'" "\\.docx?\\'")) - (xdg-open filename) - (apply orig-fun args)))) - -(advice-add 'find-file :around 'find-file-auto) -**** https://pastebin.com/HShdkFrY -;; Dired "native open": Use the OS-native program for opening the file -;; type from Dired - -(defvar dired-native-open-program nil "The OS-native program for opening files.") - -(cond ((eq system-type 'darwin) - (setq dired-native-open-program "/usr/bin/open")) - ((eq system-type 'gnu/linux) - (setq dired-native-open-program "xdg-open")) - ((eq system-type 'windows-nt) - (setq dired-native-open-program "explorer.exe"))) - -(defun dired-open-with-native-open-program () - "Open the marked files with the program associated with those file types." - (interactive) - (let ((file-list (dired-get-marked-files))) - (dired-run-shell-command - (dired-shell-stuff-it dired-native-open-program file-list t)))) - -(define-key dired-mode-map (kbd "M-o") #'dired-open-with-native-open-program) -(define-key locate-mode-map (kbd "M-o") #'dired-open-with-native-open-program) - ** TODO [#B] Mu4e Working with Proton and Gmail ** TODO [#B] Dirvish should open not showing hidden files by default *** 2025-06-07 Sat @ 12:25:28 -0500 It isn't omitting the h switch on directory listings @@ -65,8 +8,6 @@ No. Didn't help Emacs Alarm seems to sound off periodically after the ** TODO [#B] Add Past Due to F8 Agenda Summary in Emacs ** TODO [#B] Separate B and C in F8 Agenda Summary in Emacs -** TODO [#B] Adjust Eshell Colors -the prompt is pink? ** TODO [#B] Fix Emacs Org Roam Recipe Error C-c n i then type a recipe name. org-element--get-category: Invalid function: org-element-with-disabled-cache -- cgit v1.2.3