added support for dedidcated windows in rotate-windows function
This commit is contained in:
parent
ba06c7c83f
commit
effcacedaa
51
my-funcs.el
51
my-funcs.el
|
@ -18,28 +18,35 @@
|
|||
(set-register '_ (list (current-window-configuration)))
|
||||
(delete-other-windows))))
|
||||
|
||||
;:http://emacswiki.org/emacs/TransposeWindows
|
||||
(defun rotate-windows ()
|
||||
"Rotate your windows"
|
||||
(interactive)
|
||||
(cond
|
||||
((not (> (count-windows) 1))
|
||||
(message "You can't rotate a single window!"))
|
||||
(t
|
||||
(let ((i 1)
|
||||
(num-windows (count-windows)))
|
||||
(while (< i num-windows)
|
||||
(let* ((w1 (elt (window-list) i))
|
||||
(w2 (elt (window-list) (+ (% i num-windows) 1)))
|
||||
(b1 (window-buffer w1))
|
||||
(b2 (window-buffer w2))
|
||||
(s1 (window-start w1))
|
||||
(s2 (window-start w2)))
|
||||
(set-window-buffer w1 b2)
|
||||
(set-window-buffer w2 b1)
|
||||
(set-window-start w1 s2)
|
||||
(set-window-start w2 s1)
|
||||
(setq i (1+ i))))))))
|
||||
;; from magnars modified bt ffevotte for dedicated windows support
|
||||
(defun rotate-windows (count)
|
||||
"Rotate your windows.
|
||||
Dedicated windows are left untouched. Giving a negative prefix
|
||||
argument makes the windows rotate backwards."
|
||||
(interactive "p")
|
||||
(let* ((non-dedicated-windows (remove-if 'window-dedicated-p (window-list)))
|
||||
(num-windows (length non-dedicated-windows))
|
||||
(i 0)
|
||||
(step (+ num-windows count)))
|
||||
(cond ((not (> num-windows 1))
|
||||
(message "You can't rotate a single window!"))
|
||||
(t
|
||||
(dotimes (counter (- num-windows 1))
|
||||
(let* ((next-i (% (+ step i) num-windows))
|
||||
|
||||
(w1 (elt non-dedicated-windows i))
|
||||
(w2 (elt non-dedicated-windows next-i))
|
||||
|
||||
(b1 (window-buffer w1))
|
||||
(b2 (window-buffer w2))
|
||||
|
||||
(s1 (window-start w1))
|
||||
(s2 (window-start w2)))
|
||||
(set-window-buffer w1 b2)
|
||||
(set-window-buffer w2 b1)
|
||||
(set-window-start w1 s2)
|
||||
(set-window-start w2 s1)
|
||||
(setq i next-i)))))))
|
||||
|
||||
;; from magnars
|
||||
(defun rename-current-buffer-file ()
|
||||
|
|
Loading…
Reference in New Issue