
;; webdev.jl
;;
;; Rafal Strzalinski <rstrzali@elka.pw.edu.pl>
;; 

;;  
;; Swaps between editor and brower windows. 
;; Usefull for web developers.
;;


(defgroup webdev "Web development")

(defcustom *webdev-editor-pattern* "^emacs"
  "Editor window name (regexp)"
  :type string
  :group (webdev))

(defcustom *webdev-browser-pattern* "Mozilla"
  "Browser window name (regexp)"
  :type string
  :group (webdev))

(let ((toggle t))
  (defun webdeb-swap-between-editor-and-browser ()
    (let ((w  (car (filter #'(lambda (x) 
			  (string-match 
			   (if toggle
			       *webdev-editor-pattern*
			     *webdev-browser-pattern*)
			   (window-name x))) 
			   (managed-windows)))))
      (when w
	(setq toggle (not toggle))
	(show-window w)
	(set-input-focus w)
	(raise-window w)))))

;;
;; 
;; sample binding ("A-d" is left-window-key and 'd')

(bind-keys global-keymap
	   "A-d" '(webdeb-swap-between-editor-and-browser))




