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