gancarz@decvax.UUCP (02/04/87)
Following is the .uwmrc file I use with the 'uwm' window manager under X. I'm posting it because it's kind of a "kitchen sink" startup file that shows lots of things you can do. It also incorporates several useful tricks I've picked up from others. Notes: 1. Hostnames have been changed in the interest of security (Huh? X is a secure system, isn't it? :-) 2. The "browse" command is a simple shell script that runs a command and waits for a <CR> on stdin. 3. "sudo", the Grand Canyon of security holes, runs any command SETUID root. 4. Various other scripts are called from menus. Try and guess what they do. 5. I don't care if you don't like my color choices. I like 'em. 6. If some of the bindings seem kind of strange, think about them a while. Some of their uses are not obvious. Of course, Digital Equipment Corporation will not be liable for real or imagined damages which may occur as a consequence of using this thing. As for support... --Mike =============================== <CUT HERE> ================================= # # UWM Startup File # Author: Mike Gancarz # # GLOBAL VARIABLES # resetvariables;resetbindings;resetmenus #reverse autoselect delta=25 freeze grid normali nonormalw hiconpad=5 hmenupad=6 iconfont=oldengssx menufont=timrom12b push=1 pushabsolute resizefont=helv12b viconpad=5 vmenupad=3 volume=4 #zap maxcolors=0 # # BUTTON-KEY BINDINGS # # FUNCTION KEYS CONTEXT MOUSE BUTTON ACTIONS f.newiconify= meta :window|icon: left delta f.lower= meta :window|icon: left up f.iconify= meta :window: middle delta f.iconify= meta :icon: middle down f.iconify= meta :window|icon: middle up f.moveopaque= meta :window|icon: right down f.raise= meta :window|icon: right up f.circledown= meta :root : left down f.circleup= meta :root : right down f.newiconify= lock :window|icon: left delta f.lower= lock :window|icon: left up f.iconify= lock :window|icon: middle down f.move= lock :window|icon: right down f.circleup= lock :root : left down f.beep = lock :root : middle down f.circledown= lock :root : right down f.menu = m|s : : left down :"WINDOW OPS" f.menu = m|s : : left down :" MISCELLANEOUS " f.menu = m|s : : left down :" XTERMS" f.pushleft = m|s :window|icon: middle down f.pushright = m|s :window|icon: right down f.pushup = m|c :window|icon: middle down f.pushdown = m|c :window|icon: right down # # Unused bindings # #f.restart = c|s :root : left down #f.beep = c|s :root : left down # # MENU SPECIFICATIONS # #menu = "WINDOW OPS" (White:Black:Black:"#ef0fef") { menu = "WINDOW OPS" (White:Black:Black:White) { "(De)Iconify":(White:"#2f0f2f"): f.iconify Move:(White:"#4f0f4f"): f.move Resize:(White:"#6f0f6f"): f.resize Lower:(White:"#8f0f8f"): f.lower Raise:(White:"#af0faf"): f.raise Solid Move:(White:"#cf0fcf"): f.moveopaque "Others -->":(White:"#cf0fcf"): f.menu:"EXTENDED WINDOW OPS" } menu = "EXTENDED WINDOW OPS" (White:Black:Black:Turquoise) { Iconify at New Position:(White:"#ff0000"): f.newiconify Focus Keyboard on Window:(White:"#d00000"): f.focus Freeze Server:(White:"#b00000"): f.pause UnFreeze Server:(White:"#900000"): f.continue Circulate Windows Up:(White:"#700000"): f.circleup Circulate Windows Down:(White:"#500000"): f.circledown Refresh Entire Screen:(White:"#300000"): f.refresh } menu = " XTERMS" (White:Black:Red:White) { *Local*:(White:Black):!"xterm =80x24+0+0 -n local -bw 5 -bd Black -cr Black&" Daniel:(White:Blue):!"xterm =80x24+0+0 -s -bw 5 -bd Blue -cr Blue -e daniel&" Amos:(White:Blue):!"xterm =80x24+0+0 -s -bw 5 -bd Blue -cr Blue -e amos&" Decvax:(White:Black):!"xterm =80x24+0+0 -s -bw 5 -bd Black -cr Black -e decvax&" James:(White:"#004900"):!"xterm =80x24+0+0 -s -bw 5 -fg White -bg '#004900' -bd '#ffff00' -cr Red -e james&" Peter:(White:YellowGreen):!"xterm =80x24+0+0 -s -bw 5 -fg White -bg '#004900' -bd YellowGreen -cr Red -e peter&" Timothy:(White:Magenta):!"xterm =80x24+0+0 -s -bw 5 -bd Magenta -cr Magenta -e timothy&" John:(White:Magenta):!"xterm =80x24+0+0 -s -bw 5 -bd Magenta -cr Magenta -e john&" David:(White:Red):!"xterm =80x24+0+0 -s -bw 5 -bd Red -cr Red -e david&" Isaiah:(White:Red):!"xterm =80x24+0+0 -s -bw 5 -bd Red -cr Red -e isaiah&" "Unsized -->":(White:"#222222"):f.menu :"UNSIZED XTERMS" "Dave's Xterms -->":(White:"#aaaaaa"):f.menu :"DAVE'S XTERMS" "Full-sized -->":(White:"#666666"):f.menu :"LONG XTERMS" } menu = "LONG XTERMS" { *Local*:!"xterm =80x65+0+0 -n Local -bw 5 -bd Black -cr Black&" Daniel:!"xterm =80x65+0+0 -n Abyss -s -bw 5 -bd Blue -cr Blue -e daniel&" Amos:!"xterm =80x65+0+0 -s -bw 5 -bd Blue -cr Blue -e amos&" Decvax:!"xterm =80x65+0+0 -n Decvax -s -bw 5 -bd Black -cr Black -e decvax&" James:!"xterm =80x65+0+0 -n Gorge -s -bw 5 -fg White -bg '#004900' -bd '#ffff00' -cr Red -e james&" Peter:!"xterm =80x65+0+0 -s -bw 5 -fg White -bg '#004900' -bd YellowGreen -cr Red -e peter&" Timothy:!"xterm =80x65+0+0 -s -bw 5 -bd Magenta -cr Magenta -e timothy&" John:!"xterm =80x65+0+0 -n Preemie -s -bw 5 -bd Magenta -cr Magenta -e john&" David:!"xterm =80x65+0+0 -n Ravine -s -bw 5 -bd Red -cr Red -e david&" Isaiah:!"xterm =80x65+0+0 -s -bw 5 -bd Red -cr Red -e isaiah&" } menu = "UNSIZED XTERMS" { *Local*:!"xterm -n local -bw 5 -bd Black -cr Black&" Daniel:!"xterm -s -bw 5 -bd Blue -cr Blue -e daniel&" Amos:!"xterm -s -bw 5 -bd Blue -cr Blue -e amos&" Decvax:!"xterm -s -bw 5 -bd Black -cr Black -e decvax&" James:!"xterm -s -bw 5 -fg White -bg '#004900' -bd '#ffff00' -cr Red -e james&" Peter:!"xterm -s -bw 5 -fg White -bg '#004900' -bd YellowGreen -cr Red -e peter&" Timothy:!"xterm -s -bw 5 -bd Magenta -cr Magenta -e timothy&" John:!"xterm -s -bw 5 -bd Magenta -cr Magenta -e john&" David:!"xterm -s -bw 5 -bd Red -cr Red -e david&" Isaiah:!"xterm -s -bw 5 -bd Red -cr Red -e isaiah&" } menu = " MISCELLANEOUS " (White:Black:Black:White){ "Cut Buffer Strings -->":(White:SkyBlue):f.menu:"CUT BUFFER STRINGS" "Handy Commands -->":(White:CornflowerBlue):f.menu:"HANDY COMMANDS" "STDFILE Menu -->":(White:SkyBlue):f.menu:"`STDFILE' MENU" "User Preferences -->":(White:CornflowerBlue):f.menu:"PREFERENCES" "Demos Menu -->":(White:SkyBlue):f.menu:" DEMOS MENU " "Set Colors Menu -->":(White:CornflowerBlue):f.menu:"SET COLORS" } menu = "`STDFILE' MENU" (White:Black:Yellow:Black) { Edit STDFILE:(Black:Yellow):!"xterm -i =80x65+5+5 -s -bw 3 -bd Black -bg YellowGreen -fg Black -cr Red -e vi `cat $HOME/STDFILE`&" Set & Edit STDFILE:(Black:Yellow):!"xterm -i =80x65+5+5 -s -bw 3 -bd Black -bg YellowGreen -fg Black -cr Red -e esetstdfile&" Set STDFILE:(Black:Yellow):!"xterm -i =40x3+100+100 -s -bw 3 -bd VioletRed -bg Aquamarine -fg Black -cr Red -e setstdfile&" } menu = "CUT BUFFER STRINGS" (White:Black:White:Red) { "Setup Terminal Emulator":(Black:White):^"xs;setclear;setenv DISPLAY `rsh decvax cat DISPLAY`;clear" "Make > tmp &":(Black:White):^"rm -f tmp;make >tmp&" "tail -f tmp":(Black:White):^"clear;tail -f tmp" "Xted":(Black:White):^"xted -i &" "biff n":(Black:White):^"biff n" "xterm -fn 9x15 ...":(Black:White):|"xterm -fn 9x15 " "Clear Screen":(Black:White):^clear } menu = "HANDY COMMANDS" (White:Black:Black:White) { Edit .uwmrc:(LimeGreen:SeaGreen):!"xterm -i =80x65+5+5 -s -bw 3 -bd Black -bg NavyBlue -fg Yellow -cr Red -e vi $HOME/.uwmrc&" Restart Window Manager:(SeaGreen:LimeGreen):f.restart #Exit Window Manager:(LimeGreen:SeaGreen):f.exit Vi Editor:(SeaGreen:LimeGreen):!"xterm -i =80x65+5+5 -s -bw 3 -bd Black -bg NavyBlue -fg Yellow -cr Red -e vi&" Mail Window:(LimeGreen:SeaGreen):!"xterm =+0+0 -s -bw 5 -bd Red -cr Red -e rsh decvax mail&" Restart X Server:(SeaGreen:LimeGreen):f.menu:"RESTART SERVER: Are you sure?" Shutdown:(LimeGreen:SeaGreen):f.menu:"SHUTDOWN: Are you sure?" Xted Editor:(SeaGreen:LimeGreen):!"xted -i &" 1987 Calendar:(LimeGreen:SeaGreen):!"xterm =67x38+2+2 -n 1986 -bw 3 -bd Black -bg Yellow -fg NavyBlue -e browse cal 1987&" Monthly Calendar:(SeaGreen:LimeGreen):!"xterm =24x9+790+648 -n `cal|awk 'NR == 1 {print $1;exit}'` -bw 3 -bd Red -bg White -fg Black -e browse cal&" } menu = "SHUTDOWN: Are you sure?" (White:Black:White:Red) { No:(Black:White): !"" Yes:(Black:White): !"sudo /etc/shutdown -h now" } menu = "RESTART SERVER: Are you sure?" (White:Black:White:Red) { No:(Black:White): !"" Yes:(Black:White): !"$HOME/bin/restartX&" } menu = " DEMOS MENU " (White:Black:Black:White) { "XDemos Menu -->":(Yellow:NavyBlue): f.menu:" X DEMOS " "Imaging Menu -->":(NavyBlue:Yellow): f.menu:"IMAGING DEMOS" "Multi-windows Menu -->":(Yellow:NavyBlue):f.menu:"MULTI-WINDOWS MENU" "Multi-XDemos Menu -->":(NavyBlue:Yellow):f.menu:"MULTI-XDEMOS MENU" "XWhiz Menu -->":(Yellow:NavyBlue): f.menu:"XWHIZ MENU" "XTed Demo":(NavyBlue:Yellow): !"$HOME/demos/demo2 &" "Pikapix Demo":(Yellow:NavyBlue): !"/usr/local/pikapix &" } menu = " X DEMOS " (White:Black:Black:White) { "Others -->":(Firebrick:White):f.menu:"MORE X DEMOS" Balls:(Black:Yellow):!"/bin/nice -20 xdemo -bd=Red -bg=Yellow -fg=Black balls &" Bounce:(White:Cyan):!"/bin/nice -20 xdemo -bd=Violet -bg=Cyan -fg=White bounce &" Circle:(Yellow:BlueViolet):!"/bin/nice -20 xdemo -bd=Orange -bg=BlueViolet -fg=Yellow circle &" Circles:(Blue:Red):!"/bin/nice -20 xdemo -bd=NavyBlue -bg=Red -fg=Blue circles &" Lines:(MidnightBlue:White):!"/bin/nice -20 xdemo -bd=Yellow -bg=White -fg=MidnightBlue lines &" Plaid:(DarkOliveGreen:Sienna):!"/bin/nice -20 xdemo -bd=Black -bg=Sienna -fg=DarkOliveGreen plaid &" Star:(Violet:Black):!"/bin/nice -20 xdemo -bd=Orange -bg=Black -fg=Violet star &" } menu = "MORE X DEMOS" (White:Black:Black:White) { Colors:(White:"#0000ff"):!"/bin/nice -20 xdemo colors &" Cookie:(White:"#0000ef"):!"/bin/nice -20 xdemo cookie &" Draw:(White:"#0000df"):!"/bin/nice -20 xdemo draw &" Life:(White:"#0000cf"):!"/bin/nice -20 xdemo life &" Menulife:(White:"#0000bf"):!"/bin/nice -20 xdemo menulife &" Motion:(White:"#0000af"):!"/bin/nice -20 xdemo motion &" Qix:(White:"#00009f"):!"/bin/nice -20 xdemo qix &" Rgb:(White:"#00008f"):!"/bin/nice -20 xdemo rgb &" Slide:(White:"#00007f"):!"/bin/nice -20 xdemo -fg=Blue -bg=YellowOrange slide &" Tetra:(White:"#00006f"):!"/bin/nice -20 xdemo tetra &" Wallpaper:(White:"#00005f"):!"/bin/nice -20 xdemo wallpaper &" Web:(White:"#00004f"):!"/bin/nice -20 xdemo web &" Xor:(White:"#00003f"):!"/bin/nice -20 xdemo xor &" } menu = "MULTI-WINDOWS MENU" (White:Black:Black:White) { Run:(Black:White):!"$HOME/demos/demo1 &" Kill:(Black:White):!"$HOME/demos/kill_xterm &" } menu = "MULTI-XDEMOS MENU" (:::) { Run:(:):!"$HOME/demos/demo3 &" Kill:(:):!"$HOME/demos/kill_xdemo &" } menu = "XWHIZ MENU" (White:Black:Black:White) { Run default:(Red:Blue):!"/bin/nice -20 xwhiz &" Run standard:(Blue:Red):!"/bin/nice -20 xwhiz -border 0 =1024x864 &" Run wide:(Red:Blue):!"/bin/nice -20 xwhiz -border 0 -bheight 4 -bwidth 2 =1024x864 &" Kill:(Blue:Red):!"$HOME/demos/kill_xwhiz &" } menu = "SET COLORS" (White:Black:White:Black) { "Black/Aquamarine":(Black:Aquamarine):!"xset p 1 Black p 0 Aquamarine &" "Blue/Aquamarine":(Blue:Aquamarine):!"xset p 1 Blue p 0 Aquamarine &" "MediumBlue/Aquamarine":(MediumBlue:Aquamarine):!"xset p 1 MediumBlue p 0 Aquamarine &" "Green/Aquamarine":(Green:Aquamarine):!"xset p 1 Green p 0 Aquamarine &" "Red/Aquamarine":(Red:Aquamarine):!"xset p 1 Red p 0 Aquamarine &" "Sienna/Aquamarine":(Sienna:Aquamarine):!"xset p 1 Sienna p 0 Aquamarine &" "Violet/Aquamarine":(Violet:Aquamarine):!"xset p 1 Violet p 0 Aquamarine &" "White/Aquamarine":(White:Aquamarine):!"xset p 1 White p 0 Aquamarine &" "Yellow/Aquamarine":(Yellow:Aquamarine):!"xset p 1 Yellow p 0 Aquamarine &" "Aquamarine/Black":(Aquamarine:Black):!"xset p 1 Black p 0 Aquamarine &" "Blue/Black":(Blue:Black):!"xset p 1 Blue p 0 Black &" "MediumBlue/Black":(MediumBlue:Black):!"xset p 1 MediumBlue p 0 Black &" "Green/Black":(Green:Black):!"xset p 1 Green p 0 Black &" "Red/Black":(Red:Black):!"xset p 1 Red p 0 Black &" "Sienna/Black":(Sienna:Black):!"xset p 1 Sienna p 0 Black &" "Violet/Black":(Violet:Black):!"xset p 1 Violet p 0 Black &" "White/Black":(White:Black):!"xset p 1 White p 0 Black &" "Yellow/Black":(Yellow:Black):!"xset p 1 Yellow p 0 Black &" "Aquamarine/Blue":(Aquamarine:Blue):!"xset p 1 Blue p 0 Aquamarine &" "Black/Blue":(Black:Blue):!"xset p 1 Blue p 0 Black &" "MediumBlue/Blue":(MediumBlue:Blue):!"xset p 1 MediumBlue p 0 Blue &" "Green/Blue":(Green:Blue):!"xset p 1 Green p 0 Blue &" "Red/Blue":(Red:Blue):!"xset p 1 Red p 0 Blue &" "Sienna/Blue":(Sienna:Blue):!"xset p 1 Sienna p 0 Blue &" "Violet/Blue":(Violet:Blue):!"xset p 1 Violet p 0 Blue &" "White/Blue":(White:Blue):!"xset p 1 White p 0 Blue &" "Yellow/Blue":(Yellow:Blue):!"xset p 1 Yellow p 0 Blue &" "Aquamarine/White":(Aquamarine:White):!"xset p 1 White p 0 Aquamarine &" "Black/White":(Black:White):!"xset p 1 White p 0 Black &" "Blue/White":(Blue:White):!"xset p 1 White p 0 Blue &" "MediumBlue/White":(MediumBlue:White):!"xset p 1 MediumBlue p 0 White &" "Green/White":(Green:White):!"xset p 1 Green p 0 White &" "Red/White":(Red:White):!"xset p 1 Red p 0 White &" "Sienna/White":(Sienna:White):!"xset p 1 Sienna p 0 White &" "Violet/White":(Violet:White):!"xset p 1 Violet p 0 White &" "Yellow/White":(Yellow:White):!"xset p 1 Yellow p 0 White &" "**** MORE **** ==>":f.menu:"SET COLORS " } menu = "SET COLORS " (White:Black:White:Black) { "Aquamarine/MediumBlue":(Aquamarine:MediumBlue):!"xset p 1 MediumBlue p 0 Aquamarine &" "Black/MediumBlue":(Black:MediumBlue):!"xset p 1 Black p 0 MediumBlue &" "Blue/MediumBlue":(Blue:MediumBlue):!"xset p 1 MediumBlue p 0 Blue &" "Green/MediumBlue":(Green:MediumBlue):!"xset p 1 Green p 0 MediumBlue &" "Red/MediumBlue":(Red:MediumBlue):!"xset p 1 Red p 0 MediumBlue &" "Sienna/MediumBlue":(Sienna:MediumBlue):!"xset p 1 Sienna p 0 MediumBlue &" "Violet/MediumBlue":(Violet:MediumBlue):!"xset p 1 Violet p 0 MediumBlue &" "Yellow/MediumBlue":(Yellow:MediumBlue):!"xset p 1 Yellow p 0 MediumBlue &" "White/MediumBlue":(White:MediumBlue):!"xset p 1 White p 0 MediumBlue &" } menu = "DAVE'S XTERMS" (:::) { Slate Blue:(:):!"xterm -i -s -bg SlateBlue -fg green -cr blue -ms blue &" Firebrick:(:):!"xterm -bg firebrick -fg white -cr yellow -ms cyan -bd tan -fn kiltercrn &" Maroon:(:):!"xterm -bg maroon -fg goldenrod -cr red -ms red -bd tan &" Red:(:):!"xterm -i -fn 9x15 -s -bw 3 -bd Black -bg Red -fg MidnightBlue -cr White &" Green:(:):!"xterm -i -fn 9x15 -s -bw 3 -bd Black -bg Green -fg DarkGreen -cr Red &" Nblue:(:):!"xterm -i -fn 9x15 -s -bw 3 -bd Black -bg NavyBlue -fg Yellow -cr Red &" White:(:):!"xterm -i -fn 9x15 -s -bw 3 -bd Black -bg White -fg VioletRed -cr Red &" Magenta:(:):!"xterm -i -fn 9x15 -s -bw 3 -bd Black -bg Magenta -fg DarkGreen -cr Red &" Sienna:(:):!"xterm -i -fn 9x15 -s -bw 3 -bd Black -bg Sienna -fg Yellow -cr Red &" Black:(:):!"xterm -i -fn 9x15 -s -bw 3 -bd White -bg Black -fg LightBlue -cr Red &" Yellow:(:):!"xterm -i -fn 9x15 -s -bw 3 -bd Black -bg Yellow -fg NavyBlue -cr Red &" } menu = "IMAGING DEMOS" (White:Black:White:Blue) { Boston Bird's Eye:(White:DimGrey):!"resimg -s /usr/lib/images/boston &" Old Man Albert:(Black:LightGrey):!"resimg -s /usr/lib/images/einstein &" Big Ben:(White:DimGrey):!"resimg -s /usr/lib/images/london &" The World's Most Famous Smile:(Black:LightGrey):!"resimg -s /usr/lib/images/monalisa &" From the Earth to the Moon:(White:DimGrey):!"resimg -s /usr/lib/images/moon &" The Big Apple:(Black:LightGrey):!"resimg -s /usr/lib/images/newyork &" Le Tour Eiffel:(White:DimGrey):!"resimg -s /usr/lib/images/paris &" The Gipper:(Black:LightGrey):!"resimg -s /usr/lib/images/reagan &" I Left My Heart...:(White:DimGrey):!"resimg -s /usr/lib/images/sanfran &" Faraway Places:(Black:LightGrey):!"resimg -s /usr/lib/images/tajmahal &" "(Kill)":(White:DimGrey):!"$HOME/demos/kill_resimg &" } menu = "PREFERENCES" (White:Black:White:Blue) { Bell Loud:!"xset b 7&" Bell Normal:!"xset b 3&" Bell Off:!"xset b off&" Click Loud:!"xset c 8&" Click Soft:!"xset c on&" Click Off:!"xset c off&" Lock On:!"xset c on&" Lock Off:!"xset c off&" Mouse Fast:!"xset m 4 2&" Mouse Normal:!"xset m 2 5&" Mouse Slow:!"xset m 1 1&" }