Fix problem with title bar
[fsviewer.git] / docs / fsvieweren.txt
blob3a31cc2f4ca73560a3bceca3862d89390fc97e63
1 FSViewer.app
3 George Clernon
5 6 October 1999
7 Abstract
9 FSViewer.app is a file manager based loosely on the NeXT File Viewer.
10 It is an experiment, a hobby, a bit of fun with a smidgeen of seriousness!
12 1 Introduction
14 FSViewer is a file viewer which has a look similar to that of the NeXT
15 FileViewer. It is written in C and utilises the WINGs widget set.
16 It is an evolving project that aims to create an easy to use file
17 manager. This document will outline the various components of the
18 application.
20 2 Installation
22 FSViewer.app is available from http://www.csn.ul.ie/~clernong/download/.
23 The latest version is FSViewer.app-0.2.4. Icons associated with the
24 app are also available here (icons.tar.gz). gunzip and untar FSViewer.app-0.2.4.tar.gz 
25 More on installation in the README file.
27 3 Windows
29 The primary window is made up of two sections, the shelf and the browser
30 window. The shelf is a placeholder, while the browser window contains
31 the path view and browser pane. When the window is resized the number
32 of columns in the browser window will change accordingly. 
34 3.1 The Shelf
36 The shelf is a placeholder for files and directories. It provides quick
37 access to user defined items. Single clicking on an item will open
38 or execute it depending on the item type. It can be also used as a
39 temporary storage space, useful when copying items. To add an item
40 into the shelf, just drag it from the pathview and drop it on the
41 shelf. to remove an item, Control-Mouseclick on the item. To resize
42 the shelf drag the dimple up or down.
44 3.2 The Browser Window
46 This window contains the pathview and the browser pane.
48 3.2.1 The Pathview
50 The pathview represents the current path in a graphical display. The
51 selected item is highlighted and can be viewed/executed by double
52 clicking on it. The displayed items can be used in drag and drop actions. 
54 3.2.2 The Browser Pane
56 The browser pane displays in columns the contents of each directory
57 that makes up the current path. A directory is indicated by an arrow
58 displayed on the right of a row item. Clicking on a directory will
59 cause the browser to display its contents in the next column and the
60 item will be added to the pathview. Double-clicking on a file will
61 open/execute it. The browser pane contents can be filtered and sorted. 
63 4 Menus
65 The menus ``float'' around the desktop. There is only one menu for
66 all FSViewer windows that are open. The menu items are modelled on
67 the entries in the File Viewer. All accelerator keys require the Meta
68 key to be pressed at the same time. For example if the menu accelerator
69 is 'a', the key combination to be pressed is Meta-a, if it were 'A',
70 Meta-Shift-a would have to be pressed. If the keyboard does not have
71 a Meta key, the Alt key should be used instead.
73 5 Drag and Drop
75 The Drag aNd Drop (DND) implementation is based on OffiX DND. This
76 allows the use of DND within the app and also provides the app with
77 the ability to interact with programs that use OffiX DND. It allows
78 items to be dragged from the shelf/pathview and dropped onto the dock/clip. 
79 Dragging to a folder causes the item to be moved into
80 that folder. Pressing the Shift key while dragging will cause the item to be
81 copied.
83 6 Preferences Window
85 This window allows for the configuration of different aspects of the
86 program. It prevents you from filling by hand the default file.
87 Don't forget to run "chdef" before using it.
88 Three choices are available: variables, apps and file types and disks.
90 6.1 Variables
92 In this window it's possible to define default images (home, folders...),
93 default "exec" relying on magic files (for text, images, ps files...),
94 and display features (column width, sort order...)
96 6.2 Apps and file types
98 Here the apps can be selected within the array or browsed to be added to the list.
99 (browse button)
100 This allows to launch them from FSViewer.
101 The right part of this window displays the file types defined in the default file.
102 According to the file type you can modify the corresponding editor or viewer.
103 You can remove items from the lists using the "remove" button (obvious!). 
105 6.3 Disks
107 This is the place where adding removable media in FSViewer menu.
108 The media name (ie. CDROM) has to be written in the name field, so does the
109 mount point (ie. /mnt/cdrom) and the device (ie. /dev/scd0).
110 Corresponding commands are on the right part and have to be filled with
111 mount %s, umount %s, eject %s like indicated in the "defaults file" part at the end
112 of this document.
114 7 Inspector Window
116 The inspector displays various different attributes of the currently
117 selected item including the items icon, default viewer/editor and
118 file system attributes.
120 7.1 Attributes Inspector
122 This window display certain file system attributes of the selected
123 item (the file permissions, the last changed date,file size, owner and group). 
124 It also allows the user to change the file modes.
126 7.2 Icon Inspector
128 This allows the user to change the icon displayed for a file name/extension.
129 The contents of the Icon Path list created by WPrefs.app and the resource
130 path (set in the preferences window) are displayed here. If an icon
131 is changed here, the icon displayed in the browser window will be
132 updated the next time the item is selected.
134 7.3 Viewer Inspector
136 This displays the default viewer for the current selection. It also
137 allows the viewer to be set from a predefined list or a user entry.
138 Clicking on the button icon will open the selection.
140 7.4 Editor Inspector
142 This displays the default editor for the current selection. It also
143 allows the editor to be set from a predefined list or a user entry.
144 Clicking on the button icon will edit the selection.
146 7.5 Executable Inspector
148 This inspector sets the command to be executed when the program is
149 run. 
150 This panel is only accessible when the file is executable. Three shortcuts 
151 have been provided. %p for the current path, %f for the current filename and 
152 %s for the filename to be passed as an arg to the program. For example if 
153 /usr/bin/xemacs was selected:
155         %p = /usr/bin/
156         %f = xemacs
158 And a possible command could be:
159         %p%f %s
160 which translates to
161         /usr/bin/xemacs %s
163 Any file that has xemacs as it's default viewer/editor will use this command
164 where %s is replaced with the full path and filename.
166 8 Magic Files
168 There is a rudimentary magic file support i.e. the app will try to 
169 figure out what type the file is if it is unknown. It will then do something
170 based on the file type. There are 3 cases:
171         1) If it is ascii, xedit is started.
172         2) If it is an image, xv is started.
173         3) If it is a ps file, ghostview is started.
175 To change these settings, edit the defaults file.
177 9 Defaults File
179 The application's defaults file in normally in ~/GNUstep/Defaults/
180 but the app relies on the WINGs library to find the file. The file
181 is easy to edit by hand though the preferences window will be expanded
182 to provide editing via the app. Listed below are example snippets
183 for a file extension, a file executable and a disk entry.
185 A file extension has three entries: viewer, editor, icon. The viewer/editor
186 entries are commands to open edit the file and the icon is the name
187 of pixmap to display. 
189 .html = { viewer = "netscape -remote %s"; 
191 editor = "xemacs %s"; 
193 icon = "file-dot-html"; }; 
195 A file executable has two entries: exec and icon. The exec entry defines
196 the executable string to run and the icon indicates the pixmap to
197 display. 
199 lyx = {exec = "lyx %s";icon = "/usr/share/pixmaps/tiff/typewriter.tif";};
201 The disks entry allows the user to define which disks can be mounted,
202 unmounted and ejected from the Disks menu. Each disk will have 3 entries
203 associated with it: string name, mount point and device name. The
204 string name is the text that will appear in the menu. The mount point
205 is the argument that is passed to the mount and unmount commands.
206 The device name is passed to the eject command. The mount, unmount
207 and eject command strings are also set here. Currently the commands
208 are just executed, no feed back is available on whether they succeeded
209 or not. This should change in the future.
211 DISKS = { devices = ((CDROM, "/cdrom", "/dev/hdc"), (Zip, "/dosz",
212 "/dev/sda4")); 
214 mount = "mount %s"; 
216 umount = "umount %s"; 
218 eject = "eject %s"; };