emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

use faces on the mode-line for compile.el


From: Dan Nicolaescu
Subject: use faces on the mode-line for compile.el
Date: Sat, 23 Feb 2008 15:59:14 -0800

I posted this 2 years ago, but that was during the pretest, so let's
look at this again.

If the mode-line for the compilation buffer would be a bit more
visible it would be easier to see if a compilation is still running
(which is handy if you have compilations that take a long time and
don't want to spend too much time checking if it's done). 
Also if the compilation fails it's nice to be able to see it faster.  
It can be seen with just the peripheral vision, or from farther away
from the screen. 

A simple patch can accomplish the above. It uses
font-lock-warning-face which is designed to be highly visible.

IMO this is a very nice feature to have, and simple to implement... 

Thoughts?


*** compile.el  04 Apr 2006 09:50:37 -0700      1.394
--- compile.el  19 Apr 2006 22:54:58 -0700      
***************
*** 1060,1066 ****
                          (start-process-shell-command (downcase mode-name)
                                                       outbuf command))))
              ;; Make the buffer's mode line show process state.
!             (setq mode-line-process '(":%s"))
              (set-process-sentinel proc 'compilation-sentinel)
              (set-process-filter proc 'compilation-filter)
              (set-marker (process-mark proc) (point) outbuf)
--- 1060,1066 ----
                          (start-process-shell-command (downcase mode-name)
                                                       outbuf command))))
              ;; Make the buffer's mode line show process state.
!             (setq mode-line-process (list (propertize ":%s" 'face 
'font-lock-warning-face)))
              (set-process-sentinel proc 'compilation-sentinel)
              (set-process-filter proc 'compilation-filter)
              (set-marker (process-mark proc) (point) outbuf)
***************
*** 1074,1080 ****
          ;; No asynchronous processes available.
          (message "Executing `%s'..." command)
          ;; Fake modeline display as if `start-process' were run.
!         (setq mode-line-process ":run")
          (force-mode-line-update)
          (sit-for 0)                   ; Force redisplay
          (let* ((buffer-read-only nil) ; call-process needs to modify outbuf
--- 1074,1080 ----
          ;; No asynchronous processes available.
          (message "Executing `%s'..." command)
          ;; Fake modeline display as if `start-process' were run.
!         (setq mode-line-process (propertize ":run" 'face 
'font-lock-warning-face))
          (force-mode-line-update)
          (sit-for 0)                   ; Force redisplay
          (let* ((buffer-read-only nil) ; call-process needs to modify outbuf
***************
*** 1403,1409 ****
      ;; Prevent that message from being recognized as a compilation error.
      (add-text-properties omax (point)
                         (append '(compilation-handle-exit t) nil))
!     (setq mode-line-process (format ":%s [%s]" process-status (cdr status)))
      ;; Force mode line redisplay soon.
      (force-mode-line-update)
      (if (and opoint (< opoint omax))
--- 1403,1415 ----
      ;; Prevent that message from being recognized as a compilation error.
      (add-text-properties omax (point)
                         (append '(compilation-handle-exit t) nil))
!     (setq mode-line-process
!         (concat (format ":%s " process-status)
!                 (format (if (> exit-status 0)
!                             (propertize "[%s]" 'face 'font-lock-warning-face)
!                           "[%s]")
!                         (cdr status))))
!     (message (format "exit status: %s %s" exit-status (> 0 exit-status)))
      ;; Force mode line redisplay soon.
      (force-mode-line-update)
      (if (and opoint (< opoint omax))





reply via email to

[Prev in Thread] Current Thread [Next in Thread]