home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / alt / lucidem / help / 975 < prev    next >
Encoding:
Text File  |  1993-01-28  |  8.6 KB  |  229 lines

  1. Path: sparky!uunet!crdgw1!rpi!usc!howland.reston.ans.net!bogus.sura.net!darwin.sura.net!lhc!lhc!warsaw
  2. From: warsaw@nlm.nih.gov (Barry A. Warsaw)
  3. Newsgroups: alt.lucid-emacs.help
  4. Subject: Re: kind of -geometry wxh+x+y for a new screen
  5. Message-ID: <WARSAW.93Jan27124518@anthem.nlm.nih.gov>
  6. Date: 27 Jan 93 17:45:18 GMT
  7. References: <1993Jan26.185113.169699@eratu.rz.uni-konstanz.de>
  8.     <WARSAW.93Jan26153002@anthem.nlm.nih.gov>
  9. Sender: news@nlm.nih.gov
  10. Reply-To: warsaw@nlm.nih.gov (Barry A. Warsaw)
  11. Organization: Century Computing, Inc.
  12. Lines: 214
  13. In-Reply-To: warsaw@nlm.nih.gov's message of 26 Jan 93 20:30:02 GMT
  14.  
  15.  
  16. Some folks wanted to see how I set up my .Xdefaults files for doing
  17. lemacs screeny things.  Here's some (hopefully) useful excerpts, but
  18. first some background.  I use tvtwm (R5) and my main emacs window
  19. takes up the entire right side of the screen, full length, 80
  20. characters wide. This screen I call RIGHTSCREEN.
  21.  
  22. My other app icons and virtual desktop take up the lower 1/8 (?) of a
  23. screen on the left side, so I like to sometimes pop up screens on the
  24. left spanning from the top to just above these icons. This screen I
  25. call LEFTSCREEN.
  26.  
  27. I also like to pop up 2 useful screens in the middle to do some quick
  28. context switching.  The first screen I call QUICK and the other I call
  29. WIDE (which is 120 characters wide).  I use "C-x 5" as a keymap prefix
  30. and have bindings for operating on screens. I'll include the elisp
  31. before the .Xdefault excerpt. Here are my bindings:
  32.  
  33. C-x 5 l  -- create a new LEFTSCREEN
  34. C-x 5 r  -- create a new RIGHTSCREEN
  35. C-x 5 q  -- create a new QUICK
  36. C-x 5 w  -- create a new WIDE
  37.  
  38. C-x 5 L  -- create a new LEFTSCREEN, with query for file
  39. C-x 5 R  -- create a new RIGHTSCREEN, with query for file
  40. C-x 5 Q  -- create a new QUICK, with query for file
  41. C-x 5 W  -- create a new WIDE, with query for file
  42.  
  43. C-x 5 C-l  -- create a new LEFTSCREEN, with query for existing buffer
  44. C-x 5 C-r  -- create a new RIGHTSCREEN, with query for existing buffer
  45. C-x 5 C-q  -- create a new QUICK, with query for existing buffer
  46. C-x 5 C-w  -- create a new WIDE, with query for existing buffer
  47.  
  48. C-x 5 k -- delete (kill) current screen
  49. C-x 5 1 -- make current screen the only screen
  50. C-x 5 n -- select next screen
  51. C-x 5 p -- select previous screen
  52.  
  53. Some of my color choices may no doubt seem gaudy, I haven't really
  54. settled on the most pleasing (for me, anyway ;-) combinations.  Good
  55. color combinations are hard to come by!  Anybody wanna post theirs?
  56.  
  57.  
  58. ;; screenfood.el -- 27-Jan-1993 bwarsaw@cen.com
  59. ;; macros might be cleaner, but hey! it works...
  60. (defun baw:new-left-screen ()
  61.   (interactive)
  62.   (x-new-screen "LEFTSCREEN"))
  63.  
  64. (defun baw:new-right-screen ()
  65.   (interactive)
  66.   (x-new-screen "RIGHTSCREEN"))
  67.  
  68. (defun baw:new-quick-screen ()
  69.   (interactive)
  70.   (x-new-screen "QUICK"))
  71.  
  72. (defun baw:new-wide-screen ()
  73.   (interactive)
  74.   (x-new-screen "WIDE"))
  75.  
  76. (defun baw:find-file-new-screen (filename screen)
  77.   (let ((buf (find-file-noselect filename))
  78.     (scr (x-new-screen screen)))
  79.     (if scr (select-screen scr))
  80.     (switch-to-buffer buf)))
  81.  
  82. (defun baw:switch-to-buffer-new-screen (buffer screen)
  83.   (let ((scr (x-new-screen screen)))
  84.     (if scr (select-screen scr))
  85.     (switch-to-buffer buffer)))
  86.  
  87. (defun baw:find-file-left-screen (filename)
  88.   (interactive "FFind file in new left screen: ")
  89.   (baw:find-file-new-screen filename "LEFTSCREEN"))
  90.  
  91. (defun baw:find-file-right-screen (filename)
  92.   (interactive "FFind file in new right screen: ")
  93.   (baw:find-file-new-screen filename "RIGHTSCREEN"))
  94.  
  95. (defun baw:find-file-wide-screen (filename)
  96.   (interactive "FFind file in new wide screen: ")
  97.   (baw:find-file-new-screen filename "WIDE"))
  98.  
  99. (defun baw:find-file-quick-screen (filename)
  100.   (interactive "FFind file in new quick screen: ")
  101.   (baw:find-file-new-screen filename "QUICK"))
  102.  
  103. (defun baw:buffer-in-left-screen (buffer)
  104.   (interactive "BSwitch to buffer in new left screen: ")
  105.   (baw:switch-to-buffer-new-screen buffer "LEFTSCREEN"))
  106.  
  107. (defun baw:buffer-in-right-screen (buffer)
  108.   (interactive "BSwitch to buffer in new right screen: ")
  109.   (baw:switch-to-buffer-new-screen buffer "RIGHTSCREEN"))
  110.  
  111. (defun baw:buffer-in-wide-screen (buffer)
  112.   (interactive "BSwitch to buffer in new wide screen: ")
  113.   (baw:switch-to-buffer-new-screen buffer "WIDE"))
  114.  
  115. (defun baw:buffer-in-quick-screen (buffer)
  116.   (interactive "BSwitch to buffer in new quick screen: ")
  117.   (baw:switch-to-buffer-new-screen buffer "QUICK"))
  118.  
  119. (defun baw:next-screen ()
  120.   (interactive)
  121.   (let ((scr (next-screen nil nil t)))
  122.     (select-screen scr)
  123.     (raise-screen scr)))
  124.  
  125. (defun baw:previous-screen ()
  126.   (interactive)
  127.   (let ((scr (previous-screen nil nil t)))
  128.     (select-screen scr)
  129.     (raise-screen scr)))
  130.  
  131. ;; screens keymap
  132. (defvar baw:screen-keymap ()
  133.   "Keymap for screen commands.")
  134. (if baw:screen-keymap ()
  135.   (setq baw:screen-keymap (make-sparse-keymap))
  136.   (define-key baw:screen-keymap "l"           'baw:new-left-screen)
  137.   (define-key baw:screen-keymap "r"           'baw:new-right-screen)
  138.   (define-key baw:screen-keymap "q"           'baw:new-quick-screen)
  139.   (define-key baw:screen-keymap "w"           'baw:new-wide-screen)
  140.   (define-key baw:screen-keymap "L"           'baw:find-file-left-screen)
  141.   (define-key baw:screen-keymap "R"           'baw:find-file-right-screen)
  142.   (define-key baw:screen-keymap "Q"           'baw:find-file-quick-screen)
  143.   (define-key baw:screen-keymap "W"           'baw:find-file-wide-screen)
  144.   (define-key baw:screen-keymap [(control l)] 'baw:buffer-in-left-screen)
  145.   (define-key baw:screen-keymap [(control r)] 'baw:buffer-in-right-screen)
  146.   (define-key baw:screen-keymap [(control q)] 'baw:buffer-in-quick-screen)
  147.   (define-key baw:screen-keymap [(control w)] 'baw:buffer-in-wide-screen)
  148.   (define-key baw:screen-keymap "k"           'delete-screen)
  149.   (define-key baw:screen-keymap "1"           'one-screen)
  150.   (define-key baw:screen-keymap "n"           'baw:next-screen)
  151.   (define-key baw:screen-keymap "p"           'baw:previous-screen)
  152.   )
  153. (global-set-key [(control x) ?5] baw:screen-keymap)
  154.  
  155.  
  156. ! Now for .Xdefault entries
  157. ! Ain't it great that xrdb filters stuff through cpp? :-)
  158. !
  159. ! my standard font for lemacs text
  160. #define TEXT_FONT    lucida.b.12
  161.  
  162. ! for setting b/w and color screen specific resources
  163. ! please use X11R5
  164. #ifdef COLOR
  165. #    define COLORONLY(resource) resource
  166. #    define BWONLY(resource)
  167. #else
  168. #    define COLORONLY(resource)
  169. #    define BWONLY(resource) resource
  170. #endif COLOR
  171.  
  172. #define SMALL    80x24
  173. #define TALL    80x68
  174. #define TALLISH    80x59
  175. #define WIDEG   120x24
  176.  
  177. #define LEFT    +0+0
  178. #define RIGHT    -2+4
  179.  
  180. ! default settings
  181.                                      Emacs*font: TEXT_FONT
  182.                                  Emacs.geometry: TALL/**/RIGHT
  183.                   Emacs*MHHC_FACE.attributeFont: lucidasans-bolditalic-12
  184.  
  185. ! the following seems broken under 19.4
  186.              Emacs*MHHC_FACE.attributeUnderline: false
  187.  
  188. ! default colors
  189.                      COLORONLY(Emacs*foreground: Black)
  190.                      COLORONLY(Emacs*background: LightYellow)
  191.                    COLORONLY(Emacs*pointerColor: Tomato)
  192.                     COLORONLY(Emacs*cursorColor: Tomato)
  193.                COLORONLY(Emacs*modeline.ATTFORE: Yellow)
  194.                COLORONLY(Emacs*modeline.ATTBACK: Black)
  195.                 COLORONLY(Emacs*isearch.ATTBACK: RosyBrown1)
  196.       COLORONLY(Emacs*primary-selection.ATTBACK: Khaki)
  197.               COLORONLY(Emacs*MHHC_FACE.ATTFORE: ForestGreen)
  198.  
  199. ! default for monochrome screens
  200.                    BWONLY(Emacs*isearch.ATTBACK: Black)
  201.                    BWONLY(Emacs*isearch.ATTFORE: White)
  202.              BWONLY(Emacs*isearch.attributeFont: lucidasans-bolditalic-12)
  203.          BWONLY(Emacs*primary-selection.ATTBACK: Black)
  204.          BWONLY(Emacs*primary-selection.ATTFORE: White)
  205.    BWONLY(Emacs*primary-selection.ATTBACKPixmap: nil)
  206.  
  207. ! left/right screen geoms
  208.                       Emacs*LEFTSCREEN.geometry: TALLISH/**/LEFT
  209.                      Emacs*RIGHTSCREEN.geometry: TALL/**/RIGHT
  210.  
  211. ! quick screen
  212.                            Emacs*QUICK.geometry: SMALL/**/+372+49
  213.                COLORONLY(Emacs*QUICK.foreground: Black)
  214.                COLORONLY(Emacs*QUICK.background: PaleGoldenRod)
  215.               COLORONLY(Emacs*QUICK.cursorColor: Tomato)
  216.              COLORONLY(Emacs*QUICK.pointerColor: Tomato)
  217. COLORONLY(Emacs*QUICK.primary-selection.ATTBACK: AliceBlue)
  218.  
  219. ! wide screen
  220.                             Emacs*WIDE.geometry: WIDEG/**/+193+372
  221.           COLORONLY(Emacs*WIDE.modeline.ATTFORE: Blue)
  222.           COLORONLY(Emacs*WIDE.modeline.ATTBACK: White)
  223.                 COLORONLY(Emacs*WIDE.foreground: Black)
  224.                 COLORONLY(Emacs*WIDE.background: Gainsboro)
  225.                COLORONLY(Emacs*WIDE.cursorColor: Tomato)
  226.               COLORONLY(Emacs*WIDE.pointerColor: Tomato)
  227.  COLORONLY(Emacs*WIDE.primary-selection.ATTBACK: NavajoWhite)
  228.            COLORONLY(Emacs*WIDE.isearch.ATTBACK: Azure)
  229.