From 36948506134e675ac54ce47e7e70d256fd7f6e2e Mon Sep 17 00:00:00 2001 From: Tom Willemsen Date: Thu, 5 Jul 2012 01:41:41 +0200 Subject: Make labels in list clickable When a label is clicked on, or is pressed while the cursor is on it, the `dispass' function is called with the appropriate label and length. --- dispass.el | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/dispass.el b/dispass.el index 5098a2d..1f054d3 100644 --- a/dispass.el +++ b/dispass.el @@ -178,6 +178,11 @@ an eye out for LABEL." (dispass-start-process label nil length)) ;; Labels management +(defun dispass-from-button (button) + "Call dispass with information from BUTTON." + (dispass (button-get button 'dispass-label) + (button-get button 'dispass-length))) + (defun dispass-labels--refresh () "Reload labels from dispass." (setq tabulated-list-entries nil) @@ -189,7 +194,13 @@ an eye out for LABEL." "\\(\\w+\\) .*length=\\([0-9]+\\) .*hash=\\(\\w+\\)$" nil t) (add-to-list 'tmp-list `(,(match-string 1) - [,(match-string 1) + [(,(match-string 1) + face link + help-echo ,(concat "Generate passphrase for " (match-string 1)) + follow-link t + dispass-label ,(match-string 1) + dispass-length ,(match-string 2) + action dispass-from-button) ,(match-string 2) ,(match-string 3)])))) (setq tabulated-list-entries tmp-list))) -- cgit v1.2.3-54-g00ecf