[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 7f6d39f 193/272: counsel.el (counsel-linux-app-action-file
From: |
Oleh Krehel |
Subject: |
[elpa] master 7f6d39f 193/272: counsel.el (counsel-linux-app-action-file): New action on "M-o f" |
Date: |
Mon, 25 Apr 2016 10:13:25 +0000 |
branch: master
commit 7f6d39f09ec1318c7c3be67e7c1a37f342e42cdf
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>
counsel.el (counsel-linux-app-action-file): New action on "M-o f"
* counsel.el (counsel-linux-app-action-default): Rename from
`counsel-linux-app-action'.
---
counsel.el | 25 +++++++++++++++++++++++--
1 file changed, 23 insertions(+), 2 deletions(-)
diff --git a/counsel.el b/counsel.el
index 499fb48..6afdbbc 100644
--- a/counsel.el
+++ b/counsel.el
@@ -1856,18 +1856,39 @@ An extra action allows to switch to the process buffer."
(add-to-list 'counsel-linux-apps-faulty file))))))
counsel-linux-apps-alist)
-(defun counsel-linux-app-action (desktop-shortcut)
+(defun counsel-linux-app-action-default (desktop-shortcut)
"Launch DESKTOP-SHORTCUT."
(call-process-shell-command
(format "gtk-launch %s" (file-name-nondirectory desktop-shortcut))))
+(defun counsel-linux-app-action-file (desktop-shortcut)
+ "Launch DESKTOP-SHORTCUT with a selected file."
+ (let* ((entry (rassoc desktop-shortcut counsel-linux-apps-alist))
+ (short-name (and entry
+ (string-match "\\([^ ]*\\) " (car entry))
+ (match-string 1 (car entry))))
+ (file (and short-name
+ (read-file-name
+ (format "Run %s on: " short-name)))))
+ (if file
+ (call-process-shell-command
+ (format "gtk-launch %s %s"
+ (file-name-nondirectory desktop-shortcut)
+ file))
+ (user-error "cancelled"))))
+
+(ivy-set-actions
+ 'counsel-linux-app
+ '(("f" counsel-linux-app-action-file "run on a file")))
+
;;;###autoload
(defun counsel-linux-app ()
"Launch a Linux desktop application, similar to Alt-<F2>."
(interactive)
(ivy-read "Run a command: " (counsel-linux-apps-list)
- :action #'counsel-linux-app-action
+ :action #'counsel-linux-app-action-default
:caller 'counsel-linux-app))
+
;;** `counsel-mode'
(defvar counsel-mode-map
(let ((map (make-sparse-keymap)))
- [elpa] master 6a00275 187/272: ivy.el (ivy-switch-buffer-occur): Add, (continued)
- [elpa] master 6a00275 187/272: ivy.el (ivy-switch-buffer-occur): Add, Oleh Krehel, 2016/04/25
- [elpa] master 181cd43 154/272: Add counsel-mode, Oleh Krehel, 2016/04/25
- [elpa] master 92b802f 176/272: counsel.el (counsel-ag): Add dir prompt for "C-u", Oleh Krehel, 2016/04/25
- [elpa] master 4998ba8 208/272: ivy.el (ivy-completing-read): Use the "t" key of ivy-sort-functions-alist, Oleh Krehel, 2016/04/25
- [elpa] master 4ac3736 243/272: New feature: virtual views in ivy-switch-buffer, Oleh Krehel, 2016/04/25
- [elpa] master 46a00dc 227/272: Modified ivy to pass predicate when selecting buffers, Oleh Krehel, 2016/04/25
- [elpa] master b48a09d 245/272: Use Ivy to browse eshell and shell history entries, Oleh Krehel, 2016/04/25
- [elpa] master e7f41bb 236/272: swiper.el (swiper-mc): Remove interactive, Oleh Krehel, 2016/04/25
- [elpa] master 147ae80 096/272: Fix an extra action being called for `completing-read', Oleh Krehel, 2016/04/25
- [elpa] master c4b9e25 249/272: Add much faster scrolling to counsel-grep, Oleh Krehel, 2016/04/25
- [elpa] master 7f6d39f 193/272: counsel.el (counsel-linux-app-action-file): New action on "M-o f",
Oleh Krehel <=
- [elpa] master ac4bedf 175/272: counsel.el (counsel-find-file): Bind "M-o f" to find-file-other-window, Oleh Krehel, 2016/04/25
- [elpa] master 41e2e41 246/272: Clean-up previous change, Oleh Krehel, 2016/04/25
- [elpa] master 90a09fa 086/272: doc/ivy.org: CUSTOM_ID should not end in "?", Oleh Krehel, 2016/04/25
- [elpa] master 6254e88 244/272: Allow a sexp node in ivy-views, Oleh Krehel, 2016/04/25
- [elpa] master e224847 179/272: ivy.el (ivy--reset-state): Fix prompt / require-match issue, Oleh Krehel, 2016/04/25
- [elpa] master 5229ebe 173/272: counsel.el (counsel-prompt-function-dir): Fix format, Oleh Krehel, 2016/04/25
- [elpa] master 8de2930 221/272: ivy.el: Improve "M-n", Oleh Krehel, 2016/04/25
- [elpa] master 6823518 196/272: swiper.el (swiper--candidates): Always remove '(field), Oleh Krehel, 2016/04/25
- [elpa] master d45ee54 258/272: Make the slash more magic during file name completion, Oleh Krehel, 2016/04/25
- [elpa] master ea79f0e 135/272: New API function ivy-set-display-transformer, Oleh Krehel, 2016/04/25