•  Back 
  •  File formats 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  %Hilfe 
  •  Show info about hypertext 
  •  View a new file 
Topic       : Documentation for Thing
Author      : Arno Welzel/Thomas Binder/TransAction
Version     : thing.hyp 1.27E (23/8/1998)
Subject     : Documentation/Shells
Nodes       : 269
Index Size  : 6336
HCP-Version : 4
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : %I
@help       : %Hilfe
@options    : +g -i -s +y +zz -t4 -d10
@width      : 75
@hostname   : THING   
View Ref-FileIcons
Thing Icon Manager
File formats - ICONS.INF                                              Thing

ICONS.INF contains a list of icon assignments which determines which 
icons in ICONS.RSC are used for the various drives, files and folders. 
If Thing cannot find ICONS.INF then the standard icons, as described in 
'Icons', are used by default.

Thing searches for ICONS.INF -- as well as for ICONS.RSC -- only in the 
same directory as THING.APP and in the path defined using the THINGDIR 
environmental variable where available. The HOME environmental variable 
is not observed.

ICONS.INF structure:

 - Blank lines are ignored by Thing
 - Lines preceded with a '#' character are ignored by Thing and may be 
   used for comments
 - The maximum line length must not exceed 510 characters
 - ICONS.INF is not kept in memory! Instead the assignments are interpreted 
   and set up in optimised internal structures (incidentally this is why 
   no internal function to change the assignments is available)

Each line in ICONS.INF has the following format:


   <Type> "<Icon>" <Wildcard>[,<Wildcard>...] [[<Character>][/<Colour>]]

   <Type>      IFIL - Assignment for files/programs
               IFLD - Assignment for folder/s
               IDRV - Assignment for drives

   <Icon>      Descriptive label used for icon in the RSC file

   <Wildcard>  One or several masks, separated by commas; the masks are
               not case sensitive, i.e. '*.Txt', '*.TXT' and '*.txt' are 
               handled exactly the same way.
               For drives one specifies the individual drive letters 
               here, for example:
               IDRV "FLOPPY" A,B)

   <Character> An optional character that must be specified without a
               comma, and must be separated from the <Wildcard> by at 
               least one space character. In the text display mode this 
               is then displayed at the left in front of the file name, 
               so long as the file is not an executable program.

   <Colour>    One can also optionally specify a text colour for an 
               icon type which Thing then uses in the text or mini-icon 
               mode irrespective of the text colour selected for the 
               window. Assignment is by a number between 0 and 15 which 
               match the colour numbers of the AES system colours:
 
               0 - White  4 - Blue      8 - Light grey  12 - Dark blue
               1 - Black  5 - Cyan      9 - Dark grey   13 - Dark cyan
               2 - Red    6 - Yellow   10 - Dark red    14 - Dark yellow
               3 - Green  7 - Magenta  11 - Dark green  15 - Dark magenta

               If the colour specified is the same as the background 
               colour of the window in which it appears, Thing will 
               automatically use the standard text colour for the window 
               to prevent the entry becoming invisible.
 

To clarify matters, here are a few examples: 

  # Individual programs
  #
  IFIL "KOBOLD 2"   kobold_2.prg
  IFIL "PURE C"     pc.prg
  #
  # Files
  #
  IFIL "APP"        *.prg,*.app
  IFIL "TOS"        *.tos,*.ttp
  IFIL "RSC"        *.rsc r/2
  IFIL "TXT"        *.txt,*.doc t
  #
  # Folders
  #
  IFLD "AUTO DIR"   auto
  IFLD "GEMSYS DIR" gemsys
  #
  # Drives
  #
  IDRV "DONALD" c
  IDRV "FILESYSTEM" i,u


index=254
It's important to list all specific files, programs and folders before the wildcard entries, e.g. 'PC.PRG' before '*.PRG', because the file is read from the first line downwards and the first suitable entry is used -- a more sophisticated check could be implemented but it would waste a disproportional amount of time.