summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorjao <jao@gnu.org>2021-05-21 22:55:35 +0100
committerjao <jao@gnu.org>2021-05-21 22:55:35 +0100
commit6a13a1b0b713c50d2064bc26ff229aa74560b1e3 (patch)
treea7afaf66c6011b4c7037dbaafcad3164d9cd7728
parent9a8d7414aac705447ba345ca65ee9fd0ef0acc83 (diff)
downloadelibs-6a13a1b0b713c50d2064bc26ff229aa74560b1e3.tar.gz
elibs-6a13a1b0b713c50d2064bc26ff229aa74560b1e3.tar.bz2
ye good olde window navigation shortcuts
-rw-r--r--init.org25
1 files changed, 24 insertions, 1 deletions
diff --git a/init.org b/init.org
index 35fd671..d1af7d3 100644
--- a/init.org
+++ b/init.org
@@ -1174,20 +1174,43 @@
(define-key ctl-x-4-map (kbd "t") #'jao-transpose-windows)
(global-set-key (kbd "M-O") #'jao-transpose-windows)
#+end_src
-*** First window
+*** Window navigation
#+begin_src emacs-lisp
(defvar jao-first-window--from nil)
(defun jao-first-window ()
+ "Go to previous windows in frame, remembering where we were."
(interactive)
(let ((cb (current-buffer)))
(if (eq (get-buffer-window cb) (select-window (frame-first-window)))
(when jao-first-window--from (pop-to-buffer jao-first-window--from))
(setq jao-first-window--from cb))))
+ (defun jao-prev-window ()
+ "Go to previous window."
+ (interactive)
+ (other-window -1))
+
+ (defun jao--nth-windower (n)
+ (if (zerop n) #'jao-first-window
+ `(lambda ()
+ (interactive)
+ (jao-first-window)
+ (dotimes (x ,n) (other-window 1)))))
+
(global-set-key (kbd "s-a") #'jao-first-window)
(global-set-key (kbd "H-s-a") #'jao-first-window)
(global-set-key (kbd "M-o") #'other-window)
+ (global-set-key (kbd "C-x p") 'jao-prev-window)
+
+ (global-set-key (kbd "C-c 0") #'jao-first-window)
+ (dolist (n '(0 1 2 3 4 5 6 7 8))
+ (global-set-key (format "\C-c%s" (1+ n)) (jao--nth-windower n)))
+
+ #+end_src
+*** nth window
+ #+begin_src emacs-lisp
+
#+end_src
*** winner mode
#+begin_src emacs-lisp