One of the global XFolder settings pages in the "Workplace Shell" object
influences the status bars which XFolder can add to all open folders.
As explained in the Status bar introduction,
status bars display different information depending on whether no object,
exactly one object or several objects have been selected in a folder.
For each of these modes you may define what exactly will be displayed.
XFolder uses certain (not very intuitive, however flexible) codes to
display folder information.
It is
recommended to have both the status bar settings page and
a sample folder open while experimenting with these settings.
All numeric output is formatted according to
your settings in the "Country" object in your System Setup
folder. That is, XFolder uses those settings to determine the thousands separator for
values greater than 1000 and the display format for date and time output.
Note that the status bars also accept fonts and colors being dropped on
them from the respective palettes in the "System setup" folder, which will update all status
bars instantly also.
The following codes work in all three modes:
- $c
- number of currently selected objects
- $C
- total number of objects in folder
- $sb
- total size of selected objects in bytes
- $sk
- total size of selected objects in kBytes, i.e. bytes / 1000
- $sK
- total size of selected objects in KBytes, i.e. bytes / 1024
- $sm
- total size of selected objects in mBytes, i.e. bytes / 1000000
- $sM
- total size of selected objects in MBytes, i.e. bytes / 1048576
- $Sb
- total size of folder content in bytes
- $Sk
- total size of folder content in kBytes, i.e. bytes / 1000
- $SK
- total size of folder content in KBytes, i.e. bytes / 1024
- $Sm
- total size of folder content in mBytes, i.e. bytes / 1000000
- $SM
- total size of folder content in MBytes, i.e. bytes / 1048576
- $fb
- free space on drive in bytes
- $fk
- free space on drive in kBytes, i.e. bytes / 1000
- $fK
- free space on drive in KBytes, i.e. bytes / 1024
- $fm
- free space on drive in mBytes, i.e. bytes / 1000000
- $fM
- free space on drive in MBytes, i.e. bytes / 1048576
- $x(xxx)
- Left-oriented tabulator:
print the following information at X position "xxx" (relative to the left border of
the status bar). Example: $x(300)$sK will always print the total size of the selected
objects at X position 300.
- $x(-xxx)
- like before, but relative to the right border of
the status bar. Example: $x(-150)$sK will print the total size of the selected objects
at X position 100, if the status bar is currently 250 pixels wide.
- $x(xx%)
- like before, but the X position will be calculated
using "xx" as a percentage relative to the current width of the status bar.
Example: $x(50%)$sK will always print the total size of the selected objects
in the center of the status bar.
In "one-object mode", XFolder can now (V0.80) display different information
depending on the object class that the selected object belongs to. Certain object
classes have been extended to be able to display status bar information and translate
the codes below.
On the status bar settings page there is a button with which you may select the
object class for which you wish to set status bar information in "one-object mode".
Currently, four classes support status bar information: XFldObject, XFldFileSystem,
XFldDisk and XFldProgram.
All objects support the following codes (in addition to the ones described above):
- $t
- object title
- $w
- WPS class default title, i.e. the one which is visible in the third
column of folder Details views (e.g. "Data file")
- $W
- WPS internal class name (e.g. "XFldDataFile")
File-system objects (XFldFileSystem class, i.e. folders and data files)
support the following additional codes:
- $r 1)
- object's "real name"
- $y 1)
- object type (.TYPE Extended Attribute)
- $a 1)
- object filesystem attributes; this will insert four
characters ("ahrs") for the archived, hidden, read-only and system filesystem attributes,
with the ones capitalized which are set for a file (e.g. "Ahrs")
- $D 1)
- object last write date
- $T 1)
- object last write time
- $Eb 1,2)
- Extended Attribute size in bytes
- $Ek 1,2)
- Extended Attribute size in kBytes, i.e. bytes / 1000
- $EK 1,2)
- Extended Attribute size in KBytes, i.e. bytes / 1024
Notes:
1) These codes will only display the data which is held in the internal WPS buffers.
This means when this data changes, e.g. because a file has been altered by some other
program, the status bar information will only change when the WPS buffer data is
refreshed, for example if you select "Refresh now".
2) The WPS has always had a bug due to which an extended attribute size larger than 32767 will
always return 32767, although a size of 64 KB is technically possible. As a result, XFolder will
also display this wrong value.
Disk objects (XFldDisk class, i.e. the objects in the "Drives" folder)
support the following codes in addition to the codes for all objects:
- $fb
- free space on drive in bytes
- $fk
- free space on drive in kBytes, i.e. bytes / 1000
- $fK
- free space on drive in KBytes, i.e. bytes / 1024
- $fm
- free space on drive in mBytes, i.e. bytes / 1000000
- $fM
- free space on drive in MBytes, i.e. bytes / 1048576
- $F
- file-system type (FAT, HPFS, CDFS, ...)
Notes: If you are using these keys, you should make sure that you have
OS/2's hardware error messages disabled, because otherwise you'll get a
"drive not ready" message every time no disk is inserted.
The new "OS/2 Kernel"
object lets you do this on the "Errors" page.
Note also that the $f codes are redefined for disk objects. Normally,
they display the free space on the drive on which the folder resides, which, for
the "Drives" folder, would of course always return the same value for the drive on
which your Desktop resides. Thus this code has been redefined for drive objects.
Program objects (XFldProgram class)
support the following codes in addition to the codes for all objects:
- $p
- executable program file (as specified in the Settings)
- $P
- parameter list (as specified in the Settings)
- $d
- working directory (as specified in the Settings)