separated keyboard macros
authorClaus Gittinger <cg@exept.de>
Fri, 03 Nov 1995 17:34:13 +0100
changeset 41 d61cda45c461
parent 40 0858b3a848a6
child 42 01ad8f1b986b
separated keyboard macros
keyboard.rc
patches
private.rc
smalltalk.rc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/keyboard.rc	Fri Nov 03 17:34:13 1995 +0100
@@ -0,0 +1,210 @@
+"*
+ * $Header$
+ *
+ * sample keyboard.rc - file
+ *
+ * this file defines some keyboard macros and adds mappings for
+ * common function keys. These definitions used to be in private.rc,
+ * but have been extracted into this separate file to allow easier
+ * sharing of rc files (users having different private files, but want
+ * to use the same keyboard mappings)
+ *
+ * a copy of this file can (should) reside in your home or
+ * current directory - put all private preferences in here.
+ *
+ * notice, you will find some things enclosed in
+ *  ... getLoginName = 'claus' ifTrue:[
+ *      
+* these are my personal preferrences which will be
+ * ignored in your environment, but are taken in mine.
+ * That way, I dont have to maintain two different 'private.rc' files.
+ * (you may want to have a look into it - some is of general interrest)
+ *"
+
+"/ a kludge: some Xservers send #Delete for both the backspace
+"/ and the Delete key. In this case, we use the Backspace function
+"/ for both keys. If your Xserver does not do this (it should not)
+"/ remove or comment the following 'bindValue:#BackSpace'-line:
+"/
+|map macros|
+
+map := Display keyboardMap.
+map bindValue:#BackSpace     to:#Delete.
+
+"/
+"/ define some keyboard macros as virtual function-keys:
+"/ Cmd-F99: paste the output of a selected unix command ..
+"/ Cmd-F98: toggle between 4 and 8 col tab setting
+"/ Cmd-F96: pipe text through spelling checker and collect its output
+"/ Cmd-F97: get next entry from spell-list, search and highlight it
+"/ Cmd-F95: indents selection by 4
+"/ Cmd-F94: undents selection by 4
+"/
+macros := Smalltalk at:#FunctionKeySequences.
+macros isNil ifTrue:[
+    macros := IdentityDictionary new.
+    Smalltalk at:#FunctionKeySequences put:macros.
+].
+
+"/ macro to replace selection by unix command
+macros at:#F99 put:'
+		    "replace selection by 
+		     corresponding
+		     unix commands output"
+
+		    |sel|
+
+		    sel := self selection.
+		    sel notNil ifTrue:[
+			self replace:
+			    (PipeStream readingFrom:(sel asString))
+				contents asString
+		    ]'.
+
+"/ macro to toggle tabs
+macros at:#F98 put:'
+		    "toggle between 4-col 
+		     and 8-col tabs"
+
+		    (tabPositions == self class tab4Positions)
+			 ifTrue:[self setTab8]
+			 ifFalse:[self setTab4]'.
+
+"/ macro to get next spelling error, and select it
+macros at:#F97 put:'
+		    |errs thisErr sl sc|
+
+		    thisErr := Smalltalk at:#''_thisError''.
+		    thisErr isNil ifTrue:[
+			errs := Smalltalk at:#''_spellOutput''.
+			(errs notNil and:[errs notEmpty]) ifTrue:[
+			    thisErr := errs removeFirst.
+			    errs isEmpty ifTrue:[Smalltalk removeKey:''_spellOut'']
+			].
+			Smalltalk at:#''_lastErrLine'' put:1.
+			Smalltalk at:#''_lastErrCol'' put:1.
+		    ].
+		    thisErr notNil ifTrue:[
+			sl := Smalltalk at:#''_lastErrLine''.
+			sc := Smalltalk at:#''_lastErrCol''.
+			self searchForwardFor:thisErr
+			     startingAtLine:sl col:sc 
+			     ifFound:[:fl :fc | self selectWordAtLine:fl col:fc.
+						Smalltalk at:#''_lastErrLine'' put:fl.
+						Smalltalk at:#''_lastErrCol'' put:fc+1]
+			     ifAbsent:[self device beep]
+		    ]'.
+
+"/ macro to send contents to spell; remember spelling errors
+"/ does not work on all systems (some do not have spell ...)
+macros at:#F96 put:'
+		    |p f s|
+
+		    f := Filename newTemporary. s := f writeStream.
+		    s nextPutAll:self contents asString.
+		    s close.
+		    p := PipeStream readingFrom:''spell '' , f pathName.
+		    Smalltalk at:#''_spellOutput'' put:p contents asString asCollectionOfLines.
+		    p close.
+		    self information:''F7 positions on the next spelling error''.
+		    '.
+
+"/ macro to indent by 4
+macros at:#F95 put:'
+		    "indent selected line-range 
+		     by 4 spaces (i.e. to the right)"
+
+		    self selectionStartLine to:self selectionEndLine-1 do:[:lineNr |
+			|line|
+
+			line := self listAt:lineNr.
+			line notNil ifTrue:[
+			    line notEmpty ifTrue:[
+				line := ''    '' , line.
+				self at:lineNr put:line
+			    ]
+			]
+		    ]
+		    '.
+"/ macro to undent by 4
+macros at:#F94 put:'
+		    "undent selected line-range 
+		     by 4 spaces (i.e. to the left)"
+
+		    self selectionStartLine to:self selectionEndLine-1 do:[:lineNr |
+			|line|
+
+			line := self listAt:lineNr.
+			line notNil ifTrue:[
+			    line notEmpty ifTrue:[
+				(line startsWith:''    '') ifTrue:[
+				    line := line copyFrom:5.
+				    self at:lineNr put:line
+				]
+			    ]
+			]
+		    ]
+		    '.
+"/
+"/ my personal preferences - comment it, if you do not like them
+"/ bind function and other keys as:
+"/
+"/ F1            - again
+"/ F3            - comment-it
+"/ F4            - uncomment-it
+"/ F5            - paste shell output
+"/ F9            - undent by 4
+"/ F10           - indent by 4
+"/ Control-R     - Compose key
+"/ Break         - UserInterrupt
+"/ Print         - PrintIt
+"/ Execute       - InspectIt
+
+map bindValue:#Compose     to:#'Control_R'.     "/ remove this line, if your keyboard has a compose-key
+map bindValue:#Compose     to:#'Multi_key'.     "/ on some servers, this comes pretranslated
+
+"/
+"/ convenient functions on the keyboard
+"/
+map bindValue:#Again         to:#F1.
+map bindValue:#UserInterrupt to:#Break.
+map bindValue:#PrintIt       to:#Print.      "/ called PrintScreen on most keyboards
+map bindValue:#InspectIt     to:#Execute.    "/ called SysReq on most keyboards
+
+
+map bindValue:#CmdF99  to:#F5.
+map bindValue:#CmdF98 to:#CtrlTab.
+"/ map bindValue:#CmdF97 to:#F7.
+"/ map bindValue:#CmdF96 to:#F6.
+map bindValue:#CmdF95 to:#F10.
+map bindValue:#CmdF94 to:#F9.
+
+map bindValue:#CommentSelection to:#F3.
+map bindValue:#UncommentSelection to:#F4.
+
+"/
+"/ since some of my machines have german keyboards ;-)
+"/ and I like to be able to edit my files on all machines,
+"/ I need a translation in both ways.
+"/ you'd normally not define things in both directions.
+"/
+"/ actually, these things belong into d_xxx.rc ...
+"/
+"/ german national characters on a US keyboard:
+"/
+map bindValue:(Character value:16rFC) to:#'Cmd['.
+map bindValue:(Character value:16rE4) to:#'Cmd'''.
+map bindValue:(Character value:16rF6) to:#'Cmd;'.
+map bindValue:(Character value:16rDC) to:#'Cmd{'.
+map bindValue:(Character value:16rC4) to:#'Cmd"'.
+map bindValue:(Character value:16rD6) to:#'Cmd:'.
+map bindValue:(Character value:16rDF) to:#'Cmd-'.
+
+"/
+"/ US characters on german keyboard:
+"/
+map bindValue:$[ to:#'Alt['.
+map bindValue:$] to:#'Alt]'.
+map bindValue:$| to:#'Alt|'.
+map bindValue:${ to:#'Alt{'.
+!
--- a/patches	Thu Nov 02 21:32:21 1995 +0100
+++ b/patches	Fri Nov 03 17:34:13 1995 +0100
@@ -311,7 +311,7 @@
 		  PersistencyManager BinaryIOManager BinaryInputManager
 		  BinaryOutputManager DBFile BinaryObjectStorage
 
-		  RDoItServer
+		  RDoItServer SNMPOID SNMPSession
 
 		  HandlerCollection 
 		  Plug Random MessageSend MessageChannel
--- a/private.rc	Thu Nov 02 21:32:21 1995 +0100
+++ b/private.rc	Fri Nov 03 17:34:13 1995 +0100
@@ -5,6 +5,8 @@
  *
  * a copy of this file can (should) reside in your home or
  * current directory - put all private preferences in here.
+ *
+ *
  * notice, you will find some things enclosed in
  *  ... getLoginName = 'claus' ifTrue:[
  *      
@@ -48,192 +50,8 @@
 ].
 !
 
-"/ a kludge: some Xservers send #Delete for both the backspace
-"/ and the Delete key. In this case, we use the Backspace function
-"/ for both keys. If your Xserver does not do this (it should not)
-"/ remove or comment the following 'bindValue:#BackSpace'-line:
-"/
-|map macros|
-
-map := Display keyboardMap.
-map bindValue:#BackSpace     to:#Delete.
-
-"/
-"/ define some keyboard macros as virtual function-keys:
-"/ Cmd-F99: paste the output of a selected unix command ..
-"/ Cmd-F98: toggle between 4 and 8 col tab setting
-"/ Cmd-F96: pipe text through spelling checker and collect its output
-"/ Cmd-F97: get next entry from spell-list, search and highlight it
-"/ Cmd-F95: indents selection by 4
-"/ Cmd-F94: undents selection by 4
-"/
-macros := Smalltalk at:#FunctionKeySequences.
-macros isNil ifTrue:[
-    macros := IdentityDictionary new.
-    Smalltalk at:#FunctionKeySequences put:macros.
-].
-
-"/ macro to replace selection by unix command
-macros at:#F99 put:'
-		    "replace selection by 
-		     corresponding
-		     unix commands output"
-
-		    |sel|
-
-		    sel := self selection.
-		    sel notNil ifTrue:[
-			self replace:
-			    (PipeStream readingFrom:(sel asString))
-				contents asString
-		    ]'.
-
-"/ macro to toggle tabs
-macros at:#F98 put:'
-		    "toggle between 4-col 
-		     and 8-col tabs"
-
-		    (tabPositions == self class tab4Positions)
-			 ifTrue:[self setTab8]
-			 ifFalse:[self setTab4]'.
-
-"/ macro to get next spelling error, and select it
-macros at:#F97 put:'
-		    |errs thisErr sl sc|
-
-		    thisErr := Smalltalk at:#''_thisError''.
-		    thisErr isNil ifTrue:[
-			errs := Smalltalk at:#''_spellOutput''.
-			(errs notNil and:[errs notEmpty]) ifTrue:[
-			    thisErr := errs removeFirst.
-			    errs isEmpty ifTrue:[Smalltalk removeKey:''_spellOut'']
-			].
-			Smalltalk at:#''_lastErrLine'' put:1.
-			Smalltalk at:#''_lastErrCol'' put:1.
-		    ].
-		    thisErr notNil ifTrue:[
-			sl := Smalltalk at:#''_lastErrLine''.
-			sc := Smalltalk at:#''_lastErrCol''.
-			self searchForwardFor:thisErr
-			     startingAtLine:sl col:sc 
-			     ifFound:[:fl :fc | self selectWordAtLine:fl col:fc.
-						Smalltalk at:#''_lastErrLine'' put:fl.
-						Smalltalk at:#''_lastErrCol'' put:fc+1]
-			     ifAbsent:[self device beep]
-		    ]'.
-
-"/ macro to send contents to spell; remember spelling errors
-"/ does not work on all systems (some do not have spell ...)
-macros at:#F96 put:'
-		    |p f s|
-
-		    f := Filename newTemporary. s := f writeStream.
-		    s nextPutAll:self contents asString.
-		    s close.
-		    p := PipeStream readingFrom:''spell '' , f pathName.
-		    Smalltalk at:#''_spellOutput'' put:p contents asString asCollectionOfLines.
-		    p close.
-		    self information:''F7 positions on the next spelling error''.
-		    '.
-
-"/ macro to indent by 4
-macros at:#F95 put:'
-		    "indent selected line-range 
-		     by 4 spaces (i.e. to the right)"
-
-		    self selectionStartLine to:self selectionEndLine-1 do:[:lineNr |
-			|line|
-
-			line := self listAt:lineNr.
-			line notNil ifTrue:[
-			    line notEmpty ifTrue:[
-				line := ''    '' , line.
-				self at:lineNr put:line
-			    ]
-			]
-		    ]
-		    '.
-"/ macro to undent by 4
-macros at:#F94 put:'
-		    "undent selected line-range 
-		     by 4 spaces (i.e. to the left)"
-
-		    self selectionStartLine to:self selectionEndLine-1 do:[:lineNr |
-			|line|
-
-			line := self listAt:lineNr.
-			line notNil ifTrue:[
-			    line notEmpty ifTrue:[
-				(line startsWith:''    '') ifTrue:[
-				    line := line copyFrom:5.
-				    self at:lineNr put:line
-				]
-			    ]
-			]
-		    ]
-		    '.
-"/
-"/ my personal preferences - comment it, if you do not like them
-"/ bind function and other keys as:
-"/
-"/ F1            - again
-"/ F3            - comment-it
-"/ F4            - uncomment-it
-"/ F5            - paste shell output
-"/ F9            - undent by 4
-"/ F10           - indent by 4
-"/ Control-R     - Compose key
-"/ Break         - UserInterrupt
-"/ Print         - PrintIt
-"/ Execute       - InspectIt
-
-map bindValue:#Compose     to:#'Control_R'.     "/ remove this line, if your keyboard has a compose-key
-map bindValue:#Compose     to:#'Multi_key'.     "/ on some servers, this comes pretranslated
-
-"/
-"/ convenient functions on the keyboard
-"/
-map bindValue:#Again         to:#F1.
-map bindValue:#UserInterrupt to:#Break.
-map bindValue:#PrintIt       to:#Print.      "/ called PrintScreen on most keyboards
-map bindValue:#InspectIt     to:#Execute.    "/ called SysReq on most keyboards
-
-
-map bindValue:#CmdF99  to:#F5.
-map bindValue:#CmdF98 to:#CtrlTab.
-"/ map bindValue:#CmdF97 to:#F7.
-"/ map bindValue:#CmdF96 to:#F6.
-map bindValue:#CmdF95 to:#F10.
-map bindValue:#CmdF94 to:#F9.
-
-map bindValue:#CommentSelection to:#F3.
-map bindValue:#UncommentSelection to:#F4.
-
-"/
-"/ since some of my machines have german keyboards ;-)
-"/ and I like to be able to edit my files on all machines,
-"/ I need a translation in both ways.
-"/ you'd normally not define things in both directions.
-"/
-"/ actually, these things belong into d_xxx.rc ...
-"/
-"/ german national characters on a US keyboard:
-"/
-map bindValue:(Character value:16rFC) to:#'Cmd['.
-map bindValue:(Character value:16rE4) to:#'Cmd'''.
-map bindValue:(Character value:16rF6) to:#'Cmd;'.
-map bindValue:(Character value:16rDC) to:#'Cmd{'.
-map bindValue:(Character value:16rC4) to:#'Cmd"'.
-map bindValue:(Character value:16rD6) to:#'Cmd:'.
-map bindValue:(Character value:16rDF) to:#'Cmd-'.
-
-"/
-"/ US characters on german keyboard:
-"/
-map bindValue:$[ to:#'Alt['.
-map bindValue:$] to:#'Alt]'.
-map bindValue:$| to:#'Alt|'.
-map bindValue:${ to:#'Alt{'.
+Transcript showCr:'reading keyboard.rc ...'.
+Smalltalk fileIn:'keyboard.rc'.
 
 "/
 "/ no matter what the 'display.rc' says:
@@ -293,11 +111,6 @@
 
 
 "/ claus:
-"/     I dont want those warnings about stx features being non-portable ...
-"/     However, you should (at least when new to the system) see them.
-"/     Once you get bored about them, make the below unconditional.
-"/     (you can also turn them off in the NewLaunchers settings menu ...)
-"/
 "/     The history manager automatically adds a history line to changed
 "/     methods and optionally to a classes history method.
 "/
@@ -305,9 +118,17 @@
 or:[OperatingSystem getLoginName = 'cg']) ifTrue:[
     Compiler warnSTXSpecials:false.
     HistoryManager notNil ifTrue:[
+ 	Transcript showCr:'activating HistoryManager ...'.
 	HistoryManager activate.
     ]
 ].
+
+"/ claus:
+"/     I dont want those warnings about stx features being non-portable ...
+"/     However, you should (at least when new to the system) see them.
+"/     Once you get bored about them, make the below unconditional.
+"/     (you can also turn them off in the NewLaunchers settings menu ...)
+"/
 Compiler allowUnderscoreInIdentifier:true. 
 Compiler warnUnderscoreInIdentifier:false. 
 
--- a/smalltalk.rc	Thu Nov 02 21:32:21 1995 +0100
+++ b/smalltalk.rc	Fri Nov 03 17:34:13 1995 +0100
@@ -38,7 +38,7 @@
 "/
 "/ just a quick check, if this ST/X installation seems to
 "/ be halfway complete (it happened to some people, that
-"/ their source/resource directories where not installed)
+"/ their source/resource directories were not installed)
 "/ - better to warn early ... 
 "/
 |anyWrong missing|
@@ -167,16 +167,21 @@
 ].
 
 "/
-"/ you can add your very private things here - if its put into HOME/.smalltalk,
-"/ each user can add his/her private things even when everything else is
-"/ shared
+"/ read private (per user) stuff
 "/
 Transcript showCr:'reading private.rc ...'.
 Smalltalk fileIn:'private.rc'.
 
+"/
+"/ if no style was set (in private.rc), use some default
+"/
 View defaultStyle isNil ifTrue:[
     Transcript showCr:'no style set in rc files - using default'.
-    View defaultStyle:#motif.
+    Display hasGreyscales ifTrue:[
+	View defaultStyle:#motif.
+    ] ifFalse:[
+	View defaultStyle:#normal
+    ]
 ].
 
 "/