home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / x / volume17 / tcleditr / part14 < prev    next >
Encoding:
Text File  |  1992-03-17  |  53.7 KB  |  1,522 lines

  1. Newsgroups: comp.sources.x
  2. Path: uunet!cis.ohio-state.edu!zaphod.mps.ohio-state.edu!mips!msi!dcmartin
  3. From: crowley@chaco.cs.unm.edu (Charlie Crowley)
  4. Subject: v17i015: point text editor (TCL and TK), Part14/16
  5. Message-ID: <1992Mar18.141927.27812@msi.com>
  6. Originator: dcmartin@fascet
  7. Sender: dcmartin@msi.com (David C. Martin - Moderator)
  8. Organization: Molecular Simulations, Inc.
  9. References: <csx-17i002-tcl-editor@uunet.UU.NET>
  10. Date: Wed, 18 Mar 1992 14:19:27 GMT
  11. Approved: dcmartin@msi.com
  12.  
  13. Submitted-by: crowley@chaco.cs.unm.edu (Charlie Crowley)
  14. Posting-number: Volume 17, Issue 15
  15. Archive-name: tcl-editor/part14
  16.  
  17. #! /bin/sh
  18. # This is a shell archive.  Remove anything before this line, then unpack
  19. # it by saving it into a file and typing "sh file".  To overwrite existing
  20. # files, type "sh file -c".  You can also feed this as standard input via
  21. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  22. # will see the following message at the end:
  23. #        "End of archive 13 (of 15)."
  24. # Contents:  doc/userman.1
  25. # Wrapped by crowley@chaco.cs.unm.edu on Tue Mar 10 15:05:49 1992
  26. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  27. if test -f 'doc/userman.1' -a "${1}" != "-c" ; then 
  28.   echo shar: Will not clobber existing file \"'doc/userman.1'\"
  29. else
  30. echo shar: Extracting \"'doc/userman.1'\" \(51929 characters\)
  31. sed "s/^X//" >'doc/userman.1' <<'END_OF_FILE'
  32. X\documentstyle{article}
  33. X
  34. X% $Header: /nfs/unmvax/faculty/crowley/x/pt/doc/RCS/userman.tex,v 1.2 1992/03/04 17:06:40 crowley Exp crowley $
  35. X
  36. X\sloppy
  37. X
  38. X\textwidth      6.5in
  39. X\oddsidemargin  0in
  40. X\evensidemargin 0in
  41. X
  42. X\topmargin      0in
  43. X\headheight     0in
  44. X\headsep        0in
  45. X\textheight     8.5in
  46. X\topskip        0in
  47. X
  48. X\parindent      0in
  49. X\parskip        5pt
  50. X
  51. X\begin{document}
  52. X
  53. X\thispagestyle{empty}
  54. X
  55. X\vspace*{2in}
  56. X
  57. X\begin{center}
  58. X\Huge
  59. The Point Text Editor for X \\
  60. X\vspace{0.35in}
  61. X\Large
  62. Version 1.3 \\
  63. X7 February 1992 \\
  64. X\vspace{1in}
  65. Charles Crowley \\
  66. Computer Science Department \\
  67. University of New Mexico \\
  68. Albuquerque, New Mexico 87131 \\
  69. X505-277-5446 (office) or 505-277-3112 (messages) \\
  70. crowley@unmvax.cs.unm.edu
  71. X\end{center}
  72. X
  73. X\newpage
  74. X
  75. X\tableofcontents
  76. X
  77. X\newpage
  78. X
  79. X
  80. X
  81. X\section{Getting Started}
  82. X
  83. Point is a text editor for X that uses the mouse much more extensively
  84. than most text editors.
  85. You can do most editing using only the mouse.
  86. The editor was designed for programmers and hence it is optimized
  87. for browsing programs.\footnote{
  88. X    It seems to me that programmers spend much more time looking
  89. X    at programs that actually editing them.}
  90. Point supports any number of windows and makes it easy to move and copy
  91. text within and between windows and provides a range of
  92. search commands.
  93. Point uses Tcl (tool command language) in its implementation.
  94. Tcl is the macro language of the editor and provides an interprocess
  95. communication mechanism as well.
  96. X
  97. X
  98. X
  99. X\subsection{Building Point}
  100. X
  101. The README file in the Point distribution tells how to build Point.
  102. It uses the Tk toolkit which should be available from the same ftp
  103. site you obtained Point from.
  104. It requires X11 R4 but does not use the Xt intrinsics
  105. or any Xt-based widget set.
  106. X
  107. X
  108. X
  109. X\subsection{Learning about Point}
  110. X
  111. In  sections \ref{sect:browser} and \ref{sect:text}
  112. I will describe the default configuration of Point.
  113. This will show you almost all of the features of Point but after
  114. you are familiar with it you will probably want to customize
  115. Point to your own tastes.
  116. In sections \ref{sect:options} and \ref{sect:customize}
  117. I describe how to customize Point.
  118. X
  119. I recommend you start by reading the manual page and try Point out first.
  120. The manual page has everything you need to get started using Point.
  121. X
  122. X
  123. X\subsection{Executing Point directly}
  124. X
  125. You need two files to start Point and they should both be in the
  126. same directory:
  127. X\begin{itemize}
  128. X\item {\tt point} --- the executable file
  129. X\item {\tt ptsetup.tcl} --- the configuration file
  130. X\end{itemize}
  131. There are other ways for Point to find its configuration file
  132. which are described below.
  133. X
  134. You start Point with the command:
  135. X\begin{verbatim}
  136. X     point [-nobrowser] [-nb] [file ...]
  137. X\end{verbatim}
  138. X
  139. Point starts with a file browser (unless you specified the
  140. X{\tt -nobrowser} or {\tt -nb} command line option) and 0 or more text windows
  141. X(depending on how many file names you put on the command line).
  142. X
  143. When Point begins it looks for its configuration file first in {\tt .ptrc}
  144. in your home directory.
  145. Normally this file consists of the single line of the form:
  146. X\begin{verbatim}
  147. X     source pathName/ptsetup.tcl
  148. X\end{verbatim}
  149. If it does not find {\tt .ptrc} then it looks for {\tt ptsetup.tcl}
  150. in the current directory.
  151. X
  152. After reading its startup file, Point looks for a local (per directory)
  153. setup file named {\tt .ptdirrc} in the current directory.
  154. If this file is found, it is also read and interpreted.
  155. X
  156. In fact, whenever Point changes directories, it looks for a {\tt .ptdirrc}
  157. file in the new directory and reads and interprets it if it is present.
  158. XFor example, you might want to change the text colors so you could tell
  159. from looking at the colors in a window which directory it was started from.
  160. Or you could open a window displaying a help file for the directory
  161. you are changing to.
  162. X
  163. The idea behind this is that that in general you will use
  164. X{\tt .ptrc} so you can start Point from any directory.
  165. But when you are just starting to use Point it is easiest just
  166. to have {\tt ptsetup.tcl} in the current directory and Point will
  167. find it there.
  168. X
  169. The file {\tt ptsetup.tcl} contains setup information that 
  170. Point requires to run correctly.
  171. Point will not work if this file is not read.
  172. You can change parts of this file to reconfigure Point.
  173. The descriptions that follow describe one configuration of Point.
  174. Most of the behaviors described can be changed by editing {\tt ptsetup.tcl}
  175. or while Point is running through the PREFS pull down menu.
  176. This is explained in more detail
  177. in sections \ref{sect:options} and \ref{sect:customize}.
  178. X
  179. X
  180. X
  181. X\subsection{Executing Point indirectly}
  182. X
  183. It is faster to start Point once and always leave it running
  184. because it takes a fairly long time to start (10 to 15 seconds).
  185. You start it with a file browser window and select new files
  186. to edit from it.
  187. There is a Unix command for communicating with a running
  188. copy of {\tt point} called {\tt pt}:
  189. X\begin{verbatim}
  190. X     pt [-browser] [-b] [-wait] [-w] [-interp interpName] [file ...]
  191. X\end{verbatim}
  192. This command first checks to see if Point is running.
  193. If not, it starts Point with the {\tt -nobrowser} option
  194. X(unless you specified the {\tt -browser} or {\tt -b} command line option).
  195. The {\tt -b} option is an abbreviation of {\tt -browser}.
  196. Then it sends a message to Point to open a window on each
  197. file specified on the command line.
  198. If {\tt -wait} (or {\tt -w} its abbreviation) is specified
  199. X{\tt pt} waits for all of the windows it requested to be closed
  200. and then {\tt pt} will exit.
  201. Otherwise {\tt pt} will exit immediately after asking {\tt point} to
  202. open the windows.
  203. If the {\tt -interp} option is specified the next argument is the
  204. name of the interpreter to which {\tt pt} will send messages.
  205. The default value if {\tt point}.
  206. It is also the name of the Unix command to start Point that {\tt pt}
  207. will use if no interpreter by that name is running.
  208. X
  209. The Point startup file {\tt ptsetup.tcl} defines three variables
  210. X{\tt location1}, {\tt location2} and {\tt location3} which
  211. specify three window geometries.
  212. Be default, {\tt pt} puts new windows at {\pt location1}.
  213. But {\tt pt} also takes arguments of the form {\tt -1}, {\tt -2}, ...
  214. X{\tt -9} and will place the windows of subsequent file names
  215. in the respective {\tt locationN}.
  216. You can specify as many of these {\tt -N} flags and filenames
  217. as arguments.
  218. X
  219. There are two major uses of {\tt pt}.
  220. The first is to open a group of files that is easy to specify
  221. with the shell filename wild card specifications.
  222. XFor example you might execute:
  223. X\begin{verbatim}
  224. X     pt *.c
  225. X\end{verbatim}
  226. as a fast way of opening windows on all the .c files.
  227. The second use of {\tt pt} is to use Point as an editor
  228. that is called as a subprocess of another program to
  229. edit a file.
  230. A primary example is a mail program such as {\tt mail},
  231. X{\tt elm} or {\tt xmail}.
  232. XFor such programs you specify {\tt pt} as your editor of choice.
  233. It will start {\tt pt} with a file name of a temporary file
  234. X(for the body of a mail message for example) and {\tt pt} will
  235. open a Point window on the file and wait until the window is closed.
  236. X
  237. X
  238. X
  239. X
  240. X\section{File Browser Window} \label{sect:browser}
  241. X
  242. A file browser comes up when Point begins
  243. X(unless you specified the {\tt -nobrowser} command line option).
  244. You can create new file browsers at any time.
  245. You can create a file browser from the text window menu.
  246. If you close all the file browsers and all the text windows
  247. you can still start up new ones with the {\tt pt} command.
  248. X
  249. X
  250. X
  251. X\subsection{Screen Layout}
  252. X
  253. Point puts up two types of main windows: file browsers and text windows.
  254. A file browser contains a list of all open windows and a list of
  255. files in the current directory (plus some titles and menus).
  256. The contents of these windows are described in detail in this and the
  257. next section.
  258. X
  259. The default file browser contains one column lists of file names.
  260. If you resize the window to make it wider it will automatically
  261. use as many columns as will fit in the window.
  262. X
  263. The defaults for window locations are set up with the following
  264. screen layout in mind.
  265. X(This can all be changed by the user with setup files.)
  266. There are four main places for windows:
  267. the northeast, northwest, southeast and southwest quadrants of the screen.
  268. The southeast and southwest quadrants contain xterm windows,
  269. the northeast quadrant contains a file browser
  270. and the northwest quadrant contains a stack of text windows.
  271. Normally you only look at one text window at a time so they are
  272. stacked on top of one another.
  273. You can zoom the windows vertically while you are working on
  274. them to see more text.
  275. X
  276. X
  277. X
  278. X\subsection{Title bar}
  279. X
  280. Point assumes the window manager will provide a title bar for
  281. each file browser.
  282. The name of the window is set to the name of the directory
  283. displayed in the file browser window.
  284. The ``\verb+~+'' notation for your home directory is used in
  285. the directory name in the title bar.\footnote{
  286. X    The format of the title line can be specified by the user.
  287. X    See the {\it titleFormat} and {\it iconFormat} options.}
  288. X
  289. X
  290. X
  291. X\subsection{Open window list}
  292. X
  293. This pane shows the names of the files in the open windows.
  294. This list is both for your reference and for topping and moving the
  295. listed windows.
  296. Clicking on the name of an open window with the left mouse button
  297. will bring that window to the top of the stacking order
  298. and moved to geometry 502x410+0+0.
  299. The middle and right mouse buttons will move the window to different
  300. predefined locations on the screen.
  301. Clicking on a file name in the open window pane with the middle
  302. X(or right) mouse button causes the window to be moved to the second (or third)
  303. predefined window locations with geometry 502x390+530+415
  304. X(or 502x39+-530+0).\footnote{These geometries and the effect each each
  305. mouse button can be redefined using the ptsetup.tcl startup file
  306. or through the PREFS menu.}
  307. X
  308. An asterisk ({\tt *}) is put at the end of the file name
  309. if the file has been edited but not yet saved.
  310. The asterisk will also appear after the name on the title bar
  311. of the text window containing the file.
  312. X
  313. X
  314. X
  315. X\subsection{File browser menu bar}
  316. X
  317. A menu of file selection commands appears above the list of files.
  318. In this section we will go through each menu and item and
  319. give (in parentheses) the Point name
  320. for the command and a short description of the command.
  321. A later section in this manual describes all the Point commands in detail.
  322. X
  323. This describes the file browser menu using the default Point
  324. configuration file {\tt ptsetup.tcl}.
  325. The menu bar contains only three items because the browser is usually thin.
  326. X
  327. X\begin{description}
  328. X
  329. X\item[MENU] (pull down menu)
  330. This menu provides access to most of the other menus.
  331. They are all pull right menus and are described below.
  332. X
  333. X\item[New]
  334. This command allows you to create new browsers.
  335. XEach browser will display the current directory.
  336. If you click with the middle mouse button you get a browser right
  337. next to the initial one.
  338. If you click with the right mouse button you get a browser one browser
  339. width away from the initial one.
  340. If you click with the left mouse button you get a browser in the same
  341. position as the initial one.
  342. X
  343. X
  344. X\item[DIRS] (pull down menu)
  345. This is the same as the DIRS pull right menu described below.
  346. X
  347. X\item[PREFS] (pull right menu)
  348. This pull right menu contains a number of cascaded submenus which are
  349. noted by a {\tt =>} at the end of the item name.
  350. When the mouse is moved to such an item the submenu appears beside
  351. the item.
  352. An item ending in ``{\tt ...}'' will bring up a dialogue box
  353. and is used for options that require you to type in a string.
  354. There are also check boxes for boolean options and radio buttons
  355. for ``one-of-several'' options.
  356. Most Point options can be changed (or examined) from this menu.
  357. X
  358. X\item[New] (OpenFileOrCD)
  359. This uses the current X selection as the name of a file or a directory.
  360. If it is a file, Point will open a new window on that file.
  361. If it is a directory then the file browser will change to that directory.
  362. The X selection is the one made most recently and can be
  363. from any program that can claim the X selection.
  364. XFor example you can select a name in an {\tt xterm} window
  365. and open the file (or change to the directory) with this command.
  366. The list of files in the file browser claims the X selection for
  367. a file name you select so if you click on a file name and
  368. the click on this command that file will be opened.
  369. The mouse button you click with determines the geometry of
  370. the new window (if it is a file name):
  371. X    \begin{description}
  372. X
  373. X    \item[Left mouse button] (OpenFileOrCD 502x410+0+0)
  374. X
  375. X    \item[Middle mouse button] (OpenFileOrCD 502x390+530+415)
  376. X
  377. X    \item[Right mouse button] (OpenFileOrCD 502x390+530+0)
  378. X
  379. X    \end{description}
  380. X
  381. X\item[DIRS] (pull right menu) (CD directoryName)
  382. This is a menu of directories you can jump to by selecting a menu item.
  383. You will want to put the directories you go to frequently
  384. on this list.
  385. You can do that by editing the {\tt ptsetup.tcl} file.
  386. X
  387. X\item[MISC] (pull right menu)
  388. This is a menu of commands that are used  infrequently.
  389. X    \begin{description}
  390. X
  391. X    \item[About Point ...] (MakeAboutBox)
  392. X    Pop up a dialogue box giving information about
  393. X    the version of Point you are using.
  394. X
  395. X    \item[Cancel copy mode] (CancelModes)
  396. X    Cancel duplicate (also called copy) mode.
  397. X
  398. X    \item[Print statistics] (PrintStats)
  399. X    Print some statistics about the effectiveness of Point's caches.
  400. X
  401. X    \item[Delete file] (exec rm [selection get])
  402. X    Delete the selected file.  A convenience function.
  403. X
  404. X    \item[Insert ASCII ...] (MakeAsciiBox)
  405. X    Begin up a dialogue box that allows you to insert
  406. X    a character using its numerical ASCII code in decimal.
  407. X
  408. X    \item[Save all unsaved files] (SaveAllFiles)
  409. X    Save all files that have been edited but not yet saved.
  410. X
  411. X    \item[Set debug ...] (MakeDebugBox)
  412. X    Set an internal debugging variable.
  413. X    This usually has no effect in distributed versions.
  414. X
  415. X    \item[Information] (print [Sel get])
  416. X    Display (in the {\tt xterm} window Point was started in)
  417. X    the character position
  418. X    of the first and last characters of the selection.
  419. X
  420. X    \item[6x13] (BrowserFont 6x13)
  421. X    Change the font used in the file browser for displaying
  422. X    file names to {\tt 6x13}.
  423. X
  424. X    \item[6x13bold] (BrowserFont 6x13bold)
  425. X    Change the font used in the file browser for displaying
  426. X    file names to {\tt 6x13bold}.
  427. X
  428. X    \item[5x8] (BrowserFont 5x8)
  429. X    Change the font used in the file browser for displaying
  430. X    file names to {\tt 5x8}.
  431. X
  432. X    \item[*clean-medium-r*6*50*] (BrowserFont *clean-medium-r*6*50*)
  433. X    Change the font used in the file browser for displaying
  434. X    file names to a font that is about the smallest font in
  435. X    X that might be considered legible by some people.
  436. X    This will allow you to see a LOT of file names.
  437. X
  438. X    \item[8x13] (BrowserFont 8x13)
  439. X    Change the font used in the file browser for displaying
  440. X    file names to {\tt 8x13}.
  441. X
  442. X    \end{description}
  443. X
  444. X\item[ * ] (Option set filePattern *)
  445. This causes the list of files to be regenerated.
  446. It is used when you know the directory has changed.
  447. Point does not monitor changes in the directory being
  448. displayed so this allows you to be sure you are seeing
  449. an accurate file name list.
  450. X
  451. X\item[New browser] (Browser 490x415+656+0 big)
  452. This creates another file browser.
  453. You might use this if you want to change to another directory
  454. to find a file but you will want to go back to this directory
  455. right after that.
  456. This allows you to keep both contexts and might be used
  457. if you are interrupted while editing a file and need to
  458. look at another file.
  459. X
  460. X\item[Del file] (exec rm [selection get])
  461. Deletes the selected file.
  462. X
  463. X\item[Close] (CloseBrowser)
  464. Close this file browser but do not exit Point.
  465. X
  466. X\item[QUIT] (pull right menu)
  467. This command bring up a menu that allows you to choose one of
  468. three ways of quitting Point.
  469. You can automatically save all unsaved files,
  470. discard the edits for all unsaved files
  471. or have Point ask you individually whether to save
  472. each unsaved file.
  473. X
  474. X\end{description}
  475. X
  476. X
  477. X
  478. X\subsection{File list}
  479. X
  480. The largest pane of the file browser window contains a list of files
  481. and directories in the current directory.
  482. The directories are listed first and are displayed with a ``{\tt /}''
  483. appended to the directory name.
  484. You can change directories by double clicking on the directory name
  485. in the file list.
  486. X(You can also jump directly to directories using the ``DIRS''
  487. menu from the menu line.)
  488. If you double click with the left mouse button the browser changes its
  489. display to that directory.
  490. If you double click with the middle mouse button a new browser is created
  491. in the position next to the initial browser.
  492. That new browser will display the directory you double clicked on.
  493. If you double click with the right mouse button a new browser is created
  494. in the position one browser width over from the position
  495. of the initial browser.
  496. X
  497. If you select a file name from the list, it is highlighted
  498. and it the object of the next command from the menu bar.
  499. If you double click on a file name a new window is created
  500. that shows that file.
  501. Double clicking on a file name is the most common way to open a new window.
  502. X
  503. If you double click on the file name with the left
  504. mouse button the new window is placed in the first predefined
  505. location (geometry of 502x410+0+0).
  506. If you click with the middle mouse button you get the second
  507. predefined location (geometry of 502x390+530+415) and the right mouse
  508. button gets you the third predefined location (geometry of 502x390+530+0).
  509. This are the same locations you get for existing windows by clicking
  510. on their names in the open window list.\footnote{
  511. Remember that these locations and the meaning of the various mouse
  512. button clicks can be changed by editing the startup file ptsetup.tcl.}
  513. X
  514. X
  515. X
  516. X\subsection{Message line}
  517. X
  518. The message line contains messages to you from Point and can also
  519. used to type in directory names and file patterns.
  520. X
  521. X
  522. X
  523. X\subsection{Typical usage of the file browser window}
  524. X
  525. The main use of a file browser is to select file names of files to open.
  526. Double clicking on a file name opens a window on that file.
  527. I use a multicolumn file name display to allow as many names as
  528. possible to be displayed at once.
  529. I like to get a sense of the whole directory.
  530. The {\tt twm} window manager has a vertical zoom function
  531. that is handy for quickly expanding and reducing
  532. the file browser window.
  533. X
  534. Typically I open most windows in the NW position ---
  535. my main position for windows.
  536. I usually zoom vertically the NW window I am currently looking at and unzoom
  537. it when I need to use the SW quadrant.
  538. Zooming and unzooming is easy with the {\tt twm} window manager
  539. or with the Point {\tt Zoom} command.
  540. I open a window in the NE quadrant when I want to use it
  541. together with the window in the NW quadrant.
  542. XFor example, if I am copying code from one window to another
  543. or if I am looking up a definition of a procedure or global
  544. data object.
  545. X
  546. A typical situation would be the case where I want to add a
  547. timeout to some part of the code (say to do auto-repeating).
  548. I get the window in which I want to put the timeout in the NW quadrant
  549. and in the NE quadrant I put up a window containing a file where
  550. I have already implemented a timeout facility.
  551. Rather than look up how to use the facility in the manual,
  552. I just copy the setup calls and the timeout callback procedures
  553. and modify them for the current situation.
  554. Then I might bring up the resource file in the NE quadrant
  555. and modify it by adding resources for the new widgets I am adding.
  556. X
  557. If I need to look at three files at the same time or if I need
  558. to quickly look at another file while already looking at two files,
  559. I use the SE quadrant location.
  560. X
  561. The ``New'' command can be used if you have the name of the
  562. desired file in a window somewhere, either in a Point text
  563. window or in an {\tt xterm} window or any window that sets the
  564. XX primary selection.
  565. A relative path name must be relative to the directory
  566. shown in the file browser window since that is Point's
  567. working directory.
  568. X
  569. The DIRS menu allows you to move around the file tree
  570. by jumps --- it contains the names of directories
  571. you use a lot.\footnote{
  572. Point caches directory listings so if you jump to a directory
  573. that you have seen before (and it hasn't changed since then)
  574. it should come up pretty fast.}
  575. You can also move up and down the directory tree
  576. by clicking on directory names (including {\tt ../}) in the file name listing.
  577. X
  578. X
  579. X
  580. X\section{Text Windows} \label{sect:text}
  581. X
  582. XEach open file is displayed in a text window.
  583. A file can be displayed in several windows at the same time.
  584. Point will keep the display in each window consistent
  585. with the other windows showing the same file.
  586. Text windows can be moved and resized with the window manager.
  587. X
  588. X\subsection{The Active Window}
  589. X
  590. One of the text windows on the screen will be the {\em active window}.
  591. This is the window that commands act on.
  592. The last window the mouse sprite entered is the active window.
  593. If you execute a command from the menu in a window then the commands
  594. will always affect that window
  595. X(because the mouse cursor must be in that window in order to
  596. access the menu).
  597. X
  598. X
  599. X\subsection{Text Window Menu Bar}
  600. X
  601. The menu bar contains both direct commands and pull-down menus.
  602. Here I will list the commands on the menu bar and briefly
  603. indicate their function.
  604. In this section I will describes the menu bar of the default
  605. Point configuration as specified in the file {\tt ptsetup.tcl}
  606. distributed with Point.
  607. All of these commands are described in more detail in a later section.
  608. The Point command names are in parentheses.
  609. X
  610. X\begin{description}
  611. X
  612. X\item[FILE] A menu of file and window related commands.
  613. X    \begin{description}
  614. X
  615. X    \item[Set text colors ...] (MakeColorBox)
  616. X    A dialogue box is opened which will allow you to
  617. X    change the foreground and background color of normal
  618. X    text and of selected text.
  619. X
  620. X    \item[Set text font $=>$] (pull right menu)
  621. X    A submenu of fonts to change the text font of this window
  622. X    (only).
  623. X
  624. X    \item[PREFS] (pull right menu)
  625. X    This pull right menu contains a number of cascaded submenus which are
  626. X    noted by a {\tt =>} at the end of the item name.
  627. X    When the mouse is moved to such an item the submenu appears beside
  628. X    the item.
  629. X    An item ending in ``{\tt ...}'' will bring up a dialogue box
  630. X    and is used for options that require you to type in a string.
  631. X    There are also check boxes for boolean options and radio buttons
  632. X    for ``one-of-several'' options.
  633. X    Most Point options can be changed (or examined) from this menu.
  634. X
  635. X    \item[Zoom vertical] (Zoom)
  636. X    The window is resized to be the full height
  637. X    of the screen (and the same width as it was before).
  638. X
  639. X    \item[Zoom full] (Zoom \{\}full)
  640. X    The window is resized to be the full size of the screen.
  641. X
  642. X    \item[Move window $=>$] (pull right menu)
  643. X    A submenu is displayed allowing you to move
  644. X    the window to one of the four quadrants of
  645. X    the screen.
  646. X    \begin{description}
  647. X
  648. X        \item[Move to NE] (MoveWindow 502x410+0+0)
  649. X
  650. X        \item[Move to NW] (MoveWindow 502x390+530+415)
  651. X
  652. X        \item[Move to SE] (MoveWindow 502x390+0+415)
  653. X
  654. X        \item[Move to SW] (MoveWindow 502x390+530+0)
  655. X
  656. X    \end{description}
  657. X
  658. X    \item[Save file] (SaveFile)
  659. X    The file in the active window is saved to disk.
  660. X
  661. X    \item[Save as ...] (SaveAs)
  662. X    A new name is requested (with a dialogue box)
  663. X    and the file is written to disk with that name.
  664. X
  665. X    \item[Open selection] (OpenWindow [selection get])
  666. X    The X selection is used as the name of a file 
  667. X    and a window is opened to display that file.
  668. X    A new window is created even if there is an existing
  669. X    window open on that file.
  670. X
  671. X    \item[Open ...] (Browser 490x415+656+0)
  672. X    A file browser is created with the specified geometry.
  673. X
  674. X    \item[Close $=>$] (pull right menu)
  675. X    The window is closed and the submenu selection determines
  676. X    whether the file in the window is automatically saved
  677. X    (if it has been changed), is not saved (even if it has
  678. X    been changed) or if the user is asked whether to save
  679. X    the file (if it has been changed).
  680. X    \begin{description}
  681. X
  682. X        \item[and save] (CloseWindow save)
  683. X
  684. X        \item[and ask] (CloseWindow ask)
  685. X
  686. X        \item[and discard edits] (CloseWindow nosave)
  687. X
  688. X    \end{description}
  689. X
  690. X    \item[About Point ...] (MakeAboutBox)
  691. X    Pop up a dialogue box giving information about
  692. X    the version of Point you are using.
  693. X
  694. X    \item[Quit Point $=>$] (pull right menu)
  695. X    Point is exited and the submenu selection determines
  696. X    whether the changed files are automatically saved
  697. X    (if they have been changed), not saved (even if they have
  698. X    been changed) or if the user is asked whether to save
  699. X    each file (if it has been changed).
  700. X    \begin{description}
  701. X
  702. X        \item[And save all] (QuitPoint save)
  703. X
  704. X        \item[And ask] (MakeQuitBox)
  705. X
  706. X        \item[And discard edits] (QuitPoint discard)
  707. X
  708. X    \end{description}
  709. X
  710. X    \end{description}
  711. X
  712. X\item[EDIT] A menu of editing related commands.
  713. X    \begin{description}
  714. X
  715. X    \item[Insert X selection] (InsertSelectedString)
  716. X    The X (primary) selection is inserted at the
  717. X    insertion point.
  718. X
  719. X    \item[Cancel copy mode] (CancelModes)
  720. X    Cancel copy (also called duplicate) mode.
  721. X
  722. X    \item[Indent selected lines] (IndentSelection)
  723. X        A macro that indents (by one tab) every line that
  724. X        is spanned by the selection.
  725. X
  726. X    \item[Outdent selected lines] (IndentSelection 1)
  727. X        A macro that removes the first character of
  728. X        every line that is spanned by the selection.
  729. X
  730. X    \item[Search and Replace ...] (MakeReplaceBox)
  731. X    The command pops up a dialogue box that allows you to search
  732. X    for a string and replace it with another strings.
  733. X    The search and replace operation can be interactive
  734. X    (asking you for verification of each replace) or batch.
  735. X
  736. X    \item[Regex Search and Replace ...] (MakeRegexReplaceBox)
  737. X    The command pops up a dialogue box that allows you to search
  738. X    for a string that matches a regular expression
  739. X    and replace it with another strings.
  740. X    The search and replace operation can be interactive
  741. X    (asking you for verification of each replace) or batch.
  742. X
  743. X    \item[Define Selected Macro] (DefineMacro)
  744. X        The selection will be used as the name of the
  745. X        macro that the {\tt execMacro} will run.
  746. X
  747. X    \item[Execute Macro] (ExecMacro)
  748. X        Execute the macro whose name was defined by the
  749. X        {\tt DefineMacro} command.
  750. X
  751. X    \item[Execute Selection as Tcl] (ExecSel)
  752. X        The selection is interpreted by Point's tcl
  753. X        interpreter.  This can be used to define
  754. X        (or redefine) a macro (if the selected text
  755. X        is a macro definition).
  756. X
  757. X    \item[Scrap $=>$] (pull right menu)
  758. X    A submenu allows you to either:
  759. X    \begin{description}
  760. X
  761. X        \item[Insert from] (InsertFromScrap) insert the contents
  762. X            of the scrap buffer at the insertion point
  763. X
  764. X        \item[Delete sel to] (DeleteToScrap) delete the selection
  765. X            to the scrap buffer
  766. X
  767. X        \item[Copy sel to] (CopySelToScrap) copy the selection to
  768. X            the scrap buffer
  769. X
  770. X        \item[Exchange sel with] (ExchangeScrap) exchange the
  771. X            contents of the scrap buffer with the selection
  772. X
  773. X    \end{description}
  774. X
  775. X    \item[Copy $=>$] (pull right menu)
  776. X    A submenu allows you to either:
  777. X    \begin{description}
  778. X
  779. X        \item[Note destination] (CopyToHereMode) remember the
  780. X            destination of the copy
  781. X
  782. X        \item[Sel to destination] (CopyToHereMode) copy the
  783. X            selection to the remembered destination
  784. X
  785. X        \item[Cancel copy mode] (CancelModes) cancel a pending copy
  786. X
  787. X    \end{description}
  788. X    The mouse sprite changes to a pointing hand when
  789. X    you select a destination and changes back to an arrow
  790. X    when you complete the move.
  791. X
  792. X    \item[Change Case $=>$] (pull right menu)
  793. X    A submenu allows you to either:
  794. X    \begin{description}
  795. X
  796. X        \item[To upper] (ChangeCaseOfSel toupper) change the case
  797. X            of the selection to upper case
  798. X
  799. X        \item[To lower] (ChangeCaseOfSel tolower) change the case
  800. X            of the selection to lower case
  801. X
  802. X        \item[Toggle case] (ChangeCaseOfSel toggle) to switch the
  803. X            case of the selection
  804. X
  805. X    \end{description}
  806. X    Only letters in the selection are affected.
  807. X    All other characters in the selection are unaffected.
  808. X
  809. X    \item[Undo/Again/Redo $=>$] (pull right menu)
  810. X    A submenu of commands for undoing, redoing and repeating commands:
  811. X    \begin{description}
  812. X        \item[Repeat last edit] (Again mostrecent)
  813. X        The last edit is repeated but using the current selection.
  814. X
  815. X        \item[Last edit (this file)] (Again thisfile)
  816. X        The last edit in this file is repeated
  817. X        but using the current selection.
  818. X
  819. X        \item[Undo one edit] (Undo 1)
  820. X        A previous edit is undone.
  821. X        The first undo undoes the most recent edit and subsequent
  822. X        undoes undo earlier edits.
  823. X
  824. X        \item[Redo one edit] (Redo 1)
  825. X        The most recently undone edit is redone.
  826. X
  827. X        \item[Begin block undo] (Undo begin)
  828. X        Mark the beginning of a sequence of edits that you want to
  829. X        be all undone (and redone) together.
  830. X
  831. X        \item[End block undo] (Undo end)
  832. X        Mark the end of a sequence of edits that you want to
  833. X        be all undone (and redone) together.
  834. X
  835. X        \item[Show command history] (ShowUndoStack)
  836. X        Pop up a dialogue box which shows the command history for
  837. X        the file in this window.
  838. X    \end{description}
  839. X
  840. X    \item[Redraw Window] (Redraw)
  841. X    Redraws the text in the window.
  842. X
  843. X    \end{description}
  844. X
  845. X\item[GOTO] A menu of commands that move the window around in the text.
  846. X
  847. X    \begin{description}
  848. X
  849. X    \item[Goto Selected Line \#] (GotoLine [selection get] lof)
  850. X        Go to the selected line number
  851. X
  852. X    \item[Goto Line \# ...] (MakeGotoBox) A dialogue box pops up
  853. X        to allow you to type in a line number
  854. X
  855. X    \item[Goto Selection] (ShowSelection) move to the last place
  856. X        you jumped from in this file
  857. X
  858. X    \item[Find Selected CTag] (CTag [selection get])
  859. X        Find the selected C tag
  860. X
  861. X    Point implements C tags (like vi and emacs).
  862. X    It uses the {\tt tags} file in the current directory
  863. X    (created with the Unix {\tt ctags} command).
  864. X    Point also will search certain files to determine which of them
  865. X    contain a keyword.
  866. X    The option {\tt keywordPattern} determines which files are searched.
  867. X
  868. X    \item[Find CTag ...] (MakeCtagBox) A dialogue box pops up
  869. X        to allow you to type in a C tag
  870. X
  871. X    \item[Find Selected Keyword] (GetSelectedKeyword)
  872. X        Find the selected keyword
  873. X
  874. X    \item[Find Keyword ...] (MakeKeywordBox)
  875. X        A dialogue box pops up to allow you to
  876. X        type in a keyword
  877. X
  878. X    \item[Find Matching bracket] (FindMatchingBracket)
  879. X        If the first character of the
  880. X        selection is a bracket then it will find the
  881. X        matching bracket (taking nesting into consideration).
  882. X        This works for: (, ), [, ], \{, and \}.
  883. X            
  884. X    \item[Search for string $=>$] (SearchForString)
  885. X    Forward is towards the end of the file and backward to towards
  886. X    the beginning of the file.
  887. X    A submenu allows you to either:
  888. X
  889. X    \begin{description}
  890. X
  891. X        \item[$>>$ for selected RE] (SearchForSel 1 forward)
  892. X            search forward for a string that matches the
  893. X            selected regular expression
  894. X
  895. X        \item[$<<$ for selected RE] (SearchForSel 1 backward)
  896. X            search backward for a string that matches the
  897. X            selected regular expression
  898. X
  899. X        \item[$>>$ for last RE] (RegexSearch \{\} forward)
  900. X            search forward for the a string that
  901. X            matches the last regular expression used
  902. X
  903. X        \item[$<<$ for last RE] (RegexSearch \{\} backward)
  904. X            search backward for the a string that
  905. X            matches the last regular expression used
  906. X
  907. X        \item[$>>$ for last string] (RepeatSearch forward)
  908. X            search forward for the last
  909. X            string that was searched for
  910. X
  911. X        \item[$<<$ for last string] (RepeatSearch forward)
  912. X            search backward for the last
  913. X            string that was searched for,
  914. X
  915. X        \item[$>>$ for selection] (SearchForSel 0 forward)
  916. X            search forward for the next
  917. X            instance of the selected string
  918. X
  919. X        \item[$<<$ for selection] (SearchForSel 0 backward)
  920. X            search backward for the next
  921. X            instance of the selected string
  922. X
  923. X        \item[For string ...] (MakeSearchBox normal)
  924. X            a dialogue box pops
  925. X            up which allows you to enter a string to search for.
  926. X            The dialogue box also allows you to change two
  927. X            search options: whether case is considered in
  928. X            the search and whether the string can be part
  929. X            of another string or must be a whole word.
  930. X            The dialogue box also allows you to search
  931. X            forward or backwards
  932. X
  933. X    \end{description}
  934. X
  935. X    \item[Move in file to $=>$] (pull right menu)
  936. X    A submenu allows you to either:
  937. X
  938. X    \begin{description}
  939. X
  940. X        \item[Beginning] move to the first line of the file
  941. X            (GotoLine 1 top)
  942. X
  943. X        \item[Last place] move to the last place you jumped
  944. X            from in this file (MoveToLastPlace)
  945. X
  946. X        \item[End] move to the last line of the file (MoveToEndFile)
  947. X
  948. X    \end{description}
  949. X
  950. X    In addition you can move the mouse sprite into the ``GOTO'' box and
  951. X    type a line number (ending it with any non-digit) and the
  952. X    window will go to that line number.
  953. X    This saves waiting for a dialogue box to pop up
  954. X    (as selecting ``Line \# ...'' would require) but you have no
  955. X    feedback as you type the digits.
  956. X
  957. X    \end{description}
  958. X
  959. X\item[$<<$] Searching backward.
  960. X
  961. X    \begin{description}
  962. X
  963. X    \item[Left button] (SearchForSel 0 backward)
  964. X        Search backward (towards the beginning of the file)
  965. X        for the next occurrence of the selected string.
  966. X
  967. X    \item[Middle button] (MakeSearchBox normal) Bring up a dialogue box
  968. X        asking for a string to search forward for.
  969. X
  970. X    \item[Right button] (RepeatSearch backward)
  971. X        Search backward (towards the beginning of the file)
  972. X        for the last string that was searched for.
  973. X
  974. X    \end{description}
  975. X
  976. X\item[$>>$]  Searching forward.
  977. X
  978. X    \begin{description}
  979. X
  980. X    \item[Left button] (SearchForSel 0 forward)
  981. X        Search forward (towards    the end of the file) for
  982. X        the next occurrence of the selected string.
  983. X
  984. X    \item[Middle button] (MakeSearchBox regex) Bring up a dialogue box
  985. X        asking for a string to search forward for.
  986. X
  987. X    \item[Right button]  (RepeatSearch forward)
  988. X        Search forward (towards the end of the file)
  989. X        for the last string that was searched for.
  990. X
  991. X    \end{description}
  992. X    
  993. In addition you can type an incremental search string into
  994. either ``$<<$'' or ``$>>$''.
  995. Move the mouse sprite inside either search button
  996. X(no button press is necessary),
  997. type a non-ASCII character to clear the search string
  998. X(a function key is usually a handy choice),
  999. then type in the letters of the string to search for.
  1000. The search is incremental in that after each character of the string
  1001. is typed, the string so far is searched for.
  1002. If you type a backspace the last character in the search string is
  1003. erased (although the search will {\em not} back up to where it was before
  1004. that character was typed).
  1005. X
  1006. X\item[Close] Closing the window.
  1007. X
  1008. X    \begin{description}
  1009. X
  1010. X    \item[Left button] (CloseWindow save)
  1011. X        Close the window and save the file (if ti has been changed).
  1012. X
  1013. X    \item[Middle button] (CloseWindow ask) Close the window and ask about
  1014. X        saving the file (if it has been changed).
  1015. X
  1016. X    \item[Right button] (CloseWindow nosave)
  1017. X        Close the window and do not save the file.
  1018. X
  1019. X    \end{description}
  1020. X
  1021. X\item[Sv] Saving the file in the window.
  1022. X
  1023. X    \begin{description}
  1024. X
  1025. X    \item[Left button] (SaveFile) Save the file in the window.
  1026. X
  1027. X    \item[Middle button] (SaveAs) Save the file in the window
  1028. X        with a new name.
  1029. X
  1030. X    \item[Right button] (Redraw) Redraw the window.
  1031. X        (This doesn't fit here but there was a free slot.)
  1032. X
  1033. X    \end{description}
  1034. X
  1035. X\item[Jump] moves the window around in the file it is showing.
  1036. X
  1037. X    \begin{description}
  1038. X
  1039. X    \item[Left button] (GotoLine 1 top) Jump to the beginning
  1040. X        of the file.
  1041. X
  1042. X    \item[Middle button] (MoveToLastPlace) Jump to the last place
  1043. X        in the file that you jumped from (for any reason).
  1044. X
  1045. X    \item[Right button] (MoveToEndFile) Jump to the end of the file.
  1046. X
  1047. X    \end{description}
  1048. X
  1049. X\item[Tag] finds tags and keywords in certain files.
  1050. X    This command is described more fully in the sections that follow.
  1051. X
  1052. X    \begin{description}
  1053. X
  1054. X    \item[Left button] (CTag [selection get]) Find the selected tag.
  1055. X
  1056. X    \item[Middle button] (MakeCtagBox) A dialogue box pops up to allow
  1057. X        you to type in the C tag.
  1058. X
  1059. X    \item[Right button] (MakeKeywordBox)
  1060. X        Search all the {\tt *.c} and {\tt *.h} files
  1061. X        in the current directory (this can also be changed)
  1062. X        for the keyword.
  1063. X        A dialogue box is put up with a scrolling list of all
  1064. X        the files found to contain the keyword at least once.
  1065. X        You can click on the file names in this scrolling
  1066. X        list to open a window on that file or to top the window
  1067. X        continuing that file if one is already open.
  1068. X        when you click on the file name in the scrolling list
  1069. X        an asterisk will be prepended to the name so you can
  1070. X        keep track of which ones you have already looked at.
  1071. X
  1072. X    \end{description}
  1073. X
  1074. X%\item[insDel] Inserts and deletes.
  1075. X%    \begin{description}
  1076. X%    \item[Left button] (InsertFromScrap) Inserts the scrap buffer
  1077. X%        into the text.
  1078. X%    \item[Middle button] (InsertXSel) Inserts the X selection
  1079. X%        into the text.
  1080. X%    \item[Right button] (DeleteToScrap) Deletes the selection to
  1081. X%        the scrap buffer.
  1082. X%    \end{description}
  1083. X
  1084. X\item[+Do-] Again and undo.
  1085. X
  1086. X    \begin{description}
  1087. X
  1088. X    \item[Left button] (Redo 1) Redoes the last edit that was
  1089. X        undone with ``Undo'' and has not yet been redone.
  1090. X
  1091. X    \item[Middle button] (Again mostrecent) Repeats the last edit using
  1092. X        the current selection.
  1093. X
  1094. X    \item[Right button] (Undo 1) Undoes the most recent edit.
  1095. X        Repeated invocations will undo earlier and earlier
  1096. X        edits.
  1097. X
  1098. X    \end{description}
  1099. X
  1100. X\item[Zz] Affects the case of all the letters in the selection.
  1101. X
  1102. X    \begin{description}
  1103. X
  1104. X    \item[Left button] (ChangeCaseOfSel toupper) Changes them to all
  1105. X        upper case.
  1106. X
  1107. X    \item[Middle button] (ChangeCaseOfSel toggle) Switches the case
  1108. X        of each letter in the selection.
  1109. X
  1110. X    \item[Right button] (ChangeCaseOfSel tolower) Changes them to all
  1111. X        lower case.
  1112. X
  1113. X    \end{description}
  1114. X
  1115. X\item[MoveW] Moving windows to predefined locations.
  1116. X
  1117. X    \begin{description}
  1118. X
  1119. X    \item[Left button] (MoveWindow 502x410+0+0)
  1120. X        Top the window and move it to the specified geometry.
  1121. X
  1122. X    \item[Middle button] (MoveWindow 502x390+530+0)
  1123. X        Top the window and move it to the specified geometry.
  1124. X
  1125. X    \item[Right button] (MoveWindow 502x390+530+415)
  1126. X        Top the window and move it to the specified geometry.
  1127. X
  1128. X    \end{description}
  1129. X
  1130. X\item[Line\#] jumps the window to a line number.
  1131. X
  1132. X    \begin{description}
  1133. X
  1134. X    \item[Left button] (GotoLine [selection get] lof)
  1135. X        Jump to the line number indicated by the selection.
  1136. X        Either the X selection or
  1137. X        the Point selection, whichever was made more recently.
  1138. X
  1139. X    \item[Middle button] (MakeGotoBox) Bring up a dialogue box
  1140. X        to ask for a line number to go to.
  1141. X
  1142. X    \item[Right button] (Zoom) Zooms (or unzooms) the
  1143. X        window to the full height of the screen.
  1144. X
  1145. X    \end{description}
  1146. X
  1147. X    In addition you can move the mouse sprite into the ``Line\#'' box and
  1148. X    type a line number
  1149. X    (ending it with any non-digit---a function key is typically used
  1150. X    although {\tt vi} users might want to use {\tt G})
  1151. X    and the window will go to that line number.
  1152. X    This saves waiting for a dialogue box to pop up but you have no
  1153. X    feedback as you type the digits.
  1154. X
  1155. X\item[HELP] (HelpMenu) A menu of help topics.
  1156. X    When you select one of them, a text window is opened on a file
  1157. X    of help text about that topic.
  1158. X
  1159. X\end{description}
  1160. X
  1161. X
  1162. X
  1163. X\subsection{Text Pane}
  1164. X
  1165. This shows a part of the file being edited.
  1166. Usually some text will be {\it selected}.
  1167. Selected text is shown in the selected text colors or is underlined.\footnote{
  1168. Underlining looks nicer and is less obtrusive
  1169. than reverse video on some monochrome displays.}
  1170. Many commands operate on the selected text.
  1171. The position just in front of the first selected
  1172. character is called the {\it insertion point}.
  1173. X
  1174. X\subsubsection{Typing in text}
  1175. X
  1176. New text is entered by typing.
  1177. Text is inserted at the insertion point (in front of the selection).
  1178. The backspace or delete keys both erase the previous character.
  1179. Shift-backspace and shift-delete erase the previous word.\footnote{
  1180. The backspace, delete, shift-backspace and shift-delete keys
  1181. work any time, not just during text insertion.}
  1182. X
  1183. X\subsubsection{Selecting text}
  1184. X
  1185. The selection is the focus of almost all editing and many other commands
  1186. in Point.
  1187. The selection always contains at least one character.
  1188. X
  1189. There are two methods of selected text.
  1190. To select text by drawing through it:
  1191. X\begin{enumerate}
  1192. X\item move the mouse sprite to the beginning of the intended selection,
  1193. X\item press the left mouse button,
  1194. X\item move the mouse sprite to the end of the intended selection,
  1195. X\item release the left mouse button.
  1196. X\end{enumerate}
  1197. X
  1198. To select text by clicking on the two end points of the selection,
  1199. that is, by extending the selection:
  1200. X\begin{enumerate}
  1201. X\item move the mouse sprite to the beginning of the intended selection,
  1202. X\item click (press and release) the {\em left} mouse button,
  1203. X\item move the mouse sprite to the end of the intended selection,
  1204. X\item click the {\em right} mouse button.
  1205. X\end{enumerate}
  1206. X
  1207. Normally text is selected by character (this is called
  1208. X{\em character mode}) but
  1209. if you double click the left mouse button
  1210. you change to {\em word mode}, which
  1211. means that the selection will be extended (or contracted) by full words.
  1212. A word is either a single punctuation character or a contiguous
  1213. string of letters, digits and underscores ({\tt \_}).
  1214. If you triple click the mouse button you change to {\em line mode}
  1215. and the selection is extended (or contracted) in units of whole lines.
  1216. To use the draw through method of selection for word and line mode,
  1217. you hold down the middle mouse button on the last of the multiple
  1218. clicks (the second click for word mode and the third click for line mode)
  1219. and drag the mouse over the words or lines you wish to select.
  1220. If you select in word (line) mode then the selection will extend
  1221. by words (lines) also.
  1222. X
  1223. Triple clicking on a line not only selected the line but it also
  1224. causes the line number of be displayed in the message line.
  1225. This is and easy way to determine the line number of a line.\footnote{
  1226. Another way it to turn on line numbering.}
  1227. X
  1228. X
  1229. X
  1230. X\subsubsection{Scrolling}
  1231. X
  1232. Point implements two distinct kinds of scrolling.
  1233. The first kind will be called ``line to top'' scrolling
  1234. which is the default.
  1235. It works as follows.
  1236. X
  1237. The scroll bar on the left indicates where you are in the file
  1238. and how much of the file is showing in the window.
  1239. Clicking the right mouse button on the scroll bar scrolls down
  1240. X(towards the end of the file) by a certain number of lines.
  1241. This command scrolls the line the mouse sprite is at to the top
  1242. of the window.
  1243. Clicking the left mouse button scrolls up so that the top line of the
  1244. window moves to the line the mouse sprite is on.
  1245. X
  1246. Setting the {\tt button1ScrollsDown} option to {\tt False} will reverse
  1247. the meaning of the left and right buttons.
  1248. X
  1249. If you hold down either the left or right mouse buttons,
  1250. the scrolling will continue (in units determined by where
  1251. the mouse sprite is) as long as you hold down the button.
  1252. X
  1253. Clicking the middle mouse button on the scroll bar jumps the
  1254. window to that part of the file, that is, the scrollbar slider will
  1255. move to where the mouse sprite is.
  1256. If you press and hold down the middle mouse button you can
  1257. drag the text up and down by moving the mouse.
  1258. The display will follow your movements until
  1259. you release the middle mouse button.
  1260. X
  1261. The arrow buttons on the top and bottom of the scroll bar are not
  1262. used in ``line to top'' scrolling and the slider is for your information
  1263. only, it does not affect scrolling in any way.
  1264. X
  1265. The second kind of scrolling will be called ``Macintosh'' scrolling
  1266. and it is the usual default for Tk toolkit scrollbars.
  1267. It used only the left mouse button
  1268. X(although the other buttons also work and do the same thing
  1269. as the left mouse button).
  1270. X
  1271. The arrow buttons on the top and bottom of the scrollbar scroll
  1272. the text by one line up or down when clicked on.
  1273. If you press and hold down the left mouse button on an arrow button
  1274. the scrolling will autorepeat at regular intervals after a short
  1275. initial delay.
  1276. X
  1277. If you click below the slider the text will scroll down
  1278. X(towards the end of the file) by one screenfull).
  1279. Similarly a click above the scrollbar scrolls up one screenfull.
  1280. Both of these will autorepeat as well.
  1281. X
  1282. If you press the left mouse button on the slider and move the mouse,
  1283. the display and the slider will scroll with the mouse
  1284. until you release the mouse button.
  1285. X
  1286. The default is ``line to top'' scrolling.
  1287. If you want ``Macintosh'' scrolling you must set the Point option
  1288. X{\tt tkScrolling} to ``true''.
  1289. X
  1290. Point does not wrap long lines.\footnote{
  1291. X    I plan to add it as an option in the near future.}
  1292. Instead you can scroll horizontally using the scroll bar on the bottom
  1293. of the text window.
  1294. X
  1295. X
  1296. X\subsubsection{Mouse menu commands}
  1297. X
  1298. The middle and right mouse buttons can be used to execute commands.
  1299. There are five commands associated with each of these two buttons:
  1300. no motion, north (up), east (right), south (down) and west (left).
  1301. To execute one of these five commands, you press the mouse button,
  1302. move the mouse in one of these four directions
  1303. X(or do not move for the no-motion command).
  1304. A menu pops up after a short delay (0.6 seconds)
  1305. but you do not need to wait for the menu to pop up in order
  1306. to execute a command.
  1307. The menu comes up as a reminder if you hesitate.
  1308. If you set the {\tt mouseSpriteMenu} option to true,
  1309. then the mouse sprite is used to display the menu items.
  1310. X
  1311. If you want to cancel in the middle of a mouse menu command,
  1312. click the left mouse button.
  1313. X
  1314. The commands on the {\bf MIDDLE MOUSE BUTTON} are:
  1315. X\begin{description}
  1316. X\item[No motion---Dup] (CopyToHereMode) this command is executed in pairs.
  1317. X    The first time you execute this command the insertion point is
  1318. X    recorded by Point.
  1319. X    Then you can select some text in this window or in another window.
  1320. X    The second time this command is executed, the selected text
  1321. X    is inserted at the insertion point recorded by the first time
  1322. X    and the new insertion point is at the end of the newly copied text.
  1323. X\item[North---Del] (DeleteToScrap) the selected text is deleted.
  1324. X\item[South---Ins] (InsertFromScrap) the text in the scrap buffer (usually
  1325. X    the last text deleted) is inserted at the insertion point.
  1326. X\item[East---Copy] (CopySelToMouse) the selected text is inserted at the
  1327. X    point where the mouse sprite was when you began the mouse menu command.
  1328. X    The insertion is by characters, words or lines depending on how
  1329. X    the text was selected.
  1330. X\item[West---Move] (MoveSelToMouse) the selected text is inserted at the
  1331. X    point where the mouse sprite was when you began the mouse menu
  1332. X    command and deleted from where it was.
  1333. X    The insertion is by characters, words or lines depending on how
  1334. X    the text was selected.
  1335. X\end{description}
  1336. X
  1337. The commands on the {\bf RIGHT MOUSE BUTTON} are:
  1338. X\begin{description}
  1339. X\item[No motion---Ext] (ExtendSelection)
  1340. X    The selection is extended to this point.
  1341. X\item[North---$<<$] (Search [selection get] backward)
  1342. X    The selected text is searched for towards the beginning of the file.
  1343. X\item[South---$>>$] (Search [selection get] forward)
  1344. X    The selected text is searched for towards the end of the file.
  1345. X\item[East---Undo] (Undo 1) The last edit is undone.
  1346. X\item[West---Again] (Again mostrecent)
  1347. X    The last edit is repeated using the current selection.
  1348. X\end{description}
  1349. X
  1350. X
  1351. X
  1352. X\section{Keystrokes} \label{sect:keys}
  1353. X
  1354. Keystrokes meanings are defined in the startup file {\tt ptsetup.tcl}.
  1355. Here is a table of the key binding the distributed {\tt ptsetup.tcl} file.
  1356. X
  1357. X\begin{tabular}{llllll}
  1358. XF1 & delete selection to scrap & F6 & redo last undone edit \\
  1359. XF2 & insert scrap buffer & F7 & scroll down \\
  1360. XF3 & repeat last search backwards & F8 & scroll up \\
  1361. XF4 & repeat last search forwards & F9 & undo last edit \\
  1362. XF5 & repeat last edit  \\
  1363. X\end{tabular}
  1364. X
  1365. Also the cursor keys (usually shown as up, down, left and right
  1366. pointing arrows) move the selection on character in the indicated
  1367. direction.
  1368. If the left or right arrows are shifted or controlled they
  1369. will move one word in the indicated direction
  1370. X(instead of only one character).
  1371. The Home and End keys (if any) move the selection to the beginning and end
  1372. of the line respectively.
  1373. XFinally the PageUp and PageDown keys (if any) scroll the window.
  1374. X
  1375. X
  1376. X
  1377. X\subsection{Hints for using function keys}
  1378. X
  1379. I have found that, in practice, I only use a few function keys
  1380. in normal editing.
  1381. Because the function keys are not labeled it is hard to remember
  1382. what commands they invoke.
  1383. XFor this reason it does not seem to be useful to put commands you
  1384. do not use quite often on function keys.
  1385. Labeling the function keys on your keyboard can help but I find
  1386. that I use very few function keys even though I define them all.
  1387. X
  1388. My editing style is to do certain commands exclusively from function keys.
  1389. The function keys I use regularly are: delete (F1), insert (F2),
  1390. repeat search forward (F4) and again (F5).
  1391. I use them together with mouse commands to get a higher command bandwidth.
  1392. XFor example, in making a number of identical changes I select the
  1393. text to change with the mouse and use F5 (again) to make the changes.
  1394. I sometimes use F4 (repeat last search) to select the text to change.
  1395. Then I can get into a rhythm and make the changes quickly.
  1396. X
  1397. I am sure you will develop a style of function key use that
  1398. fits your editing style.
  1399. The idea is to get the maximum command bandwidth and that is done by
  1400. executing some commands with keys and some with the mouse.
  1401. The right mix is a matter of personal preference.
  1402. X
  1403. X
  1404. X
  1405. X\section{Useful Concepts} \label{sect:concepts}
  1406. X
  1407. In this section we will discuss a variety of things that are
  1408. useful in understanding how Point works.
  1409. X
  1410. X
  1411. X\subsection{ Managing the Selection }
  1412. X
  1413. Point does not follow the usual X conventions with respect to its selection.
  1414. When you select something in Point it also becomes the X (primary)
  1415. selection.
  1416. This means that you can copy Point's selection into {\tt xterm} windows
  1417. by clicking the middle mouse button.
  1418. Point notes when it loses the X selection but it {\it does not}
  1419. deselect the Point selection.
  1420. It remains the Point selection and it remains highlighted.
  1421. This is where it differs from the usual X conventions.
  1422. If you make a Point selection and then another X selection
  1423. X(say in an {\tt xterm} window) then both will be highlighted.\footnote{
  1424. I may make this behavior an option in a later version.}
  1425. X
  1426. There is a special command to insert the X selection into the
  1427. text (at the insertion point in front of the selection, as always).
  1428. This could be the Point selection but is more likely to some text
  1429. you selected from another window.
  1430. If Point had deselected its selection you would not be able to see
  1431. where the X selection will be copied.
  1432. X
  1433. All the Point commands that use the selection as an argument
  1434. X(search for selection, goto selected line number,
  1435. find selected ctag, find selected keyword, open selected file name,
  1436. delete selected file name and CD to selection)
  1437. use the X selection, not necessarily the Point selection
  1438. X(although usually the Point selection will also be
  1439. the X selection).
  1440. X
  1441. The file browser file name list makes the file name you select
  1442. the X selection.
  1443. X
  1444. A hint about the selection:
  1445. setting the selection also sets the insertion point.
  1446. Use double and triple clicking to get the insertion point
  1447. at the beginning of a word or line.
  1448. This is usually faster than trying to click on the first
  1449. character of the word or line
  1450. because word or line is a much bigger target than a single character.
  1451. X
  1452. X
  1453. X
  1454. X\subsection{ Typing in characters }
  1455. X
  1456. Normally typed characters are inserted in front of the selection
  1457. X(at the {\it insertion point}).
  1458. If the {\it overType} option is True then typed characters replace
  1459. characters of the text.
  1460. X
  1461. If the {\it insertReplaces} option is True and the selection contains
  1462. more than one character,
  1463. then the selection is deleted before the character is inserted.
  1464. This provides behavior that is similar to the way most Macintosh
  1465. text editors work.
  1466. Both replace styles are useful and the convenience of each
  1467. depends on what you are used to.
  1468. With {\it insertReplaces} False you can select the insert point
  1469. quickly with double and triple clicks but you have to hit the
  1470. delete key (F1) before typing in replacement text.
  1471. With {\it insertReplaces} True you can replace text easily without
  1472. using the delete key but you have to be careful to set the
  1473. insertion point to be a single character.
  1474. X
  1475. X
  1476. X
  1477. X
  1478. X\subsection{ Moving and Copying }
  1479. X
  1480. Moving and copying is very common in editing code.
  1481. Whenever I have to write new code I try to find some similar code,
  1482. copy it over and modify it rather than starting from scratch.
  1483. There are two kinds of copy and Point implements both kinds.
  1484. The first I will call ``copy-to-from'' and it is implemented
  1485. by the Point command {\tt CopyToHereMode}.
  1486. It is where you first specify
  1487. the destination of the copy and then the source.
  1488. This copy is in the ``Copy $=>$'' submenu of the Edit Menu.
  1489. It is also attached to the no-motion command of the middle
  1490. mouse button.
  1491. X
  1492. A typical use is to duplicate one or more lines.
  1493. XFirst select the line(s).
  1494. END_OF_FILE
  1495. if test 51929 -ne `wc -c <'doc/userman.1'`; then
  1496.     echo shar: \"'doc/userman.1'\" unpacked with wrong size!
  1497. fi
  1498. # end of 'doc/userman.1'
  1499. fi
  1500. echo shar: End of archive 13 \(of 15\).
  1501. cp /dev/null ark13isdone
  1502. MISSING=""
  1503. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ; do
  1504.     if test ! -f ark${I}isdone ; then
  1505.     MISSING="${MISSING} ${I}"
  1506.     fi
  1507. done
  1508. if test "${MISSING}" = "" ; then
  1509.     echo You have unpacked all 15 archives.
  1510.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1511. else
  1512.     echo You still need to unpack the following archives:
  1513.     echo "        " ${MISSING}
  1514. fi
  1515. ##  End of shell archive.
  1516. exit 0
  1517. -- 
  1518. --
  1519. Molecular Simulations, Inc.            mail: dcmartin@msi.com
  1520. 796 N. Pastoria Avenue                uucp: uunet!dcmartin
  1521. Sunnyvale, California 94086            at&t: 408/522-9236
  1522.