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

Re: Consoles and displays



    Date: Thu, 11 May 89 11:14 CDT
    From: ai.gooch@MCC.COM (William D. Gooch)

	Our consoles seem to be the weakest links in our systems.  A majority of
	our service calls are console-related.  Is this true for anyone else?
 
    I have a strategy which works pretty well for me. [...]

Do the same thing here. Plus I tweek the tube myself shrinking the image to
get more usable pixles on the display, then fiddling with what the machine
thinks the screensize is, using smaller default fonts, etc. Maximize
bandwith to the eyes!! Here are some examples: (anyone who wants a complete
copy as an example of how to fiddle fonts, screen-sizes, and other such
things, send email)

(ADD-INITIALIZATION "Bigger screen on 20s"
		    '(COND
		       ((EQ (SI:MACHINE-MODEL) :|3620|)
			(SETQ TV::*SCREEN-LEFT-OFFSET* -20)
			(SETQ TV::*SCREEN-TOP-OFFSET* -23)
			(SETQ TV::*SCREEN-RIGHT-OFFSET* 10)
			;(TV:INITIALIZE-ONE-SCREEN TV:MAIN-SCREEN TV:*SLB-MAIN-CONSOLE* T)
			))
		    '(:SYSTEM))

;; make sure the above initialization appears b4 the winodw creation.

;; SURGERY!
(LHACKS:REORDER-INITIALIZATION-LIST :SYSTEM "Bigger screen on 20s" "Window Initialize")

(defmethod (make-instance dw:margin-scroll-bar) (&rest init-options)
  (unless (member :elevator-thickness init-options)
    (setf dw::elevator-thickness 4)))

(compile-flavor-methods dw:margin-scroll-bar)

  (SI:DEFINE-CHARACTER-STYLE-FAMILIES SI:*B&W-SCREEN* SI:*STANDARD-CHARACTER-SET*
    '(:FAMILY :FIX (:SIZE :TINY (:FACE :CONDENSED FONTS:TINY
				       :EXTRA-CONDENSED FONTS:TINY)
			  :VERY-SMALL (:FACE :CONDENSED FONTS:TINY
					     :EXTRA-CONDENSED FONTS:TINY))))
  (SETF TV:*DEFAULT-FONT* (SI:GET-FONT SI:*B&W-SCREEN* SI:*STANDARD-CHARACTER-SET* MY-TEXT-FONT)
	TV:*DEFAULT-STYLE* MY-TEXT-STYLE)
  (SEND TV:MAIN-SCREEN :SET-DEFAULT-CHARACTER-STYLE TV:*DEFAULT-STYLE*)
  (SEND TV:MAIN-SCREEN :SET-DEFAULT-STYLE TV:*DEFAULT-STYLE*)
  (SETF cp::*scroll-one-screenful-number-of-lines-left* 2
	tv:*wholine-documentation-border-p* nil

        dw::*listener-margin-components* '((dw:margin-ragged-borders)
					   (dw:margin-scroll-bar :elevator-thickness 4
								 :history-noun "history"
								 :visibility :if-needed)
					   (dw:margin-label :style (:sans-serif :italic :SMALL)
							    :margin :bottom)
					   (dw:margin-scroll-bar :margin :bottom
								 :elevator-thickness 4
								 :history-noun "history"
								 :visibility :if-needed)
					   (dw:margin-white-borders)))

  (SEND TV:WHO-LINE-SCREEN :SET-DEFAULT-CHARACTER-STYLE MY-WHOLINE-STYLE)
  (SEND TV:WHO-LINE-SCREEN :SET-VSP 1)
  ;; expand the main screen
;     (SEND TV:MAIN-SCREEN :CHANGE-OF-SIZE-OR-MARGINS :LEFT-MARGIN-SIZE 45 :TOP-MARGIN-SIZE 20)
;     (SEND TV:WHO-LINE-SCREEN :CHANGE-OF-SIZE-OR-MARGINS :BOTTOM-MARGIN-SIZE 0)
    (SEND TV:MAIN-SCREEN :REFRESH)
    (TV:WHO-LINE-SETUP TV:WHO-LINE-SCREEN T)
  (MAPC #'(LAMBDA (X)
	    (UNLESS (EQL (SEND X :HEIGHT) 3)	  ;leave the display line alone.
	      (send x :set-default-character-style MY-WHOLINE-STYLE)
	      (SEND X :EXPOSE)))
	(TV:SHEET-INFERIORS TV:WHO-LINE-SCREEN))
  (SEND TV:WHO-LINE-SCREEN :REFRESH)

;;;
(DEFUN REORDER-INITIALIZATION-LIST (LIST-KEYWORD FORM-TO-MOVE REFERENCE)
  "Destructively move the Form-To-Move (the initialization name) to be before Reference in the initialization list named.
Reference may also be :first or :last to move to that position as well."
  (LET ((INIT-LIST (CADR (ASSOC (FIND-SYMBOL (STRING LIST-KEYWORD) 'SI)  SI:INITIALIZATION-KEYWORDS))))
    (IF INIT-LIST
	(let ((added-item (find FORM-TO-MOVE (EVAL INIT-LIST) :test #'string-equal :key #'car)))
	  (IF ADDED-ITEM
	      (CASE REFERENCE
		(:FIRST
		  (SET INIT-LIST (delete ADDED-ITEM (EVAL INIT-LIST)))
		  (SET INIT-LIST (CONS added-item (EVAL INIT-LIST))))
		(:LAST
		  (SET INIT-LIST (DELETE ADDED-ITEM (EVAL INIT-LIST)))
		  (SET INIT-LIST (NCONC (EVAL INIT-LIST) ADDED-ITEM)))
		(T
		  (LET ((REFERENCE-ITEM (FIND REFERENCE (EVAL INIT-LIST) :TEST #'STRING-EQUAL :KEY #'CAR)))
		    (COND
		      (REFERENCE-ITEM
		       ;; bash the list to hack in the new thing.
		       (SET INIT-LIST (DELETE ADDED-ITEM (EVAL INIT-LIST)))
		       (COND
			 ((EQ REFERENCE-ITEM (FIRST (EVAL INIT-LIST)))
			  (SET INIT-LIST (CONS ADDED-ITEM (EVAL INIT-LIST))))
			 (T
			  (MAPLIST #'(LAMBDA (STRUCT)
				       (COND
					 ((EQ REFERENCE-ITEM (SECOND STRUCT))
					  ;; found it.	
					  (SETF (CDR STRUCT) (PUSH ADDED-ITEM (CDR STRUCT)))
					  (RETURN-FROM REORDER-INITIALIZATION-LIST (EVAL INIT-LIST)))))
				   (EVAL INIT-LIST))
			  :NOT-FOUND-REFERENCE)))
		      (T
		       :NO-SUCH-REFERENCE)))))
	      :NO-SUCH-ITEM))
	:NO-SUCH-INIT-LIST)))

(EXPORT 'REORDER-INITIALIZATION-LIST)