[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master b83b941 65/68: Add `ace-window-display-mode' minor mode
From: |
Oleh Krehel |
Subject: |
[elpa] master b83b941 65/68: Add `ace-window-display-mode' minor mode |
Date: |
Sat, 21 Mar 2015 19:07:11 +0000 |
branch: master
commit b83b9417d07d14a8c6559ef6367687590a614997
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>
Add `ace-window-display-mode' minor mode
* ace-window.el (ace-window-display-mode): Display the `ace-window' full
key path in each window.
(aw-update): New defun. Traverse all windows and set their
ace-window-path parameter. Some synchronization should be added to
`aw-select' wrt ignored windows.
---
ace-window.el | 33 ++++++++++++++++++++++++++++++++-
1 files changed, 32 insertions(+), 1 deletions(-)
diff --git a/ace-window.el b/ace-window.el
index 35e7cb1..815520b 100644
--- a/ace-window.el
+++ b/ace-window.el
@@ -104,7 +104,7 @@ Use M-0 `ace-window' to toggle this value."
(defface aw-mode-line-face
'((t (:foreground "black")))
- "Face used for ace window key in the mode-line.")
+ "Face used for displaying the ace window key in the mode-line.")
;;* Implementation
(defun aw-ignored-p (window)
@@ -426,6 +426,37 @@ The point is writable, i.e. it's not part of space after
newline."
(+ (point) h)))))
;;* Mode line
+;;;###autoload
+(define-minor-mode ace-window-display-mode
+ "Minor mode for showing the ace window key in the mode line."
+ :global t
+ (if ace-window-display-mode
+ (progn
+ (aw-update)
+ (set-default
+ 'mode-line-format
+ `((ace-window-display-mode
+ (:eval (window-parameter (selected-window) 'ace-window-path)))
+ ,@(default-value 'mode-line-format)))
+ (force-mode-line-update t)
+ (add-hook 'window-configuration-change-hook 'aw-update))
+ (set-default
+ 'mode-line-format
+ (assq-delete-all
+ 'ace-window-display-mode
+ (default-value 'mode-line-format)))
+ (remove-hook 'window-configuration-change-hook 'aw-update)))
+
+(defun aw-update ()
+ "Update ace-window-path window parameter for all windows."
+ (avy-traverse
+ (avy-tree (aw-window-list) aw-keys)
+ (lambda (path leaf)
+ (set-window-parameter
+ leaf 'ace-window-path
+ (propertize
+ (apply #'string (reverse path))
+ 'face 'aw-mode-line-face)))))
(provide 'ace-window)
- [elpa] master 574b3bd 57/68: Add `aw-leading-char-style' extra-awesome custom var, (continued)
- [elpa] master 574b3bd 57/68: Add `aw-leading-char-style' extra-awesome custom var, Oleh Krehel, 2015/03/21
- [elpa] master 8b5f10a 53/68: Update outlines, Oleh Krehel, 2015/03/21
- [elpa] master d7cafcb 56/68: avy-jump.el: add example commands using avy, Oleh Krehel, 2015/03/21
- [elpa] master fcc64ab 59/68: avy-jump.el (avi--regex-candidates): Add optional bounds, Oleh Krehel, 2015/03/21
- [elpa] master d932090 60/68: avy-jump.el (avi--overlay): Fix bug, Oleh Krehel, 2015/03/21
- [elpa] master f0050fb 62/68: avy.el (avy-read): Give a more precise error, Oleh Krehel, 2015/03/21
- [elpa] master 4e5ca87 58/68: avy-jump.el: Major update, Oleh Krehel, 2015/03/21
- [elpa] master ee0fa60 64/68: Add show keys on mode line feature., Oleh Krehel, 2015/03/21
- [elpa] master 30abc92 61/68: avy-jump.el (avi-goto-word-0): Simplify, Oleh Krehel, 2015/03/21
- [elpa] master a3d4817 63/68: Allow switching to the previous window, Oleh Krehel, 2015/03/21
- [elpa] master b83b941 65/68: Add `ace-window-display-mode' minor mode,
Oleh Krehel <=
- [elpa] master d81f079 54/68: Remove dependency on ace-jump-mode, Oleh Krehel, 2015/03/21
- [elpa] master 2580bf9 67/68: ace-window.el (aw-mode-line-face): Inherit from mode-line-buffer-id, Oleh Krehel, 2015/03/21
- [elpa] master 22a3145 66/68: Make sure not to extend `mode-line-format' twice, Oleh Krehel, 2015/03/21
- [elpa] master b11606c 68/68: Add 'packages/ace-window/' from commit '2580bf9bd7f66ed4e923a125ee8efcc4b6a043e0', Oleh Krehel, 2015/03/21