Mercurial > hg > xemacs-beta
comparison lisp/packages/blink-cursor.el @ 98:0d2f883870bc r20-1b1
Import from CVS: tag r20-1b1
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:13:56 +0200 |
parents | 131b0175ea99 |
children | 8eaf7971accc |
comparison
equal
deleted
inserted
replaced
97:498bf5da1c90 | 98:0d2f883870bc |
---|---|
36 (if blink-cursor-lost-focus | 36 (if blink-cursor-lost-focus |
37 nil | 37 nil |
38 (or blink-cursor-last-selected-window | 38 (or blink-cursor-last-selected-window |
39 (setq blink-cursor-last-selected-window window)) | 39 (setq blink-cursor-last-selected-window window)) |
40 (if (eq window blink-cursor-last-selected-window) | 40 (if (eq window blink-cursor-last-selected-window) |
41 (set-specifier text-cursor-visible-p | 41 |
42 (not (specifier-instance text-cursor-visible-p | 42 (if (specifier-instance text-cursor-visible-p window) |
43 window)) | 43 (if (let ((current-time (current-time))) |
44 window) | 44 (or (> (car current-time) (car last-input-time)) |
45 (> (cadr current-time) (cdr last-input-time)))) | |
46 ;; turn cursor off only if more than a second since | |
47 ;; last input | |
48 (set-specifier text-cursor-visible-p nil window)) | |
49 (set-specifier text-cursor-visible-p t window)) | |
50 | |
45 (remove-specifier text-cursor-visible-p | 51 (remove-specifier text-cursor-visible-p |
46 blink-cursor-last-selected-window) | 52 blink-cursor-last-selected-window) |
47 (setq blink-cursor-last-selected-window window) | 53 (setq blink-cursor-last-selected-window window) |
48 (set-specifier text-cursor-visible-p nil window))))) | 54 (set-specifier text-cursor-visible-p nil window))))) |
55 | |
56 ; Turn on cursor after every command | |
57 (defun blink-cursor-post-command-hook () | |
58 (let ((inhibit-quit t) | |
59 (window (selected-window))) | |
60 (if blink-cursor-lost-focus | |
61 nil | |
62 (set-specifier text-cursor-visible-p t window)))) | |
49 | 63 |
50 (defun blink-cursor-reenable-cursor () | 64 (defun blink-cursor-reenable-cursor () |
51 (if blink-cursor-last-selected-window | 65 (if blink-cursor-last-selected-window |
52 (progn | 66 (progn |
53 (remove-specifier text-cursor-visible-p | 67 (remove-specifier text-cursor-visible-p |
61 (defun blink-cursor-select-frame-hook () | 75 (defun blink-cursor-select-frame-hook () |
62 (setq blink-cursor-lost-focus nil)) | 76 (setq blink-cursor-lost-focus nil)) |
63 | 77 |
64 (add-hook 'deselect-frame-hook 'blink-cursor-deselect-frame-hook) | 78 (add-hook 'deselect-frame-hook 'blink-cursor-deselect-frame-hook) |
65 (add-hook 'select-frame-hook 'blink-cursor-select-frame-hook) | 79 (add-hook 'select-frame-hook 'blink-cursor-select-frame-hook) |
80 (add-hook 'post-command-hook 'blink-cursor-post-command-hook) | |
66 | 81 |
67 (defvar blink-cursor-timeout 1.0) | 82 (defvar blink-cursor-timeout 1.0) |
68 (defvar blink-cursor-timeout-id nil) | 83 (defvar blink-cursor-timeout-id nil) |
69 (defvar blink-cursor-mode nil) | 84 (defvar blink-cursor-mode nil) |
70 | 85 |
94 (blink-cursor-reenable-cursor) | 109 (blink-cursor-reenable-cursor) |
95 (setq blink-cursor-timeout-id nil))) | 110 (setq blink-cursor-timeout-id nil))) |
96 (if blink-cursor-mode | 111 (if blink-cursor-mode |
97 (setq blink-cursor-timeout-id | 112 (setq blink-cursor-timeout-id |
98 (add-timeout (/ (float timeout) 2) 'blink-cursor-callback nil | 113 (add-timeout (/ (float timeout) 2) 'blink-cursor-callback nil |
99 (/ (float timeout) 2))))) | 114 (/ (float timeout) 2)))) |
115 ; initialize last-input-time | |
116 (if (not last-input-time) | |
117 (setq last-input-time (cons 0 0)))) | |
118 | |
119 (provide 'blink-cursor) | |
120 | |
121 ;;; blink-cursor.el ends here |