home *** CD-ROM | disk | FTP | other *** search
/ back2roots/padua / padua.7z / padua / system / mfr20d.lha / MFR / Manual < prev    next >
Text File  |  1992-07-19  |  40KB  |  1,180 lines

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