unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* use faces on the mode-line for compile.el
@ 2008-02-23 23:59 Dan Nicolaescu
  2008-02-24 13:42 ` Stefan Monnier
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Dan Nicolaescu @ 2008-02-23 23:59 UTC (permalink / raw)
  To: emacs-devel

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))





^ permalink raw reply	[flat|nested] 11+ messages in thread
* use faces on the mode-line for compile.el
@ 2006-04-20  6:20 Dan Nicolaescu
  2006-04-20  7:34 ` Nick Roberts
  0 siblings, 1 reply; 11+ messages in thread
From: Dan Nicolaescu @ 2006-04-20  6:20 UTC (permalink / raw)


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. 

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))

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2008-02-26  2:00 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-02-23 23:59 use faces on the mode-line for compile.el Dan Nicolaescu
2008-02-24 13:42 ` Stefan Monnier
2008-02-24 20:48   ` Dan Nicolaescu
2008-02-24 17:40 ` Juri Linkov
2008-02-24 20:53   ` Dan Nicolaescu
2008-02-24 23:23     ` Juri Linkov
2008-02-26  2:00 ` Xavier Maillard
  -- strict thread matches above, loose matches on Subject: below --
2006-04-20  6:20 Dan Nicolaescu
2006-04-20  7:34 ` Nick Roberts
2006-04-20 18:27   ` Dan Nicolaescu
2006-04-21 13:07     ` Richard Stallman

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).