home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 124 / af124a.adf / af124a.lzx / MFR / Manual < prev    next >
Text File  |  1999-03-29  |  40KB  |  1,175 lines

  1. ========================================================================
  2. MagicFileRequester V2.0e Documentation                       09-Aug-1992
  3. ========================================================================
  4.  
  5.                   (C) Copyright 1992 by Stefan Stuntz
  6.  
  7.  
  8.   For informations about license and warranty see the file 'License'.
  9.  
  10.  
  11.  
  12.  
  13. ========================================================================
  14.                                 Roadmap
  15. ========================================================================
  16.  
  17.  
  18.                         1.     Introduction
  19.                         1.1.   Motivation
  20.                         1.2.   Features
  21.                         1.3.   Basics
  22.                         1.4.   System Requirements
  23.  
  24.                         2.     Installation
  25.                         2.1.   From Workbench
  26.                         2.2.   From CLI
  27.                         2.3.   Removing MFR
  28.  
  29.                         3.     Using MFR
  30.                         3.1.   Window Arrangement
  31.                         3.2.   Mouse Usage
  32.                         3.3.   Keyboard Usage
  33.  
  34.                         3.4.   Menus
  35.                         3.4.1. Project Menu
  36.                         3.4.2. Edit Menu
  37.                         3.4.3. DOS Menu
  38.                         3.4.4. Settings Menu
  39.  
  40.                         4.     Specials
  41.                         4.1.   Tooltypes
  42.                         4.2.   CLI Interface
  43.  
  44.                         5.     Goodies
  45.                         5.1.   UnArp
  46.                         5.2.   TagScreens
  47.                         5.3.   Find
  48.                         5.4.   TaskList
  49.  
  50.                         6.     Discussion
  51.                         6.1.   Known Bugs
  52.                         6.2.   Compatibilty
  53.                         6.3.   Future Features
  54.                         6.4.   Acknowledgements
  55.                         6.5.   How to reach the author
  56.  
  57.  
  58.  
  59.  
  60. ========================================================================
  61.                             1. Introduction
  62. ========================================================================
  63.  
  64.  
  65. 1.1. Motivation
  66. ---------------
  67.  
  68. A  file  requester  is  probably  the most used program inside an Amiga.
  69. Unfortunately,  all  currently  available requesters lack some important
  70. features, such as
  71.  
  72. - Keyboard support.
  73.   Since  I  operate my computer mainly from an arm-chair with the keyboard
  74.   on my knees, my mouse is far away.  I really need keyboard support.
  75.  
  76. - Font support.
  77.   I  don't  see  a  reason  to force the user to a non proportional system
  78.   default font or - even worse - to topaz/8 in a file requester.
  79.  
  80. - Resolution support.
  81.   The  Amiga  has  many  different resolutions with different pixel aspect
  82.   ratios.   What  do  I  want  with  a courier/13 font on a low resolution
  83.   320x200 screen?
  84.  
  85. - Speed.
  86.   This one's very important. Just look at 2.0 ASL and you know what I mean
  87.  
  88. These were the main reasons for me to write my own file requester.
  89. MFR is the result and I hope, you will like it as much as I do.
  90.  
  91.  
  92.  
  93. 1.2. Features
  94. -------------
  95.  
  96. - MFR  is  completely controllable via keyboard, so you will never have to
  97.   touch  your mouse when selecting files (of course you can, if you really
  98.   want to).
  99.  
  100. - MFR will use any font you want in its display.  Proportional  fonts like
  101.   helvetica look really marvellous.
  102.  
  103. - MFR  has  the  ability to quickly search your hard disk for any file, so
  104.   you needn't remember each file's directory.
  105.  
  106. - MFR offers a powerful directory caching mechanism.
  107.  
  108. - MFR can display pictures, play sounds, view archives, etc.  with the aid
  109.   of some external programs.
  110.  
  111. - MFR has a history list.
  112.  
  113. - MFR looks very nice, especially on high resolution screens.
  114.  
  115. - MFR has a sizing gadget.
  116.  
  117. - MFR takes advantage of new Kick 2.0 features like file notification.
  118.  
  119. - MFR can be customized through a wide range of tooltypes and menu items.
  120.  
  121. - MFR is fast.
  122.  
  123. - MFR is simply magic :-)
  124.  
  125.  
  126.  
  127. 1.3. Basics
  128. -----------
  129.  
  130. MFR  is  not  distributed like other file requesters.  You do not get an
  131. additional  library  for  your  LIBS:   drawer  and you may not call MFR
  132. directly  from  within  your  own applications.  All you get is a single
  133. program  that  replaces  some  library vectors at installation time.  So
  134. every  program  that  uses one of the supported file requesters will use
  135. MFR instead.
  136.  
  137. MFR  is especially designed for the new Kick 2.0 colors and resolutions.
  138. It will look best on a high resolution display with a pixel aspect ratio
  139. of  nearly  1:1  (e.g.  Hires + Interlace).  Although MFR can be used on
  140. low resolution screens too, the 'feeling' won't be there.
  141.  
  142. MFR  is a commodity.  You can control it like other commodities with the
  143. Exchange program from your Workbench Disk.
  144.  
  145.  
  146.  
  147. 1.4. System Requirements
  148. ------------------------
  149.  
  150. As  you  probably  noticed,  MFR  requires at least Kickstart 2.04 (also
  151. known  as V37.175) to work properly.  If you are still using Version 1.3
  152. of the operating system, it's time to update now.  You won't regret it.
  153.  
  154. Particularly, the following libraries are needed:
  155.  
  156. Library          Min.Version  Place
  157.  
  158. intuition.library    37       ROM
  159. graphics.library     37       ROM
  160. gadtools.library     37       ROM
  161. utility.library      37       ROM
  162. workbench.library    37       ROM
  163. icon.library         37       Libs:
  164. commodities.library  37       Libs:
  165. asl.library          37       Libs:
  166. iffparse.library     37       Libs:
  167. diskfont.library     36       Libs:
  168. req.library           1       Libs:
  169.  
  170. All  these  libraries  are  part  of  the  OS  2.04 distribution, except
  171. req.library, which can be found in the distribution archive of MFR.
  172.  
  173.  
  174.  
  175.  
  176. ========================================================================
  177.                             2. Installation
  178. ========================================================================
  179.  
  180.  
  181. 2.1. From Workbench
  182. -------------------
  183.  
  184. Couldn't be easier.  A simple double klick on MFR's icon will install it
  185. in  memory.   From  now  on,  every  ASL  and REQ file requester will be
  186. replaced  with  a  MFR.   Of course you can (and I really hope you will)
  187. move  MFR  into  "SYS:WBStartup/", so it will be launched every time you
  188. boot.
  189.  
  190.  
  191.  
  192. 2.2. From CLI
  193. -------------
  194.  
  195. Since  there  seem  to  be  quite  many people out there, who do not use
  196. workbench,  MFR can also be started from a CLI environment.  The command
  197.  
  198. mfr install
  199.  
  200. will  do  this  job.   MFR automatically detaches so there is no need to
  201. 'run' it.
  202.  
  203.  
  204.  
  205. 2.3. Removing MFR
  206. -----------------
  207.  
  208. If  you  really  want to remove MFR from your system, you can do this by
  209. double  clicking  its icon a second time,  by calling "mfr install" from
  210. CLI  again  or  with the Commodities Exchange program.  A requester will
  211. pop up informing you that MFR has been removed.
  212.  
  213. MFR will refuse to quit when there are some other programs still hanging
  214. around  with open or just with allocated file requesters.  In this case,
  215. MFR  will  inform you how many times it's locked.  You will have to exit
  216. all these locking programs, before you can remove MFR from your system.
  217.  
  218.  
  219.  
  220.  
  221. ========================================================================
  222.                               3. Using MFR
  223. ========================================================================
  224.  
  225.  
  226. 3.1. Window Arrangement
  227. -----------------------
  228.  
  229. After  installing  MFR,  you  should try pressing <Control><LeftAlt><M>.
  230. This  key  combination  (of course adjustable) will pop up a MFR to play
  231. with, so let's start playing...
  232.  
  233. MFR  offers  a window with a big list view for the directory on the left
  234. side  and  a  smaller one for devices and volumes on the right side.  At
  235. the  bottom,  you  will  find  the  drawer and file gadgets as well as a
  236. pattern gadget.  'Okay' and 'Cancel' buttons are located where you would
  237. expect  them.  You should be familiar with this outfit since it's almost
  238. like the req.library requester.
  239.  
  240. Some  words  about  the  directory  list  now.  On a standard workbench,
  241. directories  will  appear white and files will appear black.  Right of a
  242. file  entry,  MFR  shows its size, creation date and time and the file's
  243. flags.   The  amount  of  information shown depends on the size of MFR's
  244. window  and  on the width of the font.  Try sizing the window to see how
  245. it works.
  246.  
  247. The  device  list  contains an alphabetically sorted list of all devices
  248. (df0:,  df1:,  dh0:, ram:, ...), all volumes (Work:, Ram Disk:, ...) and
  249. all  assigned  directories available in your system.  Usually, you won't
  250. need  all  of  these  entries  while  working  with MFR, so MFR offers a
  251. possibility  to  prevent  certain entries from being displayed.  More on
  252. that later.
  253.  
  254. The  widths  of  directory  and  device list are adjustable.  Just click
  255. between  both  lists  (right  of  the directory scroll bar) and drag the
  256. appearing  bar  around.   If  you  size the device list big enough, some
  257. device information will appear.
  258.  
  259. MFR  allows customizing its complete outfit (Fonts, Scrollbars, Gadgets,
  260. Background,  etc.)  according  to your personal taste.  Refer to section
  261. 3.4.4.  for details.
  262.  
  263.  
  264.  
  265. 3.2. Mouse Usage
  266. ----------------
  267.  
  268. Using  MFR  with a mouse is not too much different from using other file
  269. requesters.   To  select  a  file, just click on it and press the 'Okay'
  270. gadget or just double click the file.  To avoid overwriting of important
  271. files, the double click feature is disabled in save mode.
  272.  
  273. Entering  a  directory  (or  a  device,  volume) is done by clicking and
  274. releasing  the  left  mouse  button  on  the  appropriate entry.  If you
  275. release the button somewhere else, nothing will happen.
  276.  
  277. The 'Parent' gadget (labeled '/') is located right of the drawer gadget.
  278. Since  this  place  is  sometimes  far away from the directory list, MFR
  279. offers another parent gadget.  It's located (invisible) between the left
  280. window  border  and the left side of the directory list and acts exactly
  281. like  the  '/'  gadget.   For  users  with a three button mouse, the mid
  282. button can also be used to access the parent directory.
  283.  
  284. When the application allows selection of multiple files, you can do this
  285. by  holding  down  the  <shift> key and clicking on the desired entries.
  286. You  can  also  hold  down  <shift> and move the mouse (with left button
  287. pressed)  around.   Note  that  you will have to hold shift even for the
  288. first  entry  you  select.  This is different from other file requesters
  289. behaviour  and  from workbench multi select, but it seems to be the only
  290. reasonable way for MFR.
  291.  
  292. Maybe you already noticed the '!' gadget near the file gadget.  This one
  293. will  cause  MFR to perform a so called file action on the current file.
  294. Refer to section 3.4.3.  for details.
  295.  
  296.  
  297.  
  298. 3.3. Keyboard Usage
  299. -------------------
  300.  
  301. Using MFR with the keyboard needs a little more explanation.  First some
  302. general things.
  303.  
  304. The  file gadget of MFR is connected with the directory list, the drawer
  305. gadget  is  connected  with  the  device  list.  So if you have e.g.  an
  306. active file gadget, you will also notice a cursor in the directory list.
  307. Try this by pressing <TAB> or <Shift><TAB> to cycle through the gadgets.
  308.  
  309. Tab  cycling is a little bit different from standard kick 2.x behaviour.
  310. Pressing  <TAB>  will  always  toggle  between  drawer  and file gadget,
  311. <Shift><TAB> will activate the pattern gadget (if visible).
  312.  
  313. The  list cursor always moves according to your actions in the connected
  314. string  gadget.   You should now try moving up and down in the directory
  315. list  with  the  cursor keys (and maybe with some qualifiers).  MFR will
  316. always  update the file gadget with the name of the entry under the list
  317. cursor.  So if you want to select a file, just move the cursor on top of
  318. it and press <Return>.  When the list cursor is placed over a directory,
  319. MFR  will  append a '/' to the directory's name before updating the file
  320. gadget.   Thus, pressing <Return> over a directory will simply enter it.
  321. The   shortcut  <Amiga><P>  is  used  to  change  to  parent  directory.
  322. Alternatively,  you  can use <Alt><Right> and <Alt><Left> to enter/leave
  323. directories.
  324.  
  325. The  same  procedure  applies  to  the device list.  Activate the drawer
  326. gadget,  select a device by moving the cursor and press <Return>.  Easy,
  327. isn't it?
  328.  
  329. Now  things get a little bit complicated, but more interesting.  Imagine
  330. you  have  a  directory  with  lots of files (e.g.  a directory with IFF
  331. graphics)  and  you  want  to load the file 'Stefan_With_Amiga.pic'.  Of
  332. course  you  could try to reach the file with your cursor keys, but this
  333. may  take  a while.  Just try typing a 'S' into the (empty) file gadget.
  334. You  will  notice  the  list  cursor  magically moving on the first file
  335. starting    with    the    letter    'S'.     This    could   e.g.    be
  336. 'Sabine_Without_Clothes.pic'.   Now  type a 't' and MFR will move to the
  337. first  entry  with  'St'  at  the  beginning, e.g.  'Stars&Stripes.pic'.
  338. After   typing   an   'e',   you   will   find  yourself  directly  over
  339. 'Stefan_With_Amiga.pic'.  Thus, you only needed three keystrokes instead
  340. of many cursor downs or mouse moving.  Due to MFR's auto completion, you
  341. will only have to press <Return> now to select this file.
  342.  
  343. Remember,  although  your  string  gadget  only contains 'Ste', MFR will
  344. return the full name 'Stefan_With_Amiga.pic' to the application.  If you
  345. don't like this auto complete feature, you can of course switch it off.
  346.  
  347. Now, type some filename into the file gadget that does not exist in your
  348. current  directory  (e.g.   'grmblwuz'),  or just clear the gadget.  You
  349. will  notice  the  list cursor changing from a bar to a rectangle.  This
  350. indicates, that no auto complete will take place when you type <Return>,
  351. the file will be returned without any changes.
  352.  
  353. Multi   selection   of   files  can  be  done  by  the  key  combination
  354. <Amiga><Space>.   This  toggles  the  selection state of the active file
  355. (the one under the list cursor).  Additionaly, <Amiga><Shift><Space> can
  356. be used to select/deselect the entire directory.
  357.  
  358. MFR  can  also  be controlled with the numeric keypad (if enabled).  Key
  359. '5' is for multiselection, the other keys work as expected.
  360.  
  361. Leaving  MFR  without selecting files can be done with the <Escape> key.
  362. This is equivalent to pressing the 'Cancel' gadget.
  363.  
  364.  
  365.  
  366. 3.4. Menus
  367. ----------
  368.  
  369. As  every  real  Amiga  program,  MFR offers a couple of pulldown menus.
  370. Here they are...
  371.  
  372.  
  373.  
  374. 3.4.1. Project Menu
  375. -------------------
  376.  
  377. - About
  378.  
  379. Display some information about program version, author and registration.
  380. When you register, your name will be displayed here.
  381.  
  382. - Statistics
  383.  
  384. Display statistics about all previous file requester calls.  Seems to be
  385. a  little  bit  senseless,  but  maybe  someone  is  interested  in this
  386. information.
  387.  
  388. - Flush Memory
  389.  
  390. Free  some  allocated memory.  With Workbench 2.1, this function will be
  391. called automatically when memory gets low.
  392.  
  393. - Okay
  394.  
  395. Simulate 'Okay' gadget.
  396.  
  397. - Cancel
  398.  
  399. Simulate 'Cancel' gadget.
  400.  
  401.  
  402.  
  403.  
  404. 3.4.2. Edit Menu
  405. ----------------
  406.  
  407. - Copy Path
  408.  
  409. Paste  complete  current  path (concatenated contents of drawer and file
  410. gadget) to clipboard.
  411.  
  412. - Copy File
  413.  
  414. Paste contents of file gadget to clipboard.
  415.  
  416. - Copy Dir
  417.  
  418. Paste contents of drawer gadget to clipboard.
  419.  
  420.  
  421.  
  422. 3.4.3. DOS Menu
  423. ---------------
  424.  
  425. - Parent Directory
  426.  
  427. Change  to  the  parent  directory.   MFR  will  display an error in its
  428. status line when there is no parent directory.
  429.  
  430. - Reload Directory
  431.  
  432. Load  and  display  the  current directory again.  This is useful if you
  433. turned of file notification for some reason and something in the current
  434. directory changed.
  435.  
  436. - Rescan Devices
  437.  
  438. After mounting an additional device, you may wish to recreate the device
  439. list.  This menu item will do that for you.
  440.  
  441. - Search File
  442.  
  443. MFR  has  the ability to search your harddisk for some files. Before you
  444. can  use this feature, you will have to create a data base consisting of
  445. all  your  directories  and  all  your files.  This can be done with the
  446. "UpdateDB" program from Larry Phillips "Find" package, which is included
  447. in MFR's distribution archive.  If you are not familiar with "UpdateDB",
  448. please  refer  to  Larry's  documentation  for  details.   Once you have
  449. created the data base, you can easily find any file you want.  Just type
  450. the  (partial)  name  (or pattern) into the string gadget and select the
  451. 'Search File' menu item.  MFR will list all occurances of the concerning
  452. file  together  with  the  complete  path in the file list.  Just double
  453. click  on the desired entry and you will be moved to its  directory with
  454. the appropriate information filled in the drawer and file gadgets.
  455.  
  456. - File Action
  457.  
  458. MFR  has the ability to show pictures, play sounds, view archives, etc..
  459. If  you  want  to use this feature, you will have to tell MFR what to do
  460. with  certain  file  types.   This  is  done  via  the CLASS_0 - CLASS_9
  461. tooltype entries.
  462.  
  463. The syntax of a CLASS entry looks like this:
  464.  
  465. CLASS_<n>=[<namepattern>],[<contentspattern>],<action>
  466.  
  467. If  you  select the "File Action" menu item or you press the file action
  468. gadget (labeled '!'), MFR checks the current file against <namepattern>.
  469. If  this one matches, MFR checks the first 256 Bytes of the file against
  470. <contentspattern>.   In case of match, the command <action> is performed
  471. on   this  file.   Note  that  <namepattern>  is  case  insensitive  but
  472. <contentspattern> is case sensitive.  An ommited pattern matches always.
  473.  
  474. The parameter <action> must be a valid command, exactly as if typed into
  475. a  CLI.   The first "%s" in <action> will be replaced with the full path
  476. specification  of the current file.  Note that formatting of the command
  477. is  done via sprintf(), so you should be careful not to use other printf
  478. style  formatting commands such as "%d" or "%x".  Your machine may crash
  479. if  you  do  so!   If you use commands that print to the current console
  480. (e.g.  all archivers), you must use IO-redirection.
  481.  
  482. Some examples for file classes are:
  483.  
  484. CLASS_0=#?.(lha|lzh),,lz >con:120/50/500/250/LH-Archive/CLOSE/WAIT v %s
  485. CLASS_1=#?.zoo,,zoo >con:120/50/500/250/Zoo-Archive/CLOSE/WAIT l %s
  486. CLASS_2=#?,FORM????ILBM#?,display %s
  487. CLASS_3=#?,FORM????8SVX#?,play %s
  488. CLASS_4=#?.doc,,more %s
  489.  
  490. - History List
  491.  
  492. With  'History List', you will get a list of the last files you selected
  493. with  MFR.  This can be useful if you want to load some files again.  If
  494. the  history  list  is  not empty, a window will pop up and allow you to
  495. select  one  entry.   Note  that the entries of the history list are not
  496. sorted,  the  last selected file always appears on top of the list.
  497.  
  498. - Make Directory
  499.  
  500. Create a new drawer in the current directory.
  501.  
  502. - Delete File/Dir
  503.  
  504. Delete a file or an empty directory in the current directory.  Note that
  505. MFR is no CLI tool, so you won't be able to delete non empty directories
  506. or write protected files.
  507.  
  508. - Rename File/Dir
  509.  
  510. Rename  a  file  or  a  drawer.   You  may move files out ot the current
  511. directory buy specifying a complete path for the new name.
  512.  
  513. * Status submenu
  514.  
  515. The  'Status'  submenu  is  used  to  control  some  status bits of MFR.
  516. Normally,  these  bits  are  set  to  reasonable  values  by the calling
  517. application, but you can override these settings at any time.  Note that
  518. none of these flags will be saved.
  519.  
  520. - Status / Display Pattern Gadget
  521.  
  522. Controls whether the pattern gadget is visible or not.
  523.  
  524. - Status / Disable Pattern
  525.  
  526. Controls  whether  the  pattern specified in the pattern gadget shall be
  527. used  to hide certain files.  This has nothing to do with the visibility
  528. of the gadget.
  529.  
  530. - Status / Hide Icons
  531.  
  532. Controls  whether  icons  (.info files) shall be displayed or not.  Even
  533. with  icon  display  enabled,  .info  files may be hidden by the pattern
  534. setting.
  535.  
  536. - Status / Match Directories
  537.  
  538. Controls whether directories must also match the specified pattern to be
  539. displayed.  This is not useful in general.
  540.  
  541.  
  542.  
  543. 3.4.4. Settings Menu
  544. --------------------
  545.  
  546. The  'Settings'  menu  contains some items to customize MFR according to
  547. your personal taste.  MFR's settings are global for all file requesters.
  548. If you e.g.  select a new font, all open requesters will be informed and
  549. updated.
  550.  
  551. Many  settings  can  hold two different values, according to the current
  552. screen  resolution.   For  example, changing the gadget font on a lowres
  553. screen  affects  the  lowres  setting,  changing  it on a highres screen
  554. affects the highres setting.  These menu items will be marked as [dual].
  555.  
  556. Low  resolutions displays are:  Lores, Hires, SuperHires, HAM, LoresDPF,
  557. LoresDPF2,  HiresDPF2,  SuperHiresDPF2,  ExtraHalfBrite,  VGAExtraLores,
  558. VGAHAM, VGAExtraLoresLace, VGALoresDPF, VGAExtraLoresDPF2, VGALoresDPF2,
  559. and  VGAExtraHalfBrite.   All  other  modes  will  be considered as high
  560. resolution.
  561.  
  562. * Window submenu
  563.  
  564. The  'Window'  submenu  is  used to control size, position and outfit of
  565. MFR's window.
  566.  
  567. - Window / Override Dimension
  568.  
  569. Normally,  the  dimensions of a file requester window will be set by the
  570. calling  program.  However, MFR seems to need more space than other file
  571. requester.   Thus,  it  may  be  a  good  idea  to  let MFR override the
  572. application's  size  suggestion  and use its  own one.  With this switch
  573. set, MFR will always use the configured size when opening its window.
  574.  
  575. - Window / Override Position
  576.  
  577. MFR  offers the ability to open its window either centered on the screen
  578. or  centered  under  the mouse pointer.  To use these features, you will
  579. have  to set this switch.  Without 'Override Position', MFR will use the
  580. application specified position.
  581.  
  582. - Window / Centered Window
  583.  
  584. MFR's  window  will  always appear centered on the (visible part of the)
  585. screen.
  586.  
  587. - Window / Moused Window
  588.  
  589. MFR's window will always appear under the mouse pointer.
  590.  
  591. - Window / Rastered Background [dual]
  592.  
  593. The  background  of MFR'S window will be rastered with the darkest color
  594. of  the current palette.  In save mode, background will be rastered with
  595. the two darkest colors.
  596.  
  597. - Window / Inverted Gadgets
  598.  
  599. Flip front and back pen of string gadgets.
  600.  
  601. - Window / Use as Default Dimension [dual]
  602.  
  603. Set MFR's default dimension to the current window size.
  604.  
  605. * Scrollbar submenu
  606.  
  607. MFR  offers  four  different scrollbar designs, each of them either with
  608. symmetrical or asymmetrical placement of arrow gadgets.
  609.  
  610. - Scrollbar / Default [dual]
  611.  
  612. Scrollbars look like standard Kick 2.x scrollbars on highres screens.
  613.  
  614. - Scrollbar / Default-Lores [dual]
  615.  
  616. Scrollbars look like standard Kick 2.x scrollbars on lowres screens.
  617.  
  618. - Scrollbar / Goonie [dual]
  619.  
  620. Scrollbars  and  arrows  look  3-dimensional,  with a little knob in the
  621. middle.  Nice!
  622.  
  623. - Scrollbar / Stuntzi [dual]
  624.  
  625. Scrollbars use PROPNEWLOOK, looks a bit like workbench's scrollbars.
  626.  
  627. - Scrollbar / Symmetrical
  628.  
  629. Scrollbar uses symmetrical placement of arrow gadgets.
  630.  
  631. * Font submenu
  632.  
  633. - Font / Select List Font... [dual]
  634.  
  635. A  font  requester  will  open up and let you specify the font to use in
  636. directory  and  device  list.  Proportional fonts are perfectly okay and
  637. recommended, since they allow displaying of longer filenames.  Suggested
  638. ist helvetica/11 on a highres display, but that depends on your taste.
  639.  
  640. - Font / Use Screen Font [dual]
  641.  
  642. With  this item enabled, MFR will always use the parent screen's default
  643. font for displaying its lists.
  644.  
  645. - Font / Select Gadget Font... [dual]
  646.  
  647. A  font  requester  will  open up and let you specify the font to use in
  648. MFR's  string  gadgets.   Proportional  fonts  are  perfectly  okay  and
  649. recommended, since they allow displaying of longer filenames.  Suggested
  650. ist helvetica/13 on a highres display, but that depends on your taste.
  651.  
  652. - Font / Use Screen Font [dual]
  653.  
  654. With  this item enabled, MFR will always use the parent screen's default
  655. font in its string gadgets.
  656.  
  657. * Sorting submenu
  658.  
  659. MFR is able to sort the directory list in many different ways.  The menu
  660. items should be self explaining, if not, just try them.
  661.  
  662. - Sorting / Sort by Name
  663. - Sorting / Sort by Date
  664. - Sorting / Sort by Size
  665. - Sorting / Dirs First
  666. - Sorting / Dirs Last
  667. - Sorting / Don't care
  668. - Sorting / Low to High
  669. - Sorting / High to Low
  670.  
  671. * DOS submenu
  672.  
  673. - DOS / Set Default Pattern...
  674.  
  675. When the calling application doesn't specify a pattern, MFR will use the
  676. configured  default  pattern as initial contents for the pattern gadget.
  677. For example ~(#?.info|#?.o|#?.bak) would be a good choice.
  678.  
  679. - DOS / Set Vol. Show Pattern...
  680. - DOS / Set Vol. Hide Pattern...
  681.  
  682. MFR  allows  you  to  specify which devices/volumes should appear in the
  683. device  list.   Just set some show and hide pattern to suite your needs.
  684. Example:  Show Pattern = (dh#?|df#?|ram#?)
  685.  
  686. - DOS / Set History Entries...
  687.  
  688. This sets the maximum number of entries in the history list.  A value of
  689. 0 disables the history feature completely, saving a bit of memory.
  690.  
  691. - DOS / Set Cache Entries...
  692.  
  693. MFR  remembers  up  to  100 directory contents, considerably speeding up
  694. operation.   With  this caching, you will be able to browse through your
  695. directory tree without delay.  A cache is automatically invalidated when
  696. the datestamp of the associated directory changes (this happens whenever
  697. files are changed within that directory).  With 'Set Cache Entries', you
  698. can  specify  the  maximum  number  of cached directories.  A value of 0
  699. disables  caching completely.  Note that this change will not affect the
  700. current  session.   You will have to save settings, exit MFR and restart
  701. it to see the difference.
  702.  
  703. In  case  of  memory  shortage, MFR will free its caches.  Therefore, it
  704. hooks   into  asl.library's  Expunge()  function.   Unfortunately,  this
  705. feature won't work with Workbench 2.0's asl library.  But when Workbench
  706. 2.1 becomes available, it will magically start working.
  707.  
  708. - DOS / Set Read Timeout...
  709.  
  710. With  'Read Timeout' it's possible to make MFR multitask while reading a
  711. directory.   By  default,  its value is set to zero.  In this mode,  MFR
  712. will  read  a directory completely before displaying anything and before
  713. reacting  to  user  actions.  This is the recommended mode, since it's a
  714. lot  less  confusing  and  since MFR's directory caching reduces waiting
  715. time to a minimum.  However, if you really want, you can set the timeout
  716. to  another value (timeout is measured in 1/50 seconds).  Then, MFR will
  717. update  its   display  every time the period expires or when you perform
  718. some  action  on  the  directory list (e.g.  cursor movement).  To avoid
  719. messing  up  the  display,  new entries will be appended unsorted at the
  720. bottom of the list.  As you probably noticed, I don't like this mode and
  721. it  surely  would  need  some  more testing and programming.  You really
  722. should use a timeout value of 0 for now.
  723.  
  724. - DOS / File Notification
  725.  
  726. 'File  Notification'  finally  toggles  MFR's file notification feature.
  727. With  file notification enabled, MFR automatically recognizes changes in
  728. the  displayed  directory and reloads it immediately.  Since this can be
  729. really confusing sometimes, you can switch it off here.
  730.  
  731. * Search submenu
  732.  
  733. This  submenu influences the way MFR compares a file with the entries of
  734. the  find  data base.  Note that when you specify an AmigaDOS pattern to
  735. search for, only the 'Case Sensitive' menu item will affect matching.
  736.  
  737. - Search / Case Sensitive
  738.  
  739. When this item is selected, matching will be case sensitive.
  740.  
  741. - Search / Match Exactly
  742.  
  743. The  file  must match the data base entry completely, e.g.  'mary' won't
  744. match 'primary' or 'marys_daughter'.
  745.  
  746. - Search / Match Beginning
  747.  
  748. All  data  base  entries  starting with the file gadget contents will be
  749. displayed.
  750.  
  751. - Search / Match Partial
  752.  
  753. If  the  data base entry contains the file gadget contents somewhere, it
  754. will match.
  755.  
  756. * Usage submenu
  757.  
  758. This  menu  contains various flags that control how MFR responds to user
  759. actions.
  760.  
  761. - Usage / Auto Complete Load
  762. - Usage / Auto Complete Save
  763.  
  764. A  file  requester  can  be in load or in save mode, as specified by the
  765. application.   MFR allows you to toggle its  auto completion feature for
  766. both  of  these modes.  Normally, 'Auto Complete Load' should be set and
  767. 'Auto Complete Save' should be unset, but this depends on your taste.
  768.  
  769. - Usage / Numeric Pad Control
  770.  
  771. Used to toggle cursor control via numeric keypad.
  772.  
  773. - Usage / Close after Copy
  774.  
  775. When  this  item  is  set, MFR's window will automatically close after a
  776. copy operation to clipboard.
  777.  
  778. - Load Settings
  779. - Save Settings
  780.  
  781. These  two  menu items (available only when you register), allow loading
  782. and  saving of MFR's settings.  MFR will automatically load the settings
  783. at  startup.  For that, it will try to locate its .info file and get the
  784. configuration  out  of the tooltypes.  If you start MFR from CLI and the
  785. .info  file  is  not  present,  MFR  will look for an 'envarc:mfr.prefs'
  786. config  file  and  take  its configuration from there.  In any case, MFR
  787. remembers  the  configuration's  place  and  saves it to the appropriate
  788. position when 'Save Settings' is selected.
  789.  
  790.  
  791.  
  792.  
  793. ========================================================================
  794.                               4. Specials
  795. ========================================================================
  796.  
  797.  
  798. 4.1. Tooltypes
  799. --------------
  800.  
  801. Most  of  MFR's  configuration  can  be  adjusted  with  the menu items.
  802. However,  there  are  some  things that haven't made their way to a menu
  803. yet, so you will need to adjust them via tooltypes.
  804.  
  805. CX_POPKEY
  806. defines  the  key sequence used to pop up a Magic File Requester.  Don't
  807. know  if it's really useful to pop up a file requester, but if you want,
  808. you can.
  809.  
  810. CX_PRIORITY
  811. defines  MFR's  priority  in  commodities  input  chain.   There  should
  812. normally be no reason to alter this value.
  813.  
  814. PATCHASL
  815. turns  the  patch for asl.library on and off.  There should be no reason
  816. to turn it off, I hope.
  817.  
  818. PATCHREQ
  819. does the same thing for req.library.
  820.  
  821. PATCHREQTL
  822. same for reqtools.library
  823.  
  824. MINPIXEL
  825. defines  the minimum space reserved to display a file name.  MFR adjusts
  826. the  amount  of  displayed  information  according  to the width of  its
  827. window.   Try  resizing  the window to see how it works.  MINPIXEL pixel
  828. will  always  be reserved to display the file name, unless the window is
  829. too small.
  830.  
  831. REJECT
  832. defines  a  case insensitive pattern for task names.  If you encounter a
  833. program  that  does  not work with MFR, you can make MFR drop to the old
  834. file requester when being called from this task.  Just find out the task
  835. name and add it to the REJECT pattern.  You can use the program TaskList
  836. (see Goodies section) to list all tasks currently running.
  837.  
  838. CLASS_0 - CLASS_9
  839. Here  you  can  configure  some  file classes for file actions.  See the
  840. description of the 'File Action' menu item for details.
  841.  
  842. FKEY_0 - FKEY_20
  843. MFR  lets  you define 20 directories for quick access with the functions
  844. keys.   You  can  specify a file name after the directory, in which case
  845. the file gadget will be filled with this name.  F-Keys 11 through 20 are
  846. the shifted F-Keys 1 through 10.
  847.  
  848. The  two tooltypes DONOTWAIT and STARTPRI are dedicated to workbench and
  849. should be left untouched, unless you know what you're doing.
  850.  
  851. All  other  tooltypes  are  maintained  with MFR's menu items.  There is
  852. absolutely no need to alter them by hand.
  853.  
  854.  
  855.  
  856. 4.2. CLI Interface
  857. ------------------
  858.  
  859. MFR  has  a  CLI  interface  that allows using the requester from within
  860. script files.  Calling MFR with the following template
  861.  
  862.   mfr [DIR=<dir>] [FILE=<file>] [PATTERN=<pattern>] [TITLE=<title>]
  863.       [OKTEXT=<oktext>] [CANCELTEXT=<canceltext>]
  864.       [LEFT=<left>] [TOP=<top>] [WIDTH=<width>] [HEIGHT=<height>]
  865.       [MULTI] [MATCHDIRS] [SAVE] [PATGAD]
  866.  
  867. will  pop  up a file requester, wait for the user to select some file(s)
  868. and  print  the  results  (full  path  specification) to stdout.  If the
  869. requester is cancelled, nothing is displayed.
  870.  
  871. You  can  use this feature from a shell or arexx script, redirecting the
  872. result to a file for further usage.  For example, the command
  873.  
  874.   mfr >env:result DIR=cap: PATTERN=*.cap TITLE="Select a capture file"
  875.  
  876. will create an environment variable named 'result' which consists of the
  877. selected file.  If you don't select a file, 'result' will be empty.
  878.  
  879. MFR  will  return  0  if  a  file  was  selected, 5 if the requester was
  880. cancelled.   A  return  code of 10 indicates an error (wrong parameters,
  881. out of memory, ...).
  882.  
  883. Note that MFR will internally call the asl.library file requester, so if
  884. you  didn't  allow  it  to  patch this library, you will just see an ASL
  885. requester popping up.
  886.  
  887.  
  888.  
  889.  
  890. ========================================================================
  891.                                5. Goodies
  892. ========================================================================
  893.  
  894.  
  895. 5.1. UnArp
  896. ----------
  897.  
  898. UnArp  is  a  tool by Martin Berndt, that tries to make arp.library more
  899. compatible  to  Kickstart  2.0.  Many ARP calls are replaced by calls to
  900. dos.library, the file requester is replaced by an ASL requester.  If you
  901. put it somewhere in your startup-sequence or user-startup, you'll notice
  902. MFR replacing all your old ARP file requesters.
  903.  
  904.  
  905.  
  906. 5.2. TagScreens
  907. ---------------
  908.  
  909. With  Kick  2.04, there is a new method for programmers to specify which
  910. colors  should  be  used for gadget and window rendering on their custom
  911. screen.  MFR uses exactly this colors in its window.
  912.  
  913. Programs  that  were developed before Kick 2.04 was released, don't know
  914. about  this feature.  Their windows and gadgets, including MFR will look
  915. a little bit ugly.
  916.  
  917. "TagScreens"  from  Martin  Berndt  tries  to patch the old OpenScreen()
  918. function  to  make  these  old  programs  use the new 3d look.  Refer to
  919. "TagScreens.txt" for details.
  920.  
  921.  
  922.  
  923. 5.3. Find
  924. ---------
  925.  
  926. "Find" is a tool for fast file searching, written by Larry Phillips.  It
  927. works  in  conjunction  with a data base, including all your directories
  928. and files.  MFR needs this data base for its search functions.  Refer to
  929. "Find.DOC" for details.
  930.  
  931.  
  932.  
  933. 5.4. TaskList
  934. -------------
  935.  
  936. MFR  has the ability to prevent some specific tasks from using it.  This
  937. is  hopeful  if you e.g.  encounter a program that doesn't work with MFR
  938. or needs some special features of asl.library, not supported by MFR yet.
  939.  
  940. When  a  file  requester  is  called,  MFR compares the specified REJECT
  941. pattern   with  the  name  of  the  calling  task  (ExecBase->ThisTask->
  942. tc_Node.ln_Name).  In case of match, MFR will call the old requester.
  943.  
  944. To  find  out the name of the calling task, you can use a system monitor
  945. such  as  "ARTM"  or "XOper" or the supplied utility TaskList.  TaskList
  946. exactly  displays  the  task  name,  checked by MFR.  "ARTM" and "XOper"
  947. display some other things sometimes.
  948.  
  949. Finding  out  the calling task's name may sometimes get a little tricky.
  950. The  normal  task name of "MultiPlayer" is e.g.  "MultiPlayer", but this
  951. program  creates  a  second  task  named "File Requester" to call a file
  952. requester.  To prevent "MultiPlayer" from calling MFR, you would have to
  953. specify "REJECT=File Requester".
  954.  
  955.  
  956.  
  957.  
  958. ========================================================================
  959.                              6. Discussion
  960. ========================================================================
  961.  
  962.  
  963. This   section   is  intended  to  avoid  unnecessary  bug  reports  and
  964. suggestions.  Please read this before you write a mail.  But if you have
  965. additional ideas, bug reports or just some comments, write me.
  966.  
  967.  
  968. 6.1. Known Bugs
  969. ---------------
  970.  
  971. - MFR won't hide its file gadget in a directory only requester.  This does
  972.   not affect functionality.
  973.  
  974. - Still some missing ASL Tags.  Since they are not too important, MFR will
  975.   never drop to an ASL requester.
  976.  
  977.     ASLFR_Screen           /* Address of parent screen       */
  978.     ASLFR_PubScreenName    /* Name of public screen          */
  979.     ASLFR_Locale           /* Locale ASL should use for text */
  980.     ASLFR_RejectPattern    /* preparsed reject pattern       */
  981.     ASLFR_AcceptPattern    /* preparsed accept pattern       */
  982.     ASLFR_TextAttr         /* Font to use for requester      */
  983.  
  984. - Missing reqtools tags:
  985.  
  986.     RT_IDCMPFlags
  987.     RT_ReqPos
  988.     RT_PubScrName
  989.     RT_Screen
  990.     RT_ReqHandler
  991.     RT_DefaultFont
  992.     RT_ScreenToFront
  993.     RT_UnderScore
  994.     RT_TextAttr
  995.     RT_IntuiMsgFunc
  996.     RT_Locale
  997.     RTFI_AddEntry
  998.     RTFI_RemoveEntry
  999.     RTFI_FilterFunc
  1000.     RTFI_AllowEmpty
  1001.     Flags: FREQF_NOBUFFER, FREQF_SELECTDIRS, FREQF_DOWILDFUNC
  1002.  
  1003.     RTFI_VolumeRequest
  1004.  
  1005.     /* This one's making trouble. Why didn't Nico add an extra
  1006.        function rtVolumeRequest() instead of this strange tag?
  1007.        MFR will try to drop to reqtools, but this may be
  1008.        dangerous in some cases. */
  1009.  
  1010. - MFR is not totally clean against specifiying a too big font.  You should
  1011.   be careful experimenting with euro/90 or something like that.
  1012.  
  1013.  
  1014.  
  1015.  
  1016. 6.2. Compatibility
  1017. ------------------
  1018.  
  1019. I  tried  hard to make MFR as compatible as possible.  However, patching
  1020. libraries  has  always  been  and will always be a little bit dangerous.
  1021. You  should  assure  that no other programs patch file requester library
  1022. vectors  when  MFR runs.  If you e.g.  use 'ReqChange' (V1.09, by Magnus
  1023. Holmgren)  to forward some string/number requesters to reqtools.library,
  1024. you should specify "reqchange NOASL NOARP" to start it.  In general, MFR
  1025. should  be  the  last  started requester patch tool.  To accomplish that
  1026. with 'WBStartup/' files, you can e.g. use the STARTPRI tooltype.
  1027.  
  1028.  
  1029.  
  1030. 6.3. Future Features
  1031. --------------------
  1032.  
  1033. Here are some plans for future expansion of MFR.  Comments and additions
  1034. welcome.
  1035.  
  1036. - A  hotkey  to  paste MFR's gadgets contents to the input stream would be
  1037.   nice.
  1038.  
  1039. - Entries in the find list tend to become very long.  Since the right part
  1040.   of a path is usually more interesting than the left part, I should maybe
  1041.   display it this way.
  1042.  
  1043. - Once  file  classes  are  supported by the system software, they will be
  1044.   taken out of MFR.  Hurry up, Commodore :)
  1045.  
  1046. - Localization. Ever wanted a norwegian file requester?
  1047.  
  1048. - Replacing  of some more libraries (arp, rct, kd_freq).  Well, UnArp does
  1049.   his job well, rct and kd_freq are rarely used...
  1050.  
  1051. - Better handling of the zoom gadget, including complete iconification and
  1052.   adjustable zoom size.
  1053.  
  1054. - Some more multi select hilight styles (italics, different colors, ...).
  1055.  
  1056. - ... to be continued ...
  1057.  
  1058.  
  1059.  
  1060. 6.4. Acknowledgements
  1061. ---------------------
  1062.  
  1063. Finally, I want to thank
  1064.  
  1065.  
  1066. Andreas Schildbach  for many good ideas, for debugging, for some artwork
  1067.                     and for the pacman. :-)
  1068.  
  1069. Stefan Becker       for debugging CLI interface and eliminating
  1070.                     some enforcer hits.
  1071.  
  1072. Martin Berndt       for debugging resolution detection and for the
  1073.                     permission to include his programs "TagScreens"
  1074.                     and "UnArp".
  1075.  
  1076. Stefan Hochmuth     for debugging memory allocation system.
  1077.  
  1078. Bryan Ford          for his startup code.
  1079.  
  1080. Michael Berger      for the set of Lores Icons.
  1081.  
  1082. Ralf Kemle &        for some more ideas and for testing MFR with
  1083. Oliver Kilian       good old 68000er.
  1084.  
  1085. Oliver Vaross       for additional debugging.
  1086.  
  1087. Larry Phillips      for his permission to include the "Find" package.
  1088.  
  1089. Colin Fox &         for req.library. I only need RealTimeScroll()
  1090. Bruce Dawson        but this one's really nice.
  1091.  
  1092. Maximilian Hantsch  for some useful code fragments and for their
  1093. & Martin Laubach    trapdoor license agreement. I cloned it nearly 1:1.
  1094.  
  1095. Stefan Boberg       for the LhA documentation. I cloned the part about
  1096.                     registration for MFR. Hope he doesn't mind.
  1097.  
  1098. Ludwig Gritsch      for the AmigaGuide manual.
  1099.  
  1100. ...                 and all the other guys and girls who reported bugs
  1101.                     and made suggestions.
  1102.  
  1103.  
  1104.  
  1105.  
  1106. 6.5. How to reach the author
  1107. ----------------------------
  1108.  
  1109. If you have some additional ideas and/or bug reports, feel free to send
  1110. a letter (e-mail preferred) or to give me a call.
  1111.  
  1112.  
  1113. You can reach me via
  1114.  
  1115.  
  1116.  Internet: stuntz@informatik.tu-muenchen.de
  1117.  
  1118.   Fidonet: 2:246/46.10 (Stefan Stuntz)
  1119.  
  1120.    Z-Netz: S.STUNTZ@AMC.ZER
  1121.  
  1122. SnailMail: Stefan Stuntz
  1123.            Eduard-Spranger-Straße 7
  1124.            D-W-8000 München 45
  1125.            Germany
  1126.            Phone: +49-(0)89-313-1248
  1127.  
  1128.  
  1129.  
  1130. That's all for now... Goodbye, and thanks for all the fish...
  1131.                                                                   Stefan
  1132.  
  1133.  
  1134.  
  1135.  
  1136.  
  1137.  
  1138.  
  1139.  
  1140.  
  1141.  
  1142.  
  1143.  
  1144.  
  1145.  
  1146.  
  1147.  
  1148.  
  1149.  
  1150.  
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.         Remember: Always expect the unexpected and don't panic :-)
  1174.         ----------------------------------------------------------
  1175.