98 |
|
|
99 |
;;; History: |
;;; History: |
100 |
;; |
;; |
101 |
|
|
102 |
;;; Code: |
;;; Code: |
103 |
(eval-when-compile |
(eval-when-compile |
104 |
(require 'wid-edit)) |
(require 'wid-edit)) |
180 |
(character :tag "Character") |
(character :tag "Character") |
181 |
(integer :tag "Integer char value" |
(integer :tag "Integer char value" |
182 |
:validate ruler-mode-character-validate))) |
:validate ruler-mode-character-validate))) |
183 |
|
|
184 |
(defface ruler-mode-default-face |
(defface ruler-mode-default-face |
185 |
'((((type tty)) |
'((((type tty)) |
186 |
(:inherit default |
(:inherit default |
242 |
))) |
))) |
243 |
"Face used to highlight the `current-column' character." |
"Face used to highlight the `current-column' character." |
244 |
:group 'ruler-mode) |
:group 'ruler-mode) |
245 |
|
|
246 |
(defun ruler-mode-mouse-set-left-margin (start-event) |
(defun ruler-mode-mouse-set-left-margin (start-event) |
247 |
"Set left margin to the graduation where the mouse pointer is on. |
"Set left margin to the graduation where the mouse pointer is on. |
248 |
START-EVENT is the mouse click event." |
START-EVENT is the mouse click event." |
302 |
(progn |
(progn |
303 |
(message "Fill column set to %d (was %d)" fc fill-column) |
(message "Fill column set to %d (was %d)" fc fill-column) |
304 |
(setq fill-column fc))))))) |
(setq fill-column fc))))))) |
305 |
|
|
306 |
(defun ruler-mode-mouse-add-tab-stop (start-event) |
(defun ruler-mode-mouse-add-tab-stop (start-event) |
307 |
"Add a tab stop to the graduation where the mouse pointer is on. |
"Add a tab stop to the graduation where the mouse pointer is on. |
308 |
START-EVENT is the mouse click event." |
START-EVENT is the mouse click event." |
357 |
(defun ruler-mode-toggle-show-tab-stops () |
(defun ruler-mode-toggle-show-tab-stops () |
358 |
"Toggle showing of tab stops on the ruler." |
"Toggle showing of tab stops on the ruler." |
359 |
(interactive) |
(interactive) |
360 |
(when ruler-mode |
(setq ruler-mode-show-tab-stops (not ruler-mode-show-tab-stops)) |
361 |
(setq ruler-mode-show-tab-stops (not ruler-mode-show-tab-stops)) |
(force-mode-line-update)) |
362 |
(force-mode-line-update))) |
|
|
|
|
363 |
(defvar ruler-mode-map |
(defvar ruler-mode-map |
364 |
(let ((km (make-sparse-keymap))) |
(let ((km (make-sparse-keymap))) |
365 |
(define-key km [header-line down-mouse-1] |
(define-key km [header-line down-mouse-1] |
409 |
(setq header-line-format ruler-mode-header-line-format-old)) |
(setq header-line-format ruler-mode-header-line-format-old)) |
410 |
(remove-hook 'post-command-hook ; remove local hook |
(remove-hook 'post-command-hook ; remove local hook |
411 |
#'force-mode-line-update t))) |
#'force-mode-line-update t))) |
412 |
|
|
413 |
;; Add ruler-mode to the the minor mode menu in the mode line |
;; Add ruler-mode to the the minor mode menu in the mode line |
414 |
(define-key mode-line-mode-menu [ruler-mode] |
(define-key mode-line-mode-menu [ruler-mode] |
415 |
`(menu-item "Ruler" ruler-mode |
`(menu-item "Ruler" ruler-mode |
489 |
f (list (cons 'vertical-scroll-bars vsb) |
f (list (cons 'vertical-scroll-bars vsb) |
490 |
(cons 'ruler-mode-left-fringe-cols lfc))))) |
(cons 'ruler-mode-left-fringe-cols lfc))))) |
491 |
(car lfc))) |
(car lfc))) |
492 |
|
|
493 |
(defun ruler-mode-ruler () |
(defun ruler-mode-ruler () |
494 |
"Return a string ruler." |
"Return a string ruler." |
495 |
(if ruler-mode |
(if ruler-mode |