| 291 | | (dashes (propertize "--" 'help-echo help-echo))) |
|---|
| 292 | | (setq-default mode-line-format |
|---|
| 293 | | (list |
|---|
| 294 | | "%e" |
|---|
| 295 | | (propertize "-" 'help-echo help-echo) |
|---|
| 296 | | 'mode-line-mule-info |
|---|
| 297 | | 'mode-line-modified |
|---|
| 298 | | 'mode-line-frame-identification |
|---|
| 299 | | 'mode-line-buffer-identification |
|---|
| 300 | | (propertize " " 'help-echo help-echo) |
|---|
| 301 | | 'mode-line-position |
|---|
| 302 | | `(vc-mode ("" vc-mode ,(propertize " " 'help-echo help-echo))) |
|---|
| 303 | | 'mode-line-modes |
|---|
| 304 | | `(which-func-mode ("" which-func-format ,dashes)) |
|---|
| 305 | | `(global-mode-string (,dashes global-mode-string)) |
|---|
| 306 | | (propertize "-%-" 'help-echo help-echo))) |
|---|
| 307 | | |
|---|
| 308 | | (setq-default mode-line-modes |
|---|
| 309 | | (list |
|---|
| 310 | | (propertize "%[(" 'help-echo help-echo) |
|---|
| 311 | | `(:propertize ("" mode-name) |
|---|
| 312 | | help-echo "mouse-1: major mode, mouse-2: major mode help, mouse-3: toggle minor modes" |
|---|
| 313 | | mouse-face mode-line-highlight |
|---|
| 314 | | local-map ,mode-line-major-mode-keymap) |
|---|
| 315 | | '("" mode-line-process) |
|---|
| 316 | | `(:propertize ("" minor-mode-alist) |
|---|
| 317 | | mouse-face mode-line-highlight |
|---|
| 318 | | help-echo "mouse-2: minor mode help, mouse-3: toggle minor modes" |
|---|
| 319 | | local-map ,mode-line-minor-mode-keymap) |
|---|
| 320 | | (propertize "%n" 'help-echo "mouse-2: widen" |
|---|
| 321 | | 'mouse-face 'mode-line-highlight |
|---|
| 322 | | 'local-map (make-mode-line-mouse-map |
|---|
| 323 | | 'mouse-2 #'mode-line-widen)) |
|---|
| 324 | | (propertize ")%]--" 'help-echo help-echo))) |
|---|
| 325 | | |
|---|
| 326 | | (setq-default mode-line-position |
|---|
| 327 | | `((-3 ,(propertize "%p" 'help-echo help-echo)) |
|---|
| 328 | | (size-indication-mode |
|---|
| 329 | | (8 ,(propertize " of %I" 'help-echo help-echo))) |
|---|
| 330 | | (line-number-mode |
|---|
| 331 | | ((column-number-mode |
|---|
| 332 | | (10 ,(propertize " (%l,%c)" 'help-echo help-echo)) |
|---|
| 333 | | (6 ,(propertize " L%l" 'help-echo help-echo)))) |
|---|
| 334 | | ((column-number-mode |
|---|
| 335 | | (5 ,(propertize " C%c" 'help-echo help-echo)))))))) |
|---|
| | 283 | (dashes (propertize "--" 'help-echo help-echo)) |
|---|
| | 284 | (standard-mode-line-format |
|---|
| | 285 | (list |
|---|
| | 286 | "%e" |
|---|
| | 287 | (propertize "-" 'help-echo help-echo) |
|---|
| | 288 | 'mode-line-mule-info |
|---|
| | 289 | 'mode-line-modified |
|---|
| | 290 | 'mode-line-frame-identification |
|---|
| | 291 | 'mode-line-buffer-identification |
|---|
| | 292 | (propertize " " 'help-echo help-echo) |
|---|
| | 293 | 'mode-line-position |
|---|
| | 294 | '(vc-mode vc-mode) |
|---|
| | 295 | (propertize " " 'help-echo help-echo) |
|---|
| | 296 | 'mode-line-modes |
|---|
| | 297 | `(which-func-mode ("" which-func-format ,dashes)) |
|---|
| | 298 | `(global-mode-string (,dashes global-mode-string)) |
|---|
| | 299 | (propertize "-%-" 'help-echo help-echo))) |
|---|
| | 300 | (standard-mode-line-modes |
|---|
| | 301 | (list |
|---|
| | 302 | (propertize "%[(" 'help-echo help-echo) |
|---|
| | 303 | `(:propertize ("" mode-name) |
|---|
| | 304 | help-echo "mouse-1: major mode, mouse-2: major mode help, mouse-3: toggle minor modes" |
|---|
| | 305 | mouse-face mode-line-highlight |
|---|
| | 306 | local-map ,mode-line-major-mode-keymap) |
|---|
| | 307 | '("" mode-line-process) |
|---|
| | 308 | `(:propertize ("" minor-mode-alist) |
|---|
| | 309 | mouse-face mode-line-highlight |
|---|
| | 310 | help-echo "mouse-2: minor mode help, mouse-3: toggle minor modes" |
|---|
| | 311 | local-map ,mode-line-minor-mode-keymap) |
|---|
| | 312 | (propertize "%n" 'help-echo "mouse-2: widen" |
|---|
| | 313 | 'mouse-face 'mode-line-highlight |
|---|
| | 314 | 'local-map (make-mode-line-mouse-map |
|---|
| | 315 | 'mouse-2 #'mode-line-widen)) |
|---|
| | 316 | (propertize ")%]--" 'help-echo help-echo))) |
|---|
| | 317 | (standard-mode-line-position |
|---|
| | 318 | `((-3 ,(propertize "%p" 'help-echo help-echo)) |
|---|
| | 319 | (size-indication-mode |
|---|
| | 320 | (8 ,(propertize " of %I" 'help-echo help-echo))) |
|---|
| | 321 | (line-number-mode |
|---|
| | 322 | ((column-number-mode |
|---|
| | 323 | (10 ,(propertize " (%l,%c)" 'help-echo help-echo)) |
|---|
| | 324 | (6 ,(propertize " L%l" 'help-echo help-echo)))) |
|---|
| | 325 | ((column-number-mode |
|---|
| | 326 | (5 ,(propertize " C%c" 'help-echo help-echo)))))))) |
|---|
| | 327 | |
|---|
| | 328 | (setq-default mode-line-format standard-mode-line-format) |
|---|
| | 329 | (put 'mode-line-format 'standard-value |
|---|
| | 330 | (list `(quote ,standard-mode-line-format))) |
|---|
| | 331 | |
|---|
| | 332 | (setq-default mode-line-modes standard-mode-line-modes) |
|---|
| | 333 | (put 'mode-line-modes 'standard-value |
|---|
| | 334 | (list `(quote ,standard-mode-line-modes))) |
|---|
| | 335 | |
|---|
| | 336 | (setq-default mode-line-position standard-mode-line-position) |
|---|
| | 337 | (put 'mode-line-position 'standard-value |
|---|
| | 338 | (list `(quote ,standard-mode-line-position)))) |
|---|
| | 342 | |
|---|
| | 343 | ;; Add menu of buffer operations to the buffer identification part |
|---|
| | 344 | ;; of the mode line.or header line. |
|---|
| | 345 | ; |
|---|
| | 346 | (let ((map (make-sparse-keymap))) |
|---|
| | 347 | ;; Bind down- events so that the global keymap won't ``shine |
|---|
| | 348 | ;; through''. |
|---|
| | 349 | (define-key map [mode-line mouse-1] 'mode-line-previous-buffer) |
|---|
| | 350 | (define-key map [header-line down-mouse-1] 'ignore) |
|---|
| | 351 | (define-key map [header-line mouse-1] 'mode-line-previous-buffer) |
|---|
| | 352 | (define-key map [header-line down-mouse-3] 'ignore) |
|---|
| | 353 | (define-key map [mode-line mouse-3] 'mode-line-next-buffer) |
|---|
| | 354 | (define-key map [header-line down-mouse-3] 'ignore) |
|---|
| | 355 | (define-key map [header-line mouse-3] 'mode-line-next-buffer) |
|---|
| | 356 | (setq mode-line-buffer-identification-keymap map)) |
|---|
| | 357 | |
|---|
| | 358 | (defun propertized-buffer-identification (fmt) |
|---|
| | 359 | "Return a list suitable for `mode-line-buffer-identification'. |
|---|
| | 360 | FMT is a format specifier such as \"%12b\". This function adds |
|---|
| | 361 | text properties for face, help-echo, and local-map to it." |
|---|
| | 362 | (list (propertize fmt |
|---|
| | 363 | 'face 'mode-line-buffer-id |
|---|
| | 364 | 'help-echo |
|---|
| | 365 | (purecopy "mouse-1: previous buffer, mouse-3: next buffer") |
|---|
| | 366 | 'mouse-face 'mode-line-highlight |
|---|
| | 367 | 'local-map mode-line-buffer-identification-keymap))) |
|---|
| | 368 | |
|---|
| | 369 | (defvar mode-line-buffer-identification (propertized-buffer-identification "%12b") "\ |
|---|
| | 370 | Mode-line control for identifying the buffer being displayed. |
|---|
| | 371 | Its default value is (\"%12b\") with some text properties added. |
|---|
| | 372 | Major modes that edit things other than ordinary files may change this |
|---|
| | 373 | \(e.g. Info, Dired,...)") |
|---|
| | 374 | |
|---|
| | 375 | (make-variable-buffer-local 'mode-line-buffer-identification) |
|---|
| 444 | | |
|---|
| 445 | | ;; Add menu of buffer operations to the buffer identification part |
|---|
| 446 | | ;; of the mode line.or header line. |
|---|
| 447 | | ; |
|---|
| 448 | | (let ((map (make-sparse-keymap))) |
|---|
| 449 | | ;; Bind down- events so that the global keymap won't ``shine |
|---|
| 450 | | ;; through''. |
|---|
| 451 | | (define-key map [mode-line mouse-1] 'mode-line-previous-buffer) |
|---|
| 452 | | (define-key map [header-line down-mouse-1] 'ignore) |
|---|
| 453 | | (define-key map [header-line mouse-1] 'mode-line-previous-buffer) |
|---|
| 454 | | (define-key map [header-line down-mouse-3] 'ignore) |
|---|
| 455 | | (define-key map [mode-line mouse-3] 'mode-line-next-buffer) |
|---|
| 456 | | (define-key map [header-line down-mouse-3] 'ignore) |
|---|
| 457 | | (define-key map [header-line mouse-3] 'mode-line-next-buffer) |
|---|
| 458 | | (setq mode-line-buffer-identification-keymap map)) |
|---|
| 459 | | |
|---|
| 460 | | (defun propertized-buffer-identification (fmt) |
|---|
| 461 | | "Return a list suitable for `mode-line-buffer-identification'. |
|---|
| 462 | | FMT is a format specifier such as \"%12b\". This function adds |
|---|
| 463 | | text properties for face, help-echo, and local-map to it." |
|---|
| 464 | | (list (propertize fmt |
|---|
| 465 | | 'face 'mode-line-buffer-id |
|---|
| 466 | | 'help-echo |
|---|
| 467 | | (purecopy "mouse-1: previous buffer, mouse-3: next buffer") |
|---|
| 468 | | 'mouse-face 'mode-line-highlight |
|---|
| 469 | | 'local-map mode-line-buffer-identification-keymap))) |
|---|
| 470 | | |
|---|
| 471 | | (setq-default mode-line-buffer-identification |
|---|
| 472 | | (propertized-buffer-identification "%12b")) |
|---|