jim.twmrc revision 3e747e6d
1#**********************************************************************
2#
3#    .twmrc
4#
5#**********************************************************************
6
7#IconDirectory "/users/jim/icons"	# use *bitmapFilePath instead.
8
9#
10# Use the SHAPE extension to make titles use as little space as possible.  The
11# location of the titles is specified as a fraction of the distance from the
12# left (numerator positive) or right edge (numerator negative).  A denominator
13# of 0 indicates that the numerator is measured in pixels.  The title is then
14# justified over the indicated spot (note special cases are made for center on
15# 0/0 and right on 0/0 to indicate the center and right edge of the titlebar).
16#
17SqueezeTitle			# also sets default to Squeeze all Titles
18{
19#   name	justify	num denom
20    "oclock"	center	  0  0		# centered over middle of title
21    "XTerm"	left	  0  0		# left edge of title
22    "xlogo"	right	  0  0		# for kicks
23    "emacs"	right	  0  0		# left side emacs with center tab
24    "xmh"	center	  0  0
25}
26DontSqueezeTitle
27{
28    "XLogout"			# make it stand out when mapped
29}
30NoDefaults			# turn off iconify and resize button
31LeftTitleButton "menu12" = f.menu "windowmenu"	# add a menu to each window
32TitleButtonBorderWidth 0	# don't want to see box around button
33ButtonIndent 0			# button doesn't have to be smaller
34
35UsePPosition "on"		# use program-specified size hints accepted
36NoHighlight			# do not flash borders on enter events
37OpaqueMove			# actually move window instead of outline
38AutoRelativeResize		# don't require resize to cross border to start
39RestartPreviousState		# reiconify iconified things on startup
40ClientBorderWidth		# use the application border width on frame
41BorderWidth 2			# width of top level windows created by twm
42NoGrabServer			# don't grab server during menus, etc.
43NoRaiseOnMove			# allow moving under other windows
44NoRaiseOnResize			# allow resizing under other windows
45NoTitleFocus			# avoid keystrokes in wrong window cause of lag
46DecorateTransients		# put titlebars on transients
47TitleFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*"
48MenuFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*"
49IconFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*-*-*-*"
50IconManagerFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*"
51ResizeFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*"
52NoSaveUnders			# faster to just repaint then save
53XORvalue 1			# tend to use visually distinct adjacent colors
54ConstrainedMoveTime 0		# turn off horizontal/vertical only moving
55NoCaseSensitive			# turn off case-sensitivity in sorting icons
56WarpUnmapped			# allow warping to unmapped windows
57
58###############################################################################
59#                                                                             #
60#                           Declare some nice colors                          #
61#                                                                             #
62###############################################################################
63
64Pixmaps
65{
66#    TitleHighlight "solid4x4"		# make it stand out
67}
68
69Color
70{
71    DefaultBackground "maroon"
72    DefaultForeground "gray85"
73    BorderColor "gray70"
74    TitleBackground "maroon"
75    TitleForeground "gray85"
76    MenuBackground "maroon"
77    MenuForeground "gray85"
78    MenuTitleBackground "gray70"
79    MenuTitleForeground "maroon"
80    IconBackground "maroon"
81    IconForeground "gray85"
82    IconBorderColor "gray85"
83    IconManagerBackground "maroon"
84    IconManagerForeground "gray85"
85}
86
87Monochrome
88{
89    IconManagerHighlight  "white"
90    BorderColor "black"
91}
92
93
94###############################################################################
95#                                                                             #
96#                             Define key bindings                             #
97#                                                                             #
98###############################################################################
99
100MoveDelta 3			# need to move this much before takes effect
101Function "move-or-raise"	# simulate uwm action
102{
103    f.move
104    f.deltastop
105    f.raise
106}
107
108DefaultFunction f.nop		# ignore extraneous events
109
110Button1 =	: root				: f.menu "twmops"
111Button2 =	: root				: f.menu "windowops"
112Button3 =	: root				: f.menu "TwmWindows"
113Button1 =	: title				: f.function "move-or-raise"
114Button1 =	: icon				: f.iconify
115Button1 =	: iconmgr			: f.iconify
116Button1	= m	: window|icon|frame|title	: f.lower
117Button2	= m	: window			: f.resize
118Button3	= m	: window|icon|frame|title	: f.function "move-or-raise"
119Button1 = c|m|s	: all				: f.menu "twmops"
120#Button1	= c|m|s	: root				: f.refresh
121#"F20"	=	: all				: f.warptoscreen "next"
122
123"F21"		=	: all			: f.warpring "next"
124"F22"		=	: all			: f.warptoiconmgr ""
125"F23"		=	: all			: f.raiselower
126"Num_Lock"	=	: all			: f.iconify
127"F24"		=	: all			: f.warpto "xmh"
128"F25"		=	: all			: f.warpto "[expo]"
129"F26"		=	: all			: f.warpto "emacs"
130"KP_Subtract"	= mod5	: all			: f.colormap "prev"
131"KP_Add"	= mod5	: all			: f.colormap "next"
132"KP_Enter"	= mod5	: all			: f.colormap "default"
133"Left"		= m	: all			: f.backiconmgr
134"Right"		= m	: all			: f.forwiconmgr
135"Up"		= m	: all			: f.upiconmgr
136"Down"		= m	: all			: f.downiconmgr
137"Left"		= mod5	: all			: f.warpring "prev"
138"Right"		= mod5	: all			: f.warpring "next"
139
140###############################################################################
141#                                                                             #
142#     Display an icon manager across the top of the screen.  Don't manage     #
143#                the windows for which you don't show a title.                #
144#                                                                             #
145###############################################################################
146
147SortIconManager			# keep them in alphabetic order
148ShowIconManager			# start with iconmgr up
149IconManagerGeometry "700x50+246+2" 14	# strip across top
150IconRegion "200x300+950+2" North East 50 50
151IconifyByUnmapping		# just use icon manager
152IconManagerDontShow		# but ignore these windows
153{
154  "xclock"
155  "xbiff"
156  "xload"
157  "oclock"
158  "xcutsel"
159  "XLogout"
160}
161DontIconifyByUnmapping		# don't lose them (still in TwmWindows menu)
162{
163  "xclock"
164  "xbiff"
165  "xload"
166  "oclock"
167  "xcutsel"
168  "Untitled"
169}
170NoTitle				# little programs that look like icons
171{
172  "xclock"
173  "xbiff"
174  "xload"
175  "TWM Icon Manager"
176  "xcutsel"
177}
178
179NoStackMode			# prevent hostile clients from hosing display
180{
181    "saber"
182}
183
184WindowRing			# f.warpring acts along these windows
185{
186    "XTerm"
187    "emacs"
188    "Xmh"
189}
190
191
192###############################################################################
193#                                                                             #
194#                          Define some useful menus.                          #
195#                                                                             #
196###############################################################################
197
198menu "twmops"
199{
200"System"		f.title
201"Restart Twm"		f.restart
202"Exit Twm"		f.quit
203""			f.nop
204"xterm"			!"xterm &"
205"xterm -e /bin/sh"	!"xterm -e /bin/sh &"
206"xhost +"		!"xhost + >/dev/null"
207"xhost -"		!"xhost - >/dev/null"
208""			f.nop
209"Kill"			f.menu "kill"
210""			f.nop
211"Logout"		f.warpto "xlogout"
212}
213
214menu "windowops"
215{
216"Windows"		f.title
217"Kill"			f.menu "kill"
218"Save"			f.saveyourself
219"Refresh"		f.refresh
220""			f.nop
221"Iconify"		f.iconify
222"Resize"		f.resize
223"Move"			f.move
224"Raise"			f.raise
225"Lower"			f.lower
226"Info"			f.identify
227"Focus"			f.focus
228"Unfocus"		f.unfocus
229""			f.nop
230"Show Iconmgr"		f.showiconmgr
231"Hide Iconmgr"		f.hideiconmgr
232"Prev Iconmgr"		f.previconmgr
233"Next Iconmgr"		f.nexticonmgr
234}
235
236menu "windowmenu"
237{
238"Iconify"		f.iconify
239"RaiseLower"		f.raiselower
240"Refresh"		f.winrefresh
241"Focus"			f.focus
242""			f.nop
243"Kill"			f.menu "kill"
244}
245
246menu "kill"
247{
248    "Send Delete"	f.delete
249    "Kill Window"	f.destroy
250}
251