summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--attic/misc.org41
-rw-r--r--exwm.org8
-rw-r--r--init.org99
3 files changed, 93 insertions, 55 deletions
diff --git a/attic/misc.org b/attic/misc.org
index dbf621f..d3af11a 100644
--- a/attic/misc.org
+++ b/attic/misc.org
@@ -500,6 +500,47 @@
:diminish ((rcirc-omit-mode . "")))
#+end_src
+* nth window
+ #+begin_src emacs-lisp
+ (defun jao--nth-window (n)
+ (let ((jao-minibuffer-mode nil)
+ (ignore-window-parameters t))
+ (select-window (frame-first-window))
+ (other-window n))
+ (jao-minibuffer-refresh))
+
+ (defalias 'jao-other-window 'other-window)
+
+ ;; (global-set-key (kbd "M-o") #'jao-other-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))
+ (lambda () (interactive) (jao--nth-window n))))
+
+ #+end_src
+* transpose
+ #+begin_src emacs-lisp
+ (defun jao-transpose-windows (arg)
+ "Transpose the buffers shown in two windows."
+ (interactive "p")
+ (let ((selector (if (>= arg 0) 'next-window 'previous-window)))
+ (while (/= arg 0)
+ (let ((this-win (window-buffer))
+ (next-win (window-buffer (funcall selector))))
+ (set-window-buffer (selected-window) next-win)
+ (set-window-buffer (funcall selector) this-win)
+ (select-window (funcall selector)))
+ (setq arg (if (> arg 0) (1- arg) (1+ arg))))))
+
+ (defun jao-transpose-windows-prev ()
+ (interactive)
+ (jao-transpose-windows -1))
+
+ (define-key ctl-x-4-map (kbd "t") #'jao-transpose-windows)
+ (global-set-key (kbd "M-O") #'jao-transpose-windows)
+ (global-set-key (kbd "M-P") #'jao-transpose-windows-prev)
+ #+end_src
* ace-window
#+begin_src emacs-lisp
(defun jao-ace-switch-buffer-other-window ()
diff --git a/exwm.org b/exwm.org
index d5efefe..29978b2 100644
--- a/exwm.org
+++ b/exwm.org
@@ -534,9 +534,11 @@
([?\s-b] . jao-transient-org-blog)
([?\s-e] . jao-exwm-toggle-firefox)
([?\s-m] . jao-transient-media)
- ([?\s-O] . jao-transpose-windows)
- ([?\s-o] . jao-other-window)
- ([?\s-P] . jao-transpose-windows-prev)
+ ;; ([?\s-O] . jao-transpose-windows)
+ ;; ([?\s-o] . jao-other-window)
+ ;; ([?\s-P] . jao-transpose-windows-prev)
+ ([?\s-O] . ace-swap-window)
+ ([?\s-o] . ace-window)
([?\s-p] . jao-prev-window)
([?\s-R] . app-launcher-run-app)
([?\s-r] . jao-recoll-transient)
diff --git a/init.org b/init.org
index f163425..4fc1409 100644
--- a/init.org
+++ b/init.org
@@ -1117,25 +1117,27 @@
:ensure t
:diminish
:custom ((pulsar-pulse-functions
- '(recenter-top-bottom
- move-to-window-line-top-bottom
- reposition-window
- other-window
- delete-window
+ '(ace-window
+ backward-page
delete-other-windows
+ delete-window
forward-page
- backward-page
- scroll-up-command
- scroll-down-command
+ jao-prev-window
+ move-to-window-line-top-bottom
+ org-backward-heading-same-level
+ org-forward-heading-same-level
org-next-visible-heading
org-previous-visible-heading
- org-forward-heading-same-level
- org-backward-heading-same-level
+ other-window
outline-backward-same-level
outline-forward-same-level
outline-next-visible-heading
outline-previous-visible-heading
- outline-up-heading))
+ outline-up-heading
+ recenter-top-bottom
+ reposition-window
+ scroll-down-command
+ scroll-up-command))
(pulsar-pulse t)
(pulsar-delay 0.1)
(pulsar-iterations 10)
@@ -1147,7 +1149,7 @@
#+end_src
* Windows
-*** Scrolling
+*** scrolling
#+begin_src emacs-lisp
(setq scroll-preserve-screen-position 'always
scroll-conservatively most-positive-fixnum
@@ -1155,7 +1157,7 @@
scroll-step 2
redisplay-skip-fontification-on-input t)
#+end_src
-*** Splitting and switch
+*** splitting and switch
#+begin_src emacs-lisp
(setq split-height-threshold 80
split-width-threshold 144)
@@ -1168,29 +1170,7 @@
(global-set-key (kbd "C-x _") #'delete-other-windows-vertically)
#+end_src
-*** Transpose
- #+begin_src emacs-lisp
- (defun jao-transpose-windows (arg)
- "Transpose the buffers shown in two windows."
- (interactive "p")
- (let ((selector (if (>= arg 0) 'next-window 'previous-window)))
- (while (/= arg 0)
- (let ((this-win (window-buffer))
- (next-win (window-buffer (funcall selector))))
- (set-window-buffer (selected-window) next-win)
- (set-window-buffer (funcall selector) this-win)
- (select-window (funcall selector)))
- (setq arg (if (> arg 0) (1- arg) (1+ arg))))))
-
- (defun jao-transpose-windows-prev ()
- (interactive)
- (jao-transpose-windows -1))
-
- (define-key ctl-x-4-map (kbd "t") #'jao-transpose-windows)
- (global-set-key (kbd "M-O") #'jao-transpose-windows)
- (global-set-key (kbd "M-P") #'jao-transpose-windows-prev)
- #+end_src
-*** Window navigation
+*** first window
#+begin_src emacs-lisp
(defvar jao-first-window--from nil)
@@ -1207,24 +1187,39 @@
(interactive)
(other-window -1))
- (defun jao--nth-window (n)
- (let ((jao-minibuffer-mode nil)
- (ignore-window-parameters t))
- (select-window (frame-first-window))
- (other-window n))
- (jao-minibuffer-refresh))
+ (global-set-key (kbd "C-x p") #'jao-prev-window)
+ (global-set-key (kbd "s-a") #'jao-first-window)
- (defalias 'jao-other-window 'other-window)
+ #+end_src
+*** ace window
+ #+begin_src emacs-lisp
+ (use-package ace-window
+ :ensure t
+ :demand t
+ :init (setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l)
+ aw-char-position 'top-left
+ aw-ignore-current nil
+ aw-dispatch-when-more-than 2
+ aw-leading-char-style 'path
+ aw-display-mode-overlay t
+ aw-scope 'frame)
+ :config
- (global-set-key (kbd "s-a") #'jao-first-window)
- (global-set-key (kbd "C-x p") 'jao-prev-window)
- (global-set-key (kbd "M-o") #'jao-other-window)
- (global-set-key (kbd "M-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))
- (lambda () (interactive) (jao--nth-window n))))
+ (defun jao-ace-consult-buffer-other-window (w)
+ (interactive)
+ (aw-switch-to-window w)
+ (consult-buffer))
+
+ (setf (alist-get ?b aw-dispatch-alist)
+ '(jao-ace-consult-buffer-other-window "Consult buffer"))
+
+ (setf (alist-get ?B aw-dispatch-alist)
+ (alist-get ?u aw-dispatch-alist))
+
+
+ :bind (("s-o" . ace-window)
+ ("s-O" . ace-swap-window)
+ ("C-x 4 t" . ace-swap-window)))
#+end_src
*** winner mode