>From ffa379943221e93dec8555226b825dd2ac4b35cb Mon Sep 17 00:00:00 2001 From: Olexiy Zamkoviy Date: Wed, 2 Feb 2011 06:52:26 +0200 Subject: [PATCH] Improved "google" and "imdb" commands from sample-stumpwmrc.lisp --- sample-stumpwmrc.lisp | 17 +++++++++-------- 1 files changed, 9 insertions(+), 8 deletions(-) diff --git a/sample-stumpwmrc.lisp b/sample-stumpwmrc.lisp index 15ae3e8..bd1481f 100644 --- a/sample-stumpwmrc.lisp +++ b/sample-stumpwmrc.lisp @@ -17,20 +17,21 @@ ;; Read some doc (define-key *root-map* (kbd "d") "exec gv") ;; Browse somewhere -(define-key *root-map* (kbd "b") "colon1 exec firefox http://www.") +(define-key *root-map* (kbd "b") "colon exec firefox http://www.") ;; Ssh somewhere -(define-key *root-map* (kbd "C-s") "colon1 exec xterm -e ssh ") +(define-key *root-map* (kbd "C-s") "colon exec xterm -e ssh ") ;; Lock screen (define-key *root-map* (kbd "C-l") "exec xlock") +(require :url-rewrite) ;; Web jump (works for Google and Imdb) -(defmacro make-web-jump (name prefix) - `(defcommand ,name (search) ((:rest ,(concatenate 'string name " search: "))) +(defmacro make-web-jump (name prefix &optional (escape-func #'url-rewrite:url-encode)) + `(defcommand ,name (search) ((:rest ,(concatenate 'string (string name) " search: "))) (substitute #\+ #\Space search) - (run-shell-command (concatenate 'string ,prefix search)))) + (run-shell-command (format nil ,prefix (funcall ,escape-func search))))) -(make-web-jump "google" "firefox http://www.google.fr/search?q=") -(make-web-jump "imdb" "firefox http://www.imdb.com/find?q=") +(make-web-jump :google "firefox \"http://www.google.fr/search?q=~A\"") +(make-web-jump :imdb "firefox \"http://www.imdb.com/find?q=~A\"") ;; C-t M-s is a terrble binding, but you get the idea. (define-key *root-map* (kbd "M-s") "google") @@ -72,4 +73,4 @@ (define-frame-preference "Emacs" (1 t t :restore "emacs-editing-dump" :title "...xdvi") - (0 t t :create "emacs-dump" :class "Emacs")) \ No newline at end of file + (0 t t :create "emacs-dump" :class "Emacs")) -- 1.5.6.5