Mercurial > hg > xemacs-beta
comparison lisp/packages/blink-cursor.el @ 70:131b0175ea99 r20-0b30
Import from CVS: tag r20-0b30
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:02:59 +0200 |
parents | 8fc7fe29b841 |
children | 0d2f883870bc |
comparison
equal
deleted
inserted
replaced
69:804d1389bcd6 | 70:131b0175ea99 |
---|---|
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 | 41 (set-specifier text-cursor-visible-p |
42 (if (specifier-instance text-cursor-visible-p window) | 42 (not (specifier-instance text-cursor-visible-p |
43 (if (let ((current-time (current-time))) | 43 window)) |
44 (or (> (car current-time) (car last-input-time)) | 44 window) |
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 | |
51 (remove-specifier text-cursor-visible-p | 45 (remove-specifier text-cursor-visible-p |
52 blink-cursor-last-selected-window) | 46 blink-cursor-last-selected-window) |
53 (setq blink-cursor-last-selected-window window) | 47 (setq blink-cursor-last-selected-window window) |
54 (set-specifier text-cursor-visible-p nil window))))) | 48 (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)))) | |
63 | 49 |
64 (defun blink-cursor-reenable-cursor () | 50 (defun blink-cursor-reenable-cursor () |
65 (if blink-cursor-last-selected-window | 51 (if blink-cursor-last-selected-window |
66 (progn | 52 (progn |
67 (remove-specifier text-cursor-visible-p | 53 (remove-specifier text-cursor-visible-p |
75 (defun blink-cursor-select-frame-hook () | 61 (defun blink-cursor-select-frame-hook () |
76 (setq blink-cursor-lost-focus nil)) | 62 (setq blink-cursor-lost-focus nil)) |
77 | 63 |
78 (add-hook 'deselect-frame-hook 'blink-cursor-deselect-frame-hook) | 64 (add-hook 'deselect-frame-hook 'blink-cursor-deselect-frame-hook) |
79 (add-hook 'select-frame-hook 'blink-cursor-select-frame-hook) | 65 (add-hook 'select-frame-hook 'blink-cursor-select-frame-hook) |
80 (add-hook 'post-command-hook 'blink-cursor-post-command-hook) | |
81 | 66 |
82 (defvar blink-cursor-timeout 1.0) | 67 (defvar blink-cursor-timeout 1.0) |
83 (defvar blink-cursor-timeout-id nil) | 68 (defvar blink-cursor-timeout-id nil) |
84 (defvar blink-cursor-mode nil) | 69 (defvar blink-cursor-mode nil) |
85 | 70 |
109 (blink-cursor-reenable-cursor) | 94 (blink-cursor-reenable-cursor) |
110 (setq blink-cursor-timeout-id nil))) | 95 (setq blink-cursor-timeout-id nil))) |
111 (if blink-cursor-mode | 96 (if blink-cursor-mode |
112 (setq blink-cursor-timeout-id | 97 (setq blink-cursor-timeout-id |
113 (add-timeout (/ (float timeout) 2) 'blink-cursor-callback nil | 98 (add-timeout (/ (float timeout) 2) 'blink-cursor-callback nil |
114 (/ (float timeout) 2)))) | 99 (/ (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 |