File: Manual.html

package info (click to toggle)
rox 2.2.0-2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 6,628 kB
  • ctags: 3,426
  • sloc: ansic: 36,949; xml: 9,296; sh: 520; makefile: 125; python: 28; perl: 27
file content (2197 lines) | stat: -rw-r--r-- 156,600 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
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
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><link rel="stylesheet" href="../style.css" type="text/css" media="all"><title>
   ROX-Filer User Manual
   
  </title></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="id2403884"></a>
   ROX-Filer User Manual
   <a href="http://rox.sourceforge.net" target="_top">http://rox.sourceforge.net</a>
  </h1></div><div><div class="author"><h3 class="author"><span class="firstname">Thomas</span> <span class="surname">Leonard</span></h3><div class="affiliation"><div class="address"><p><tt class="email">&lt;tal197atusers.sourceforge.net&gt;</tt></p></div></div></div></div><div><p class="copyright">Copyright  2005 Thomas Leonard</p></div><div><div class="legalnotice"><a name="id2457492"></a><p class="legalnotice-title"><b>Conditions</b></p><p>
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published
    by the Free Software Foundation; either version 2 of the License,
    or (at your option) any later version.

    This program is distributed in the hope that it will be useful, but
    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
    or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
    for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software Foundation,
    Inc., 59 Temple Place, Suite 330, Boston, MA, 02111-1307, USA.
   </p></div></div><div><div class="abstract"><p class="title"><b>Abstract</b></p><p>
    <span class="application">ROX-Filer</span> is a graphical file manger for the X
    Window System. Its user interface is based on the RISC OS filer and it
    supports similar features such as application directories and drag-and-drop
    loading and saving of files. The filer can also act as a pinboard, allowing
    you to pin frequently used files onto the desktop background.
   </p></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="#intro">1. Introduction</a></span></dt><dd><dl><dt><span class="sect1"><a href="#id2449713">Features</a></span></dt></dl></dd><dt><span class="chapter"><a href="#invoking">2. Invoking</a></span></dt><dd><dl><dt><span class="sect1"><a href="#id2448209">Pinboard support</a></span></dt><dt><span class="sect1"><a href="#id2448278">Panels</a></span></dt><dt><span class="sect1"><a href="#id2448347">Window manager notes</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2448368">Sawfish / sawmill</a></span></dt><dt><span class="sect2"><a href="#id2448392">IceWM</a></span></dt><dt><span class="sect2"><a href="#id2448442">Window Maker</a></span></dt><dt><span class="sect2"><a href="#id2448648">Others</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2448660">Running as root</a></span></dt></dl></dd><dt><span class="chapter"><a href="#keys">3. Mouse button and key bindings</a></span></dt><dt><span class="chapter"><a href="#selection">4. The selection and file groups</a></span></dt><dd><dl><dt><span class="sect1"><a href="#id2507284">Saving and restoring the selection</a></span></dt></dl></dd><dt><span class="chapter"><a href="#toolbar">5. The toolbar</a></span></dt><dt><span class="chapter"><a href="#menus">6. The menus</a></span></dt><dd><dl><dt><span class="sect1"><a href="#id2507706">The display menu</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2507908">
     Permissions
    </a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2508086">The file menu</a></span></dt><dt><span class="sect1"><a href="#id2508459">The select menu</a></span></dt><dt><span class="sect1"><a href="#id2508588">The new menu</a></span></dt><dt><span class="sect1"><a href="#id2508686">The window menu</a></span></dt><dt><span class="sect1"><a href="#id2508910">The help menu</a></span></dt><dt><span class="sect1"><a href="#id2508988">The send to menu</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2509052">Showing different applications for different types</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2509104">The bookmarks menu</a></span></dt></dl></dd><dt><span class="chapter"><a href="#icons">7. The pinboard and panels</a></span></dt><dd><dl><dt><span class="sect1"><a href="#id2509216">The pinboard and panel menus</a></span></dt><dt><span class="sect1"><a href="#id2509350">Panel applets</a></span></dt><dt><span class="sect1"><a href="#id2509455">Iconified windows on the pinboard</a></span></dt><dt><span class="sect1"><a href="#id2509479">The pinboard backdrop image</a></span></dt></dl></dd><dt><span class="chapter"><a href="#id2509645">8. 
   Removable devices
  </a></span></dt><dt><span class="chapter"><a href="#id2509785">9. File thumbnails</a></span></dt><dd><dl><dt><span class="sect1"><a href="#id2509846">Technical details</a></span></dt></dl></dd><dt><span class="chapter"><a href="#virtual">10. 
   Virtual file systems
  </a></span></dt><dt><span class="chapter"><a href="#minibuffer">11. The mini-buffer</a></span></dt><dd><dl><dt><span class="sect1"><a href="#id2509982">The path-entry box</a></span></dt><dt><span class="sect1"><a href="#id2510193">The shell command box</a></span></dt><dt><span class="sect1"><a href="#id2510415">The conditional
    selection box</a></span></dt></dl></dd><dt><span class="chapter"><a href="#id2510490">12. 
   Renaming files in bulk
  </a></span></dt><dt><span class="chapter"><a href="#actions">13. Action windows</a></span></dt><dd><dl><dt><span class="sect1"><a href="#id2510705">Action window options</a></span></dt></dl></dd><dt><span class="chapter"><a href="#searching">14. Searching</a></span></dt><dd><dl><dt><span class="sect1"><a href="#id2510868">Wildcards</a></span></dt><dt><span class="sect1"><a href="#id2510958">Simple tests</a></span></dt><dt><span class="sect1"><a href="#id2511202">Logic operators</a></span></dt><dt><span class="sect1"><a href="#id2511264">Comparisons</a></span></dt><dt><span class="sect1"><a href="#id2511631">Specials</a></span></dt></dl></dd><dt><span class="chapter"><a href="#options">15. Options</a></span></dt><dt><span class="chapter"><a href="#types">16. Filetypes</a></span></dt><dd><dl><dt><span class="sect1"><a href="#id2511892">
    The Set Run Action box
   </a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2511942">Setting the run action by drag-and-drop</a></span></dt><dt><span class="sect2"><a href="#id2511961">Setting the run action by entering a shell command</a></span></dt><dt><span class="sect2"><a href="#id2511998">Setting the default media-type handlers</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2512027">
    The Set Icon box
   </a></span></dt><dt><span class="sect1"><a href="#id2512080">How filetypes are stored</a></span></dt></dl></dd><dt><span class="chapter"><a href="#appdirs">17. 
   Application directories
  </a></span></dt><dd><dl><dt><span class="sect1"><a href="#id2512375">The AppInfo file</a></span></dt></dl></dd><dt><span class="chapter"><a href="#i18n">18. Internationalisation</a></span></dt><dd><dl><dt><span class="sect1"><a href="#id2512491">
    Selecting a translation
   </a></span></dt><dt><span class="sect1"><a href="#id2512545">Creating a new translation</a></span></dt><dt><span class="sect1"><a href="#id2512689">Updating an existing translation</a></span></dt></dl></dd><dt><span class="chapter"><a href="#hacking">19. Hacking</a></span></dt><dd><dl><dt><span class="sect1"><a href="#id2512798">Compiling</a></span></dt><dt><span class="sect1"><a href="#id2512846">Creating and applying patches</a></span></dt><dt><span class="sect1"><a href="#id2512937">Autoconf</a></span></dt><dt><span class="sect1"><a href="#id2513059">Data-structures</a></span></dt></dl></dd><dt><span class="appendix"><a href="#compiling">A. Compiling</a></span></dt><dt><span class="appendix"><a href="#manpage">B. Manual page</a></span></dt><dd><dl><dt><a href="#rox">ROX</a> - a simple graphical file manager</dt></dl></dd><dt><span class="appendix"><a href="#soap">C. SOAP RPC</a></span></dt><dt><span class="bibliography"><a href="#id2515030">References</a></span></dt></dl></div></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="intro"></a>Chapter1.Introduction</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#id2449713">Features</a></span></dt></dl></div><p>
   <span class="application">ROX-Filer</span> is a simple and easy to use graphical
   file manager for X11 &#8212; the windowing system used on Unix and Unix-like
   operating systems.  It is also the core component of the ROX Desktop
   [<a href="#id2515036"><span class="citation">ROX</span></a>]. Many of the filer's features were inspired by RISC
   OS [<a href="#id2515049"><span class="citation">RISC OS</span></a>]. `ROX' stands for `RISC OS&#8211;On&#8211;X'.
  </p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2449713"></a>Features</h2></div></div></div><p>

    </p><div class="variablelist"><dl><dt><span class="term">XDND</span></dt><dd><p>
        A common drag-and-drop protocol used, for example, by the GNOME
        desktop[<a href="#id2515087"><span class="citation">GNOME</span></a>]. This allows data to be loaded into an
        application by dragging it from a filer window to a program. The full
        specification is given in [<a href="#id2515100"><span class="citation">DND</span></a>].
     </p></dd><dt><span class="term">XDS</span></dt><dd><p>
        An extension to XDND that allows applications to save data by
        dragging an icon back to a filer window. The full specification is given in
        [<a href="#id2515113"><span class="citation">XDS</span></a>].
     </p></dd><dt><span class="term">Choices</span></dt><dd><p>
        A simple, but flexible, system for managing user choices.  See
        [<a href="#id2515126"><span class="citation">Choices</span></a>] for details.
     </p></dd><dt><span class="term">Application directories</span></dt><dd><p>
        Self contained relocatable applications, where installation is as simple as
        copying it to where you want it and uninstalling it is just a matter of
        deleting a directory. Described later in this documentation.
     </p></dd><dt><span class="term">Thumbnails</span></dt><dd><p>
        The filer can be made to display image files by using the image itself for the
        icon, instead of a generic `this-is-an-image' icon. Very useful for organising
        a directory full of photos! See [<a href="#id2515166"><span class="citation">Thumbs</span></a>] for details
        (spec is still in developement).
     </p></dd><dt><span class="term">Shared MIME Info Database</span></dt><dd><p>
        In the past, each desktop had its own database of rules for determining the
	type of files. The Shared MIME Info Database[<a href="#id2515193"><span class="citation">SharedMIME</span></a>]
	unifies these into a single system shared by all desktops.
     </p></dd><dt><span class="term">Icon Themes</span></dt><dd><p>
	Collections of file icons, called themes, can be installed (eg, to
	`<tt class="filename">~/.icons</tt>'). You can switch between themes in
	the Options box. Once other desktops support this fully, themes
	will be sharable between desktops.
     </p></dd><dt><span class="term">DNotify support (Linux only)</span></dt><dd><p>
        If used with a recent Linux kernel (2.4.x series), the filer will notice changes
	to directories automatically. On other systems, directories will update when the
	pointer is moved over them.
     </p></dd></dl></div><p>

   </p></div></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="invoking"></a>Chapter2.Invoking</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#id2448209">Pinboard support</a></span></dt><dt><span class="sect1"><a href="#id2448278">Panels</a></span></dt><dt><span class="sect1"><a href="#id2448347">Window manager notes</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2448368">Sawfish / sawmill</a></span></dt><dt><span class="sect2"><a href="#id2448392">IceWM</a></span></dt><dt><span class="sect2"><a href="#id2448442">Window Maker</a></span></dt><dt><span class="sect2"><a href="#id2448648">Others</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2448660">Running as root</a></span></dt></dl></div><p>
   You should be able to start the filer by simply running the <b class="userinput"><tt>rox</tt></b>
   command, by typing it at a shell prompt or otherwise. If the filer isn't installed yet,
   consult <a href="#compiling" title="AppendixA.Compiling">AppendixA, <i>Compiling</i></a>.
  </p><p>
   By default, <span class="application">ROX-Filer</span> will start by displaying
   the current directory.  You can get it to display other directories instead
   by listing them after the command:

   </p><pre class="screen">$ rox /home /usr /usr/local</pre><p>

   You can also use it to open files, like this:

   </p><pre class="screen">$ rox README</pre><p>

   The filer supports various options; use <tt class="option">-h</tt> for a list.
   All options have long and short forms (eg <tt class="option">-h</tt> and
   <tt class="option">--help</tt>) &#8212; although on some systems you can only use the
   short versions.
   </p><p>
   Note that if the same version of the filer is already running on this
   machine then, by default, it will be used to open the directories.
   </p><p>
   For a complete list of command-line options, see <a href="#manpage" title="AppendixB.Manual page">AppendixB, <i>Manual page</i></a>
  </p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2448209"></a><a name="run_pin"></a>Pinboard support</h2></div></div></div><p>

    If you want the filer to manage your desktop background then you use
    the <tt class="option">--pinboard</tt> option and supply a name for the pinboard,
    eg:

    </p><pre class="screen">$ rox --pinboard=MyPinboard</pre><p>

    The pinboard configuration is saved in
    `<tt class="filename">&lt;Choices&gt;/ROX-Filer/pb_MyPinboard</tt>'
    as soon as you change it in some way (for example, by dropping a file
    onto the background). You can have as many pinboards as you like and
    switch between them by running rox again, eg:

    </p><pre class="screen">$ rox --pinboard=MyOtherPinboard</pre><p>

    To turn off the pinboard again, set the name to an empty string:

    </p><pre class="screen">$ rox --pinboard=</pre><p>

    See the <a href="#winman">window manager notes</a> if you have trouble getting the icons to
    display correctly. The pinboard may also be turned on and off by locating
    `<tt class="filename">ROX-Filer</tt>' in a filer window and choosing `Enable
    pinboard' or `Disable pinboard' from the menu.  </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2448278"></a><a name="run_pan"></a>Panels</h2></div></div></div><p>

    Panels work just like the pinboard. You can create a panel on any
    side of the screen by using the options <tt class="option">--left</tt>, <tt class="option">--right,</tt>
    <tt class="option">--top</tt> and <tt class="option">--bottom</tt>, depending on which side
    of the screen the panel should appear on. On some systems, the short
    (one letter) form of the options must be used. For example, to create
    a panel along the bottom edge of the screen:

    </p><pre class="screen">$ rox -b=MyPanel</pre><p>

    The panel should be displayed in a window without a title bar. If
    this does not work then see the <a href="#winman">window manager notes</a> for some ideas.
    You can drag files onto either side of the panel to add them. Panel icons
    can be repositioned by dragging them with the middle mouse button.
    Changes to the panel are automatically saved to
    `<tt class="filename">&lt;Choices&gt;/ROX-Filer/pan_MyPanel</tt>'.
    As with the pinboard, you can switch between panel configurations
    simply by running rox again with a different panel name. Specify a
    blank name to remove the panel.

    </p><pre class="screen">$ rox --bottom=MyOtherPanel
$ rox --bottom=</pre><p>
   </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2448347"></a><a name="winman"></a>Window manager notes</h2></div></div></div><p>
    You may have to play around with your window manager a bit to get
    the pinboard icons and panels to display correctly (eg, without borders
    and underneath all other windows). In particular, try setting the
    stacking level / depth to low (or a negative value). Make sure any
    'Keep transients above other windows' type options are turned off!
   </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2448368"></a>Sawfish / sawmill</h3></div></div></div><p>
     Sawfish tries to guess whether you are using GNOME at start-up and only
     provides support if so. You may need to add the line
     </p><pre class="programlisting">(require 'gnome)</pre><p>
     to your `<tt class="filename">.sawfishrc</tt>' file (see the sawfish manual
     for more details).
    </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2448392"></a>IceWM</h3></div></div></div><p>

     Paste these configuration settings into
     `<tt class="filename">~/.icewm/preferences</tt>':

     </p><pre class="programlisting">
      # Manage root window (EXPERIMENTAL - normally enabled!)
      GrabRootWindow=1 # 0/1
      # Bitmask of root window button click to use in window manager
      UseRootButtons=3 # [0-255]
      # Desktop mouse-button click to show the menu
      DesktopWinMenuButton=1 # [0-20]
      # Desktop mouse-button click to show the window list
      DesktopWinListButton=2 # [0-5]
      # Desktop mouse-button click to show the window list menu
      DesktopMenuButton=0 # [0-20]</pre><p>
     Paste these into `<tt class="filename">~/.icewm/winoptions</tt>':

     </p><pre class="programlisting">
      # ROX-Filer pinboard and panel
      ROX-Filer.icon: folder
      ROX-Panel.layer: Dock
      ROX-Panel.doNotCover: 1
      ROX-Panel.ignoreWinList: 1
      ROX-Panel.ignoreTaskBar: 1
      ROX-Panel.ignoreQuickSwitch: 1
      ROX-Pinboard.layer: Below
      ROX-Pinboard.ignoreWinList: 1
      ROX-Pinboard.ignoreTaskBar: 1
      ROX-Pinboard.ignoreQuickSwitch: 1
      ROX-Filer.layer: Normal</pre><p>
     Restart IceWM and the filer for the new settings to take effect.

    </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2448442"></a>Window Maker</h3></div></div></div><div class="procedure"><ol type="1"><li><p>Run the filer using <b class="userinput"><tt>rox -p=Default</tt></b>.</p></li><li><p>
       Press <span class="keycap">Control</span>+<span class="keycap">Escape</span>, or
       [RightButtonDown] on any window's titlebar.
       Choose <span class="guimenuitem"><span class="guimenuitem">Attributes...</span></span> from the menu.
      </p></li><li><p>
       The Attributes Inspector window appears. From the pulldown menu
       at the top, choose <span class="guimenuitem"><span class="guimenuitem">Window Specification</span></span>
       (the top item).
      </p></li><li><p>
       Press the <span class="guibutton">Select window</span> button.
       The cursor changes to a double crosshair. Select one of the
       <span class="application">ROX-Filer</span> pinboard icons. The radio buttons
       in the <span class="guilabel">Window Specification</span> frame should change
       their labels to include <b class="userinput"><tt>ROX-Pinboard.ROX-Filer</tt></b>
       as the first item. Select that radio button.
      </p></li><li><p>
       Choose <span class="guimenuitem"><span class="guimenuitem">Window Attributes</span></span> from the pulldown
       menu. In the <span class="guilabel">Attributes</span> frame, choose the
       features you want the pinboard icons to have; I recommend the
       following:
	</p><div class="itemizedlist"><ul type="disc"><li><p>Disable titlebar</p></li><li><p>Disable resizebar</p></li><li><p>Disable close button</p></li><li><p>Disable miniaturize button</p></li><li><p>Keep at bottom (sunken)</p></li><li><p>Omnipresent</p></li></ul></div><p>
       </p></li><li><p>
       Choose <span class="guimenuitem"><span class="guimenuitem">Advanced Options</span></span> from the pulldown
       menu. In the <span class="guilabel">Advanced</span> frame, choose the advanced
       features you wish; I recommend the following:

       </p><div class="itemizedlist"><ul type="disc"><li><p>Do not show in the window list</p></li><li><p>Ignore 'Hide Others'</p></li><li><p>Ignore 'Save Session' (possibly)</p></li></ul></div><p>
      </p></li><li><p>
       When you're finished selecting window attributes, press the
       <span class="guibutton">Save</span> button, and then close the Attributes
       Inspector window using the <span class="guibutton">X</span> button in the titlebar.
      </p></li></ol></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2448648"></a>Others</h3></div></div></div><p>
     If all else fails, try the Compatibility section of the Options window.
    </p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2448660"></a>Running as root</h2></div></div></div><p>

    If you run the filer as the `root' user then the filer will display
    a message at the top of each window to remind you. The root user has
    permission to access or change any file in the system, so be very
    careful when using the filer like this.

    Normally, you should log in as an ordinary user and only change to
    root when you need to. If you have <span><b class="command">sudo</b></span> installed
    and set up then you can run the filer like this:

    </p><pre class="screen">$ sudo rox</pre><p>

    Remember, any file operations you perform and any programs you run from
    these windows will run as root too! Be careful!
    </p><p>
    You may find that the X server won't allow root (or other users) to
    connect. Reading the manual pages for <span><b class="command">xauth</b></span> and
    <span><b class="command">xhost</b></span> may give you some hints, but it varies
    between systems (which is why this isn't built in to the filer!).

   </p><p>
    Note: <span><b class="command">gnomesu</b></span> can also be used to run the filer as root,
    but you'll need to use <span><b class="command">setsid</b></span> to run it in a new
    session group, otherwise gnomesu kills it before it has a chance to open
    a window. For example:
    </p><pre class="screen">gnomesu -c 'setsid /usr/local/bin/rox /'</pre><p>
   </p></div></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="keys"></a>Chapter3.Mouse button and key bindings</h2></div></div></div><div class="itemizedlist"><p class="title"><b>Quick start:</b></p><ul type="disc"><li><p>Click the left
     <sup>[<a name="id2506902" href="#ftn.id2506902">1</a>]</sup> mouse button to open files and
     directories.</p></li><li><p>
     Click the right button to get a menu. Click over a file to perform an action on that file.
   </p></li><li><p>
     Drag files between windows with the left button to copy, move or link them
     (choose from a menu). Linking creates a shortcut to the original file.
   </p></li></ul></div><p>
   By default, the mouse button bindings are designed to fit in with X
   conventions. However, the behaviour is highly configurable &#8212; have a play in
   the Options window if you don't like the normal settings. The normal settings
   behave as follows:
  </p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Key or mouse button</th><th>Action</th></tr></thead><tbody><tr><td>Left button click</td><td>
       Open the file or directory clicked on. Hold down <span class="keycap">Control</span>
       to select things instead of opening them. Hold down <span class="keycap">Shift</span>
       to look inside applications, treat files as text, follow symlinks, or
       get more control over mount points (see <a href="#media">Removable devices</a>).
     </td></tr><tr><td>Middle button click</td><td>
       Same as left click, but open a directory in a new window or close the viewer
       when opening a file.
     </td></tr><tr><td>Right button click</td><td>
       Open the main menu. Hold down <span class="keycap">Control</span> while clicking to go
       directly to the Selection submenu. Hold down <span class="keycap">Shift</span> to get the
       <span class="guimenu">Send To</span> menu (see the <a href="#SendTo">Send To menu</a> section).
     </td></tr><tr><td>Drag an item  (left mouse button)</td><td>
       Show a menu of possible actions. There is an option to disable this menu,
       in which case this gesture will copy the file(s) to the destination (an
       application or another filer window). Hold down <span class="keycap">Shift</span>
       to move the file, <span class="keycap">Control</span>+<span class="keycap">Shift</span> to
       create a symbolic link, or <span class="keycap">Alt</span> to get the menu of
       possible actions.
     </td></tr><tr><td>Drag an item (middle mouse button)</td><td>
       When you let go, display a menu of possible actions.
       There is an option to make this move the files rather than open the menu.
     </td></tr><tr><td>Drag (not over an item)</td><td>
       Select a group of items by dragging a box around them. With the left
       mouse button, only the files in the box will be selected. If you hold
       down <span class="keycap">Control</span> then the boxed items are added to the selection.
       If you use the middle button then the boxed items switch between being selected
       and unselected.
     </td></tr><tr><td>Double-click background</td><td>
       Resize the window to a sensible size (this can be turned off from
       the Options window).
     </td></tr><tr><td><span class="keycap">Backspace</span></td><td>
       Change to viewing the parent directory.
     </td></tr><tr><td>Cursor keys</td><td>
       Move the cursor around.
     </td></tr><tr><td>
       <span class="keycap">Page Up</span>, <span class="keycap">Page Down</span></td><td>
       Move the cursor up and down a page at a time.
     </td></tr><tr><td><span class="keycap">Home</span>, <span class="keycap">End</span></td><td>
       Move to the first/last entry in the directory.
     </td></tr><tr><td><span class="keycap">Return</span></td><td>
       Acts like clicking on the file. You may hold down Shift for other
       effects, as with clicking. Holding down Alt works like clicking with
       the middle button; directories open in a new window and opening files
       closes the directory at the same time.
     </td></tr><tr><td><span class="keycap">Spacebar</span></td><td>
       Toggles the item under the cursor between being selected and unselected,
       and moves to the next item.
     </td></tr><tr><td><span class="keycap">Tab</span>, <span class="keycap">Shift</span>+<span class="keycap">Tab</span></td><td>
       Moves the cursor to the next/previous selected item.
     </td></tr><tr><td>Hold mouse over an item</td><td>
       Shows a tooltip containing a brief description of an application (if
       available), the target of a symbolic link, and the full name of a file,
       if it's too long to show in the main window.
     </td></tr></tbody></table></div><p>
   If you have user-defineable key-bindings enabled, then other keys can easily
   be set by opening the menu, moving the pointer over the item you want to use
   and pressing a key. The key will appear in the menu and can be used from
   then on. Key bindings are automatically saved when the filer quits.
   You can use an XSettings manager, such as ROX-Session, to turn this feature
   on for all Gtk+-2.0 applications.
  </p><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a name="ftn.id2506902" href="#id2506902">1</a>] </sup>This documentation assumes that button&#8211;1 is the left
       button, button&#8211;2 is the middle button and button&#8211;3 is the
       right button. This is not always the case &#8212; for example, in a
       left-handed setup.</p></div></div></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="selection"></a>Chapter4.The selection and file groups</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#id2507284">Saving and restoring the selection</a></span></dt></dl></div><p>
   When you select items in a <span class="application">ROX-Filer</span> window,
   the filer takes the <span class="emphasis"><em>primary selection</em></span>. You can then paste
   into another window to get the pathnames of the selected files.
  </p><div class="procedure"><a name="id2507230"></a><p class="title"><b>Procedure4.1.Example: loading a file into an application that doesn't support
    drag-and-drop:</b></p><ol type="1"><li><p>Open the application's Open dialog box.</p></li><li><p>
     <span class="keycap">Control</span>-click on the file in
     <span class="application">ROX-Filer</span> to select it.</p></li><li><p>
     Click the middle button in the filename box in the application to paste the
     name in.
   </p></li></ol></div><p>
   Note that clicking the middle mouse button in the main area of most web-browsers
   will open the selected file.
   </p><p>
   If you select something else (eg, some text in another program), the selected
   items in the filer window will be shown shaded (the filer no longer has the
   primary selection).  Clicking on one of the shaded items will cause the
   filer to regain the primary selection.
  </p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2507284"></a>Saving and restoring the selection</h2></div></div></div><p>
    It is sometimes useful to save the current selection for later. You can
    save the current selection to one of ten numbered groups by pressing
    <span class="keycap">Control</span>+<span class="keycap">&lt;number&gt;</span>.
    You can restore a saved group by pressing the group number on its own. You
    can do this from a different directory, or even a different filer window.
    </p><p>
    Saving is also useful even if there is no selection, since it still saves
    the current directory.
   </p><div class="procedure"><a name="id2507314"></a><p class="title"><b>Procedure4.2.Example: saving a directory and returning to it later:</b></p><ol type="1"><li><p>You are looking at a directory, and wish to remember it.
      Press <span class="keycap">Control</span>+<span class="keycap">1</span>.</p></li><li><p>Move to another directory, or close the window, etc.</p></li><li><p>Press <span class="keycap">1</span> in any filer window to return
      to the first directory.</p></li></ol></div><p>The groups are saved automatically for next time the filer is loaded.
  </p></div></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="toolbar"></a>Chapter5.<a name="Toolbar"></a>The toolbar</h2></div></div></div><p>

   By default, each window has a toolbar along the top. You can disable
   this (or make it larger) from the Options window, as well as set which
   tools appear on the toolbar. Normally, you should click with the left
   mouse button (1). However, many tools can perform a related function
   if clicked on with buttons 2 or 3 (middle or right).
  </p><div class="informaltable"><table border="1"><colgroup><col><col><col></colgroup><thead><tr><th>
       Icon</th><th>
       Mouse button 1</th><th>
       Other button
     </th></tr></thead><tbody><tr><td>
       Cross</td><td>
       Close the window</td><td>
       Open a new window
       </td></tr><tr><td>
       Up arrow</td><td>
       Change to parent directory</td><td>
       Show parent in a new window <a href="#newwin_fn">[1]</a>
       </td></tr><tr><td>
       House</td><td>
       Change to home directory</td><td>
       Show home in a new window <a href="#newwin_fn">[1]</a>
       </td></tr><tr><td>
       Jump to point</td><td>
       Open the <a href="#bookmarks">Bookmarks menu</a>
       </td><td>
       Edit the bookmarks
       </td></tr><tr><td>
       Looping arrows</td><td>
       Reread the directory contents</td><td>
       Open a new window
       </td></tr><tr><td>
       Magnifying glass (+)</td><td>
       Select a larger icon size.</td><td>
       Select a smaller icon size.
       </td></tr><tr><td>
       Magnifying glass (fit)</td><td>
       Set Automatic sizing mode and resize the window.</td><td>
       -
       </td></tr><tr><td>
       List</td><td>
       Hide or show extra details</td><td>
       Same
       </td></tr><tr><td>
       A..Z</td><td>
       Step forward through the different sort types.</td><td>
       Step backward through the sort types.
       </td></tr><tr><td>
       Eye</td><td>
       Toggle the display of hidden files (those with names starting with a dot)</td><td>
       Same
       </td></tr><tr><td>
       List with selections</td><td>
       Select All.</td><td>
       Invert Selection.
       </td></tr><tr><td>
       Life-belt</td><td>
       Show <span class="application">ROX-Filer</span>'s help files</td><td>
       Open manual directly
     </td></tr></tbody></table></div><p>
   <a name="newwin_fn"></a>[1]
   If the 'New window on button 1' option is turned on
   then the default is to open a new window &#8212; clicking with the other
   button reuses the same window instead.
  </p><p>
   Dragging files to the Up or Home icons acts just like dragging them
   into the directory which the button leads to. Dragging to the Bookmarks button
   will add the directory as a bookmark.
  </p><p>
   The toolbar can also show the number of files in the directory, and
   information about the selection. This can be turned on or off in the
   Options box.
  </p></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="menus"></a>Chapter6.The menus</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#id2507706">The display menu</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2507908">
     Permissions
    </a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2508086">The file menu</a></span></dt><dt><span class="sect1"><a href="#id2508459">The select menu</a></span></dt><dt><span class="sect1"><a href="#id2508588">The new menu</a></span></dt><dt><span class="sect1"><a href="#id2508686">The window menu</a></span></dt><dt><span class="sect1"><a href="#id2508910">The help menu</a></span></dt><dt><span class="sect1"><a href="#id2508988">The send to menu</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2509052">Showing different applications for different types</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2509104">The bookmarks menu</a></span></dt></dl></div><p>
   By default, you can open a menu by right clicking over a pinboard, panel or
   filer window.

   In filer windows, you may also press <span class="keycap">\</span> to open the menu. As
   a shortcut, you can open the File submenu directly by holding down the
   <span class="keycap">Control</span> key when opening the menu. Here is a full
   description of each menu item:

   </p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Entry</th><th>Action</th></tr></thead><tbody><tr><td><span class="guimenuitem"><span class="guimenuitem">Display</span></span></td><td>
        Change the display settings.
      </td></tr><tr><td><span class="guimenuitem"><span class="guimenuitem">File</span></span></td><td>
        Operations on the selected items.
      </td></tr><tr><td><span class="guimenuitem"><span class="guimenuitem">Select</span></span></td><td>
        Control which items are selected.
      </td></tr><tr><td><span class="guimenuitem"><span class="guimenuitem">Options...</span></span></td><td>
        Configure <span class="application">ROX-Filer</span>.
      </td></tr><tr><td><span class="guimenuitem"><span class="guimenuitem">New</span></span></td><td>
        Create a new file or subdirectory inside this directory.
      </td></tr><tr><td><span class="guimenuitem"><span class="guimenuitem">Window</span></span></td><td>
        Operations on the window as a whole.
      </td></tr><tr><td><span class="guimenuitem"><span class="guimenuitem">Help</span></span></td><td>
        Information about the filer.
      </td></tr></tbody></table></div><p>

  </p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2507706"></a>The display menu</h2></div></div></div><p>

    </p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Entry</th><th>Action</th></tr></thead><tbody><tr><td><span class="guimenuitem"><span class="guimenuitem">Icons View</span></span></td><td>
       Files are displayed as rows of icons.
       </td></tr><tr><td><span class="guimenuitem"><span class="guimenuitem">Icons, With...</span></span></td><td>
       Files are displayed as rows of icons with additional details
       (chosen from the submenu). To see fuller information about each file
       use the List View instead.
       </td></tr><tr><td><span class="guimenuitem"><span class="guimenuitem">List View</span></span></td><td>
       Show files in a list along with their details. Click on a column heading
       to sort by that column.
       </td></tr><tr><td><span class="guimenuitem"><span class="guimenuitem">Bigger Icons</span></span></td><td>
       Increase the size of the icons. Turns off Automatic mode.
       </td></tr><tr><td><span class="guimenuitem"><span class="guimenuitem">Smaller Icons</span></span></td><td>
       Reduce the size of the icons. Turns off Automatic mode.
       </td></tr><tr><td><span class="guimenuitem"><span class="guimenuitem">Automatic</span></span></td><td>
       Select a sensbile icon size automatically now and when changing
       directory, etc.
       </td></tr><tr><td><span class="guimenuitem"><span class="guimenuitem">Sort by XXX</span></span></td><td>
       Set the sort mode. In List View you can also set the sort type by
       clicking on the column headings.
       </td></tr><tr><td><span class="guimenuitem"><span class="guimenuitem">Reversed</span></span></td><td>
       Sort in reverse order (newest to oldest, largest to smallest, etc).
       </td></tr><tr><td><span class="guimenuitem"><span class="guimenuitem">Filter Files...</span></span></td><td>
       Restrict the display to only show files with names matching the
       given pattern.
       The titlebar shows <span class="guilabel">(Glob (pattern))</span> when this is on.
       </td></tr><tr><td><span class="guimenuitem"><span class="guimenuitem">Show Hidden</span></span></td><td>
       If on, files beginning with a dot are shown, otherwise they are hidden.
       The titlebar shows <span class="guilabel">(All)</span> when this is on.
       </td></tr><tr><td><span class="guimenuitem"><span class="guimenuitem">Show Thumbnails</span></span></td><td>
       When on, the filer tries to load every image file and use that
       image as the file's icon. Useful if you have a directory full of
       photos and can't remember which is which!
       See the <a href="#thumbnails">Thumbnails</a> section for details.
       </td></tr><tr><td><span class="guimenuitem"><span class="guimenuitem">Refresh</span></span></td><td>
       Rereads the contents of the directory and details of all the files
       in it. Use this if the display becomes out-of-date.
       </td></tr><tr><td><span class="guimenuitem"><span class="guimenuitem">Save Display Settings...</span></span></td><td>
       Remember the display settings just for this directory. Each time you
       open the directory, the saved settings will be used.
       </td></tr></tbody></table></div><p>

   </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2507908"></a><a name="Permissions"></a>
     Permissions
    </h3></div></div></div><p>

     The permissions field, when shown, is made up of four groups of three
     flags. Each flag is displayed as a letter if it is on and a dash (&#8211;)
     if not. The first three characters show the permissions for the owner
     of the file, the second for other members of the file's group and
     the third for everyone else. Whichever group applies to the
     <span class="application">ROX-Filer</span> process itself is shown underlined.
     The fourth group shows any special flags.
     </p><p>
     The meanings of the characters are:

     </p><div class="itemizedlist"><ul type="disc"><li><p><tt class="computeroutput">r</tt> &#8212;
        Permission to read the contents of a file, or the names of files
        in a directory.</p></li><li><p><tt class="computeroutput">w</tt> &#8212;
        Permission to alter the contents of a file, or change which names
        appear in a directory.</p></li><li><p><tt class="computeroutput">x</tt> &#8212;
        Permission to run the file as a program, or refer to the files
        listed within the directory.</p></li><li><p><tt class="computeroutput">U</tt> &#8212;
        This program executes with the <span class="emphasis"><em>effective user ID</em></span> of its
        owner rather than the person who ran it.</p></li><li><p><tt class="computeroutput">G</tt> &#8212;
        This program executes with the <span class="emphasis"><em>effective group ID</em></span> of its
        group, regardless of who ran it.</p></li><li><p><tt class="computeroutput">T</tt> &#8212;
        Entries in this directory can only be altered or removed by the
        people who own the files even if they have write permission on the
        directory itself.</p></li></ul></div><p>
     For example,
     </p><pre class="programlisting">
      <u>rwx</u>,rwx,r-x/---</pre><p>
     means that the owner of the file is the same as the effective user of
     <span class="application">ROX-Filer</span> (basically, you own the file), you and
     members of the file's group have read, write and execute permission and other
     people have only read and execute permission. There are no special flags set.

     The rules which determine which permissions apply may vary slightly between
     operating systems, but a rough guide is:

     </p><div class="itemizedlist"><ul type="disc"><li><p>If the <span class="emphasis"><em>effective user ID</em></span> of the
        process is equal to the file's owner, then the owner permissions apply.
      </p></li><li><p>Otherwise, if the <span class="emphasis"><em>effective group ID</em></span>
        of the process is equal to the file's group OR the file's group is one
        of the process's <span class="emphasis"><em>supplemental groups</em></span> then the
        group permissions apply.
      </p></li><li><p>Otherwise, the `other' permissions apply. The
        <span class="emphasis"><em>real user ID</em></span> and <span class="emphasis"><em>real group
         ID</em></span> have no effect (except that a process may set its real
        IDs to its effective IDs).
      </p></li></ul></div><p>

    </p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2508086"></a>The file menu</h2></div></div></div><p>
    All of these work in the same way &#8212; if you open the menu with some
    items selected then the operation applies to those items. If you open
    then menu over an item while there is no selection then that item
    is temporarily selected.
    </p><p>
    If you choose one of these while there is no selection at all then the
    window goes into `target mode'; the operation happens to the next item you
    click on. Click on the window background, press <span class="keycap">Escape</span>, or
    click with the right mouse button to cancel target mode. Target mode is
    mainly useful with the <span class="guilabel">Single-click navigation</span> option
    and keys bound to the various menu entries. </p><p>
    Note that individual applications may add extra menu items to the
    top of this submenu when you click over them &#8212; see
    <a href="#AppDir">Application directories</a> for details. There may also be any number of
    user-defined actions at the top, which depend on the type of file
    clicked on. You can add programs here by choosing the
    <span class="guimenuitem"><span class="guimenuitem">Customise Menu</span></span> item. For example, you could
    make <span class="application">The Gimp</span> appear on the menu for images, and
    <span class="application">FreeFS</span> appear for mount points.

    </p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Entry</th><th>Action</th></tr></thead><tbody><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Copy...</span></span></td><td>
         Make a copy of this object.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Rename...</span></span></td><td>
         Change the name used for this object, or move it between directories.
	 If multiple files are selected, this opens
	 <a href="#bulkrename">The Bulk Rename window</a>.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Link...</span></span></td><td>
         Create a symbolic link to this name.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Delete</span></span></td><td>
         Remove all the selected entries from the directory. Subdirectories
         will have their contents deleted first. Deleting symlinks only removes
         the link, not the thing it points to.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Shift Open</span></span></td><td>
	 Opens applications as directories, files as text/plain, and
	 symlinks by opening the directory containing the thing they point to.
	 It also has interesting effects on mount points (see <a href="#media">Removable devices</a>).
	 This is the same effect as clicking with <span class="keycap">Shift</span> held
	 down. The text of the menu entry changes to show which action will be
	 performed.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Open AVFS</span></span></td><td>
         Open the file as if it was a directory &#8212; see the
         <a href="#vfs">Virtual file systems</a> section.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Send To...</span></span></td><td>
         Opens the `Send To' menu, allowing you to send the selected files
         to one of a list of applications. See the
         <a href="#SendTo">Send To menu</a> section.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Set Run Action...</span></span></td><td>
         Allows you to set the default program to use when opening files of
         this type. See <a href="#RunAction">the Set Run Action box</a> section for details.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Set Icon...</span></span></td><td>
         You can give each file or directory its own special icon using this
         feature &#8212; simply drag a suitable image onto <a href="#SetIcon">the Set Icon box</a>.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Properties</span></span></td><td>
         Display extra information about this object. You can also change
	 the access permissions from here (<span class="guimenuitem"><span class="guimenuitem">Permissions</span></span>
	 below allows you to change many files at once), and change the target
	 to which a symlink points.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Count</span></span></td><td>
         Count the sizes of all the selected items. Directories also have their
         contents counted. Symlinks count themselves, not the things they point
         to.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Set Type...</span></span></td><td>
         Set the MIME type for a file. This only works on filesystems with extended attribute support. For older filesystems, you will have to rename a file to change its type.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Permissions</span></span></td><td>
         Allows you to change the permissions for the selected files.
	 If only one file is to be changed, you can use
	 <span class="guimenuitem"><span class="guimenuitem">Properties</span></span> instead for a simpler interface.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Find</span></span></td><td>
         Search for files by specifying various conditions &#8212; see the
         <a href="#Searching">Searching</a> section.
       </td></tr></tbody></table></div><p>
   </p><p><b>Note about symlinks:</b>
     A symbolic link stores the <span class="emphasis"><em>location</em></span>
     of another file. Deleting the symlink doesn't affect the other file.
     Deleting the other file means that the symlink won't work. There are
     two types of symbolic link &#8212; Relative and Absolute. An absolute
     link stores the path from the root directory to the target file (eg
     `<tt class="filename">/home/fred/MyFile</tt>').

     A relative path stores the path from the symlink
     to the target (eg `<tt class="filename">../fred/MyFile</tt>').
     If the target file is never going to move then you want an absolute link,
     but if the target may move (and the symlink will be moved with it) then
     you want a relative link.
    </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2508459"></a>The select menu</h2></div></div></div><p>
    This menu allows you to select and unselect files in various ways. See the
    <a href="#keys">mouse and key bindings</a> section for other ways to select files.

    </p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Entry</th><th>Action</th></tr></thead><tbody><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Select All</span></span></td><td>
         Select every item in this window.
       </td></tr><tr><td><span class="guimenuitem"><span class="guimenuitem">Clear Selection</span></span></td><td>
         Unselect every item in this window.
       </td></tr><tr><td><span class="guimenuitem"><span class="guimenuitem">Invert Selection</span></span></td><td>
	 Every selected file becomes unselected, and every unselected file
	 becomes selected.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Select by Name...</span></span></td><td>
         Select just those files that match the given name pattern. This
	 isn't as flexible as <span class="guimenuitem"><span class="guimenuitem">Select If...</span></span> (see
	 below), but it is quicker to use. Files also highlight as you type
	 with this option. The default key binding is <span class="keycap">.</span>,
	 so you can type <b class="userinput"><tt>.png</tt></b> to select all
	 `<tt class="filename">.png</tt>' files, for example.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Select If...</span></span></td><td>
         Select just those files that match the given pattern &#8212;
         see the <a href="#SelectIf">Select If</a> section.
       </td></tr></tbody></table></div><p>

   </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2508588"></a>The new menu</h2></div></div></div><p>

    Each entry in this submenu opens a savebox for creating a new file or
    directory. There are two standard entries; the others are the contents of
    your `<tt class="filename">&lt;Choices&gt;/Templates</tt>' directory, if it
    exists.


    </p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Entry</th><th>Action</th></tr></thead><tbody><tr><td>
         Directory</td><td>
         Create a new directory.
         </td></tr><tr><td>
         File</td><td>
         Create a blank file.
         </td></tr><tr><td>
         &lt;user entries&gt;</td><td>
         Copy a file from your Templates directory.
       </td></tr></tbody></table></div><p>


    To add your own entries, create a new directory called
    `<tt class="filename">~/Choices/Templates</tt>'
    (if you have the default <tt class="envar">CHOICESPATH</tt>) and put any files you
    want in there. Each file in the directory will appear on the menu and the
    box that appears will copy it. For example, you could create a blank
    HTML file:

    </p><pre class="programlisting">
&lt;html&gt;
 &lt;head&gt;
  &lt;title&gt;My Page&lt;/title&gt;
 &lt;/head&gt;
 &lt;body&gt;
  The contents.
 &lt;/body&gt;
&lt;/html&gt;</pre><p>

    Save this as `<tt class="filename">index.html</tt>' inside the
    `<tt class="filename">Templates</tt>' directory and you can easily create new
    HTML files. You can also save blank documents from various applications
    into here (eg, a blank spreadsheet, a blank letter, etc).
    </p><p>
    Note that you cannot set keyboard shortcuts for these user-defined
    entries at present.

   </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2508686"></a>The window menu</h2></div></div></div><p>


    </p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Entry</th><th>Action</th></tr></thead><tbody><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Parent, New Window</span></span></td><td>
         Open a new window displaying this window's parent.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Parent, Same Window</span></span></td><td>
         As above, but reuse this window.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">New Window</span></span></td><td>
         Open another window onto this directory.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Home Directory</span></span></td><td>
         Change to your home directory.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Show Bookmarks</span></span></td><td>
         Open the bookmarks menu (see <a href="#bookmarks">Bookmarks menu</a>).
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Follow Symbolic Links</span></span></td><td>
	 Converts the path shown in the window's titlebar to its canonical form.
	 For example, if `<tt class="filename">/home/fred/link</tt>' is a symlink
	 pointing to `<tt class="filename">/usr/share/doc/</tt>' then clicking on the symlink
	 will take you to that directory and going `up' will take you back to
	 `<tt class="filename">/home/fred</tt>'.
	 If you'd used <span class="guimenuitem"><span class="guimenuitem">Follow Symbolic Links</span></span>, you would
	 have ended up in `<tt class="filename">/usr/share</tt>' instead.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Resize Window</span></span></td><td>
         Set the window to a sensible size for its contents.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Close Window</span></span></td><td>
         Close this window.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Enter Path...</span></span></td><td>
         Open the path-entry box (see the the <a href="#mini">Minibuffer</a> section).
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Shell Command...</span></span></td><td>
         Open the shell command box (see the <a href="#mini">Minibuffer</a> section).
       </td></tr><tr><td><span class="guimenuitem"><span class="guimenuitem">Xterm Here</span></span></td><td>
        Open an xterm with its current directory set to this directory.
      </td></tr><tr><td><span class="guimenuitem"><span class="guimenuitem">Switch to xterm</span></span></td><td>
        Open an xterm with its current directory set to this directory, and close the
	filer window at the same time.
      </td></tr></tbody></table></div><p>


   </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2508910"></a>The help menu</h2></div></div></div><p>

    </p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Entry</th><th>Action</th></tr></thead><tbody><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">About ROX-Filer...</span></span></td><td>
         Display information about the file. This is the same as locating ROX-Filer
	 itself in a filer window and selecting <span class="guimenuitem"><span class="guimenuitem">Properties</span></span> from
	 the file menu.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Show Help Files</span></span></td><td>
	 Same as selecting ROX-Filer and choosing
	 <span class="guimenuitem"><span class="guimenuitem">Help</span></span> from the file menu.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Manual</span></span></td><td>
	 Opens the HTML manual for your language, or the English version if there
	 is no translation.
       </td></tr></tbody></table></div><p>

   </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2508988"></a><a name="SendTo"></a>The send to menu</h2></div></div></div><p>

    The `Send To' menu provides a quick way to send some files to an application.
    The filer scans all the `<tt class="filename">SendTo</tt>' directories in your
    <tt class="envar">CHOICESPATH</tt> and lists the contents on this menu.
    </p><p>
    To change which applications appear here you should choose the
    <span class="guimenuitem"><span class="guimenuitem">Customise</span></span> item from the bottom
    of the menu to create and open your own `<tt class="filename">SendTo</tt>'
    directory. Applications can be symlinked into this directory by dragging
    them in and choosing <span class="guimenuitem"><span class="guimenuitem">Link</span></span> from the menu.
    </p><p>
    Opening the Send To menu via the main menu is rather slow, so it is
    normally opened by clicking the Menu mouse button over a file while
    holding the <span class="keycap">Shift</span> key down.
   </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2509052"></a>Showing different applications for different types</h3></div></div></div><p>
     You may want to set things up so that, for example, the Gimp is
     only shown when an image is selected. To do this, create a
     hidden directory inside `<tt class="filename">SendTo</tt>' called
     `<tt class="filename">.image</tt>', or whatever type you want to use.
     You can use either the complete type (eg `<tt class="filename">.image_png</tt>')
     or just the media type. Use <span class="guimenuitem"><span class="guimenuitem">Properties</span></span> over a
     file to find out its MIME type.
    </p><p>
     Entries in these hidden directories are shown only for files of
     the appropriate type. If multiple files are selected, the
     `<tt class="filename">.group</tt>' directory is used instead.
    </p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2509104"></a><a name="bookmarks"></a>The bookmarks menu</h2></div></div></div><p>
    The bookmarks menu can be used to store a list of frequently used directories.
    You can also open the menu from the main popup menu (in the <span class="guimenuitem"><span class="guimenuitem">Window</span></span> submenu)
    and you can use this to bind a shortcut key to it. From the bookmarks menu
    you can add the currently shown directory to the list, jump to one of the
    stored directories, or open a dialog letting you edit the list. In the dialog
    box, you can remove entries, rearrange them (using the arrows or by
    dragging) and edit the pathnames directly, if required.
   </p><p>
    The <span class="guimenuitem"><span class="guimenuitem">Recently Visited</span></span> submenu shows the last few directories
    viewed. Choosing one will switch to that directory. The current directory is shown
    shaded, since you are already there.
   </p></div></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="icons"></a>Chapter7.The pinboard and panels</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#id2509216">The pinboard and panel menus</a></span></dt><dt><span class="sect1"><a href="#id2509350">Panel applets</a></span></dt><dt><span class="sect1"><a href="#id2509455">Iconified windows on the pinboard</a></span></dt><dt><span class="sect1"><a href="#id2509479">The pinboard backdrop image</a></span></dt></dl></div><p>

   The <a href="#run_pin">Pinboard support</a> and <a href="#run_pan">Panel support</a> sections explain
   how to turn the pinboard and panels on. Once on, you may drop items from filer
   windows onto the them to pin them up. Clicking on a pinned item acts just like
   clicking on it in a filer window. You can drag pinned icons just like normal
   icons and you can right-click on one to see the popup menu.
   </p><p>
   Drag panel icons with the middle mouse button to move them around.
   In previous versions of the filer, pinboard icons were also moved using the
   middle mouse button, but this is no longer supported (as the middle button
   is reserved for the window manager's use).
   </p><p>
   You can assign keyboard shortcuts to pinboard and panel icons. These can be
   used to open directories, files or applications quickly, even if another
   window has the focus.
   </p><p>
   Changes to the pinboard and panel are automatically saved. Clicking on pinned
   icons with <span class="keycap">Control</span> held down selects and unselects them.
   Click on the background to unselect them all.
  </p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>
    Pinning a file does <span class="emphasis"><em>not</em></span> copy it, it merely
    creates a shortcut to the original file. If you delete the file, then
    you've lost it! Removing a pinned file from its pinboard or panel
    only removes the link. This is different to most other filers...
  </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2509216"></a>The pinboard and panel menus</h2></div></div></div><p>

    </p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Entry</th><th>Action</th></tr></thead><tbody><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">ROX-Filer</span></span></td><td>
         Show the filer's help, edit the options or open your home directory.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">File `file'</span></span></td><td>
         Offers a smaller version of the filer's submenu of the same name.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Edit Item</span></span></td><td>
         Change the name displayed under the icon, or the pathname the item
         points to. You can also set a keyboard shortcut for the icon here.
	 For programs, you can specify extra arguments to be passed in.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Show Location</span></span></td><td>
         Open a directory viewer showing where the file is stored.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Remove Item(s)</span></span></td><td>
         Remove the selected items from the pinboard or panel.
       </td></tr><tr><td>
         <span class="guimenuitem"><span class="guimenuitem">Backdrop...</span></span></td><td>
	 Set the desktop backdrop image (see below). Only available from
	 the pinboard menu.
       </td></tr></tbody></table></div><p>

    </p><p>
    If you are setting up the defaults for multiple users and
    you wish to create a `Home' icon that leads to each user's home directory
    then you should first create a new icon and then use
    <span class="guimenuitem"><span class="guimenuitem">Edit Icon</span></span> to change the location to
    `<tt class="filename">~</tt>' and the name to `Home'.
    </p><p>
    Note that individual applications may add extra menu items to the
    top of this menu when you click over them &#8212; see <a href="#AppDir">Application directories</a>
    for details.
   </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2509350"></a>Panel applets</h2></div></div></div><p>

    <span class="application">ROX-Filer</span> allows you to run small programs
    inside the panel &#8212; such programs are called
    <span class="emphasis"><em>applets</em></span>. To run an applet, drag it onto the panel from
    a filer window and instead of the applet's icon being shown, the applet
    will run.
   </p><div class="procedure"><a name="id2509372"></a><p class="title"><b>Procedure7.1.To create your own applets (programmers only!):</b></p><ol type="1"><li><p>
      Create a directory for the applet (eg `<tt class="filename">MyApplet</tt>').
    </p></li><li><p>
      Use the <span class="guimenuitem"><span class="guimenuitem">Set Icon...</span></span> feature to create an icon
      called `<tt class="filename">.DirIcon</tt>' inside it (so the directory appears
      with an icon).
    </p></li><li><p>
      Make a `<tt class="filename">Help</tt>' directory inside it for when the user
      chooses <span class="guimenuitem"><span class="guimenuitem">Help</span></span> from the menu.
    </p></li><li><p>
      Create an executable file called `<tt class="filename">AppletRun</tt>'. This will be
      passed the XID of the panel socket window when the directory is dragged
      onto the panel. You can use this to create a GtkPlug widget. An
      example applet (written in python) is available at
      <a href="http://rox.sourceforge.net/applets.html" target="_top">http://rox.sourceforge.net/applets.html</a>
    </p></li></ol></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2509455"></a><a name="iconify"></a>Iconified windows on the pinboard</h2></div></div></div><p>
    When the pinboard is in use, ROX-Filer can be used to display an icon for each iconified
    (or 'minimised') window. You can turn this on or off from the Options box. Iconified window icons
    have a semi-transparent background slab effect, and can be dragged around.
    Clicking on one will expand it back into the window it represents. Some
    older window managers do not support this, and no icons will be shown.
   </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2509479"></a><a name="backdropapp"></a>The pinboard backdrop image</h2></div></div></div><p>
    You can set any image for the backdrop by choosing <span class="guimenuitem"><span class="guimenuitem">Backdrop...</span></span>
    from the pinboard menu (right-click over the desktop background when the pinboard is turned on).
   </p><p>
    To set an image, select <span class="guilabel">Centre</span>, <span class="guilabel">Scale</span>,
    <span class="guilabel">Stretch</span> or <span class="guilabel">Tile</span> to set the style,
    and then drag an image onto the marked area.  To return to a solid colour
    backdrop (as set in the Options box), click on <span class="guibutton">Clear</span>.
   </p><p>
    The Wallpaper[<a href="#id2515180"><span class="citation">Wallpaper</span></a>] application can be used for more complicated
    effects, such as choosing a new random image each hour, or rendering an image of the Earth
    as it is currently lit by the sun.
   </p><p><b>For programmers...</b>
     If you want to create an application to set the backdrop (eg, to choose a
     random image, or a slideshow) you need to first create an application directory
     (see <a href="#AppDir">Application directories</a>).
    </p><p>
    When run without arguments, the application should invoke the
    <span class="function">SetBackdropApp</span> SOAP method (see <a href="#soap" title="AppendixC.SOAP RPC">AppendixC, <i>SOAP RPC</i></a>). The filer will immediately run the application again,
    this time with the <tt class="option">--backdrop</tt> option.
   </p><p>
    When run with <tt class="option">--backdrop</tt>, the program should write the style and name of
    the image file to display to its standard output stream, eg:
    </p><pre class="screen">tile /tmp/image.png</pre><p>
    <b class="userinput"><tt>centre</tt></b> and <b class="userinput"><tt>scale</tt></b> are the other possible
    styles. The filer will then load this image and display it. The application does not
    set the backdrop itself, it only tells the filer what to display.
   </p><p>
    In the case of a random backdrop chooser, the program may then quit immediately. If
    the application created a temporary image then it should read the line "ok\n" from its
    standard input before deleting the image.
   </p><p>
    If the application wishes to show a sequence of images it should still read "ok\n",
    then wait until it's time to display the next image and then write that filename, and
    so on.
   </p><p>
    The filer will indicate that the program should stop running by closing the two
    streams. The program should clean up and exit at this point. Be sure to catch
    SIGPIPE when writing to standard output if you need to delete any temporary files.
   </p><p>
    See the Wallpaper[<a href="#id2515180"><span class="citation">Wallpaper</span></a>] application for a complete example application
    (written in python).
   </p></div></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="id2509645"></a>Chapter8.
   <a name="media"></a>Removable devices
  </h2></div></div></div><p>
   Using removable devices, such as floppy disks and CDROMs under ROX-Filer is quite
   simple. However, it is important to understand about <span class="emphasis"><em>mounting</em></span> and
   <span class="emphasis"><em>unmounting</em></span> devices.
  </p><p>
   Mounting a device causes its contents to appear in the filesystem. On a typical setup,
   the directory `<tt class="filename">/floppy</tt>' is an empty directory on the hard disk.
   The floppy device is then mounted onto this directory, causing its contents to appear
   inside. For example, a file called `<tt class="filename">Letter</tt>' on the floppy disk will
   appear as `<tt class="filename">/floppy/Letter</tt>'.
  </p><p>
   Devices must be unmounted before the disk is removed. Unmounting causes the system to
   write any buffered data to the disk. If you remove a disk without unmounting
   it, it will probably be corrupted. CD and Zip drives often lock the tray while the
   device is mounted so you can't remove it accidentally.
  </p><p>
   So that you don't have to specify which device should be mounted at which point in the
   filesystem every time you want to use a disk, a preset list is usually found in the
   file `<tt class="filename">/etc/fstab</tt>'. ROX-Filer shows mount points (such as
   `<tt class="filename">/floppy</tt>') which are listed here but not mounted with transparent
   grey circles overlayed on their icons.
  </p><p>
   Clicking on one of these mount points will mount the device for you. The circle turns
   green to indicate that the device is now mounted. Do <span class="emphasis"><em>not</em></span> remove
   the device while the circle is lit! You can unmount the device by clicking
   while holding down <span class="keycap">Shift</span> on the `<tt class="filename">/floppy</tt>'
   directory icon.
  </p><p>
   You can also unmount a device by closing its directory window (eg, closing
   the view of `<tt class="filename">/floppy</tt>') and choosing Unmount when prompted. The
   filer will only offer to unmount devices this way if they were mounted by
   the filer in the first place.
  </p><p>
   If you want to open a directory without mounting anything (eg, if you want to
   see the contents of `<tt class="filename">/floppy</tt>' on the hard disk), you can
   click on the unmounted mount point with <span class="keycap">Shift</span> held down.
   This isn't usually useful, as these directories are typically empty.
  </p></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="id2509785"></a>Chapter9.<a name="thumbnails"></a>File thumbnails</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#id2509846">Technical details</a></span></dt></dl></div><p>
    When thumbnailing is turned on, the filer tries to load every image file
    and use that image as the file's icon. Useful if you have a directory full
    of photos and can't remember which is which! You can turn it on for
    a single directory by choosing <span class="guimenuitem"><span class="guimenuitem">Show Thumbnails</span></span>
    from the <span class="guimenu">Display</span> menu. You can set it as the default
    from the Options box.
    The titlebar shows <span class="guilabel">(Thumbs)</span> when thumbnailing is on.
  </p><p>
    The thumbnails are saved in `<tt class="filename">~/.thumbnails</tt>' for
    quick loading next time.
    While loading thumbnails, a progress bar appears at the bottom of
    the window. Clicking on the <span class="guibutton">Cancel</span> button
    beside the bar stops the scan.
    It is also possible to thumbnail other types of file, such as videos
    (eg, by showing the first frame), with a suitable helper program.
  </p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2509846"></a>Technical details</h2></div></div></div><p>
When in thumbnail mode <span class="application">ROX-Filer</span> checks the
thumbnail directory (`<tt class="filename">~/.thumbs/normal</tt>') for a
thumbnail for each file it scans. If a thumbnail exists it loads it and
continues on to the next file.
  </p><p>
To generate a thumbnail for a given file of type media/subtype the filer looks
for a program `<tt class="filename">&lt;Choices&gt;/MIME-thumb/media_subtype</tt>',
falling back to `<tt class="filename">&lt;Choices&gt;/MIME-thumb/media</tt>' if one
cannot be found (this duplicates how run actions for files are looked up). If
neither file can be found and the file is of type image/* then the internal
routines are used. If the file is not of type image/* then no thumbnail is
generated.
  </p><p>
If the generator program is found, is executed with the parameters
</p><pre class="screen">thumbnailer /path/to/source/file /path/to/thumbnail pixel_size</pre><p>
  </p><p>
Once the child program exits, it attempts to load
`<tt class="filename">/path/to/thumbnail</tt>'. If that fails no thumbnail is
displayed.
  </p><p>
Note that because of the order it does things ROX-Filer will happily
use any pre-existing thumbnail even if it has no idea how it was
generated.
  </p></div></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="virtual"></a>Chapter10.
   <a name="vfs"></a>Virtual file systems
  </h2></div></div></div><p>
   Some types of file can be represented as a directory. A typical example
   is a zip file, which contains an entire directory structure in compressed
   form. It is often useful to be able to open up such a file as if it
   was a real directory, and the VFS system allows you to do this.
  </p><p>
   To use this feature you must have a system such as
   AVFS[<a href="#id2515140"><span class="citation">AVFS</span></a>] installed, which causes the kernel to support
   various Virtual File Systems directly.
  </p></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="minibuffer"></a>Chapter11.<a name="mini"></a>The mini-buffer</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#id2509982">The path-entry box</a></span></dt><dt><span class="sect1"><a href="#id2510193">The shell command box</a></span></dt><dt><span class="sect1"><a href="#id2510415">The conditional
    selection box</a></span></dt></dl></div><p>

   The mini-buffer is a white bar that appears along the bottom of the
   window and allows you to enter some text. Press <span class="keycap">Escape</span> to
   get rid of it again. It behaves in different ways depending on how you
   invoked it:
  </p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2509982"></a>The path-entry box</h2></div></div></div><p>

    This allows you to type in a path directly. As you type the display
    is updated to show the item entered visually. The main use is to find
    a file in a large directory quickly, but you can also use it for navigating
    between directories, or for selecting a full pathname from somewhere
    else and pasting it directly into the path-entry box.


    </p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Key</th><th>Action</th></tr></thead><tbody><tr><td>
         <span class="keycap">Return</span></td><td>
         Open the currently selected item.
       </td></tr><tr><td>
         <span class="keycap">Tab</span></td><td>
         Shell-style tab completion.
       </td></tr><tr><td>
         <span class="keycap">Up</span>, <span class="keycap">Down</span></td><td>
         Select the previous/next matching entry.
       </td></tr></tbody></table></div><p>

   </p><p>
    If you start entering a name beginning with a `.' then the `Show Hidden'
    feature is temporarily turned on so that the file can be shown.
   </p><p>
    Tab completion tries to fill in as many characters for you as it can.
    For example, if there are two files in a directory called 
    `<tt class="filename">save-mail-nov-1999</tt>' and
    `<tt class="filename">save-mail-dec-1999</tt>' then typing
    <b class="userinput"><tt>save</tt></b> and pressing <span class="keycap">Tab</span> will expand
    <b class="userinput"><tt>save</tt></b> to <b class="userinput"><tt>save-mail-</tt></b> and beep
    to indicate that the match is not complete. If you use tab completion on a
    directory and it is unique then the filer will automatically change into
    the directory. This behavior should be familiar to shell users.
   </p><div class="informalexample"><p>
     Let's say you want to locate the documentation for Wine in the directory
     `<tt class="filename">/usr/share/doc</tt>' (which is usually very large).
     Here's how you could do it:

     </p><div class="orderedlist"><ol type="1"><li><p>
	Open the minibuffer by choosing <span class="guimenuitem"><span class="guimenuitem">Enter
	Path...</span></span> from the <span class="guimenu">Window</span> menu, or
        by pressing the slash (<span class="keycap">/</span>) key.
      </p></li><li><p>
	Press <span class="keycap">CTRL</span>+<span class="keycap">A</span> to select the existing
	contents.
      </p></li><li><p>
	Type
	<b class="userinput"><tt>u&lt;Tab&gt;sh&lt;Tab&gt;do&lt;Tab&gt;wi&lt;Tab&gt;</tt></b>.
        As you type, the cursor will move to the correct subdirectory.
	If it beeps when you press <span class="keycap">Tab</span> then you need to supply
	more letters, or press <span class="keycap">Return</span>.
      </p></li></ol></div><p>

   </p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2510193"></a>The shell command box</h2></div></div></div><p>

    This provides a quick way of entering shell commands if you don't
    want to open an xterm. If you don't know what shell commands are,
    skip this section!
    </p><p>
    Just type in the command and press <span class="keycap">Return</span> to execute it.
    <span class="keycap">Up</span> and <span class="keycap">Down</span> arrows move through previously
    entered commands.
    <span class="keycap">Tab</span> does shell-style completion.
    Clicking on an item inserts its name into the minibuffer.
    If some items are selected then they are assigned to the positional
    parameters <b class="userinput"><tt>$1</tt></b>, <b class="userinput"><tt>$2</tt></b>, etc.
    </p><p>
    Opening the minibuffer with a selection adds <tt class="computeroutput">"$@"</tt>
    to the end of the command &#8212; this expands to all the selected files.
   </p><div class="informalexample"><p>Examples:

     </p><div class="orderedlist"><p class="title"><b>To untar a `<tt class="filename">.tgz</tt>' archive:</b></p><ol type="1"><li><p>
        Open the minibuffer by choosing <span class="guimenuitem"><span class="guimenuitem">Shell Command...</span></span> from
        the <span class="guimenu">Window</span> menu.
        I usually bind this to the bang (<span class="keycap">!</span>) key.
      </p></li><li><p>
        Type <b class="userinput"><tt>tar xzf</tt></b> and click on the file.
        The leading space is automatically inserted.
      </p></li><li><p>
        Press <span class="keycap">Return</span> to execute it.
      </p></li></ol></div><p>

     </p><div class="orderedlist"><p class="title"><b>To print all the selected files:</b></p><ol type="1"><li><p>
        Open the shell command minibuffer.
      </p></li><li><p>
        Type <b class="userinput"><tt>lpr</tt></b> at the beginning of the line and press
        <span class="keycap">Return</span>.
      </p></li></ol></div><p>

   </p></div><div class="itemizedlist"><p class="title"><b>Notes</b></p><ul type="disc"><li><p>
      Be careful; you will not be asked to confirm! If in doubt, start the
      command with <b class="userinput"><tt>xmessage</tt></b> so that it will be displayed
      rather than executed.
    </p></li><li><p>
      <span class="citerefentry"><span class="refentrytitle">sh</span></span>
      is always used as the name of the shell to run (mainly because
      <span class="citerefentry"><span class="refentrytitle">bash</span></span> and
      <span class="citerefentry"><span class="refentrytitle">csh</span></span> treat
      positional parameters differently).
      However, <tt class="envar">PATH</tt> is searched to find it so you can still use
      another shell if you want by naming it sh and putting it in your path.
    </p></li><li><p>
      Commands execute in the background, so you can say:

      <span><b class="command">sleep 240; xmessage Time to go!</b></span>
    </p></li></ul></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2510415"></a><a name="SelectIf"></a>The conditional
    selection box</h2></div></div></div><p>

    Use this if you want to automatically select all files in the directory
    which match a condition.

    </p><div class="orderedlist"><p class="title"><b>For example, to select all files larger than 5Mb:</b></p><ol type="1"><li><p>
       Open the Select If minibuffer.
     </p></li><li><p>
       Type <b class="userinput"><tt>Size &gt; 5Mb</tt></b> and press <span class="keycap">Return</span>.
     </p></li></ol></div><p>

    Just those files over 5 Mb in size will be selected. The expressions
    you can enter are in the same form as described in the
    <a href="#Searching">Searching</a> section, except that
    <b class="userinput"><tt>prune</tt></b> has no effect since the contents of
    directories are never checked anyway. You can press <span class="keycap">Tab</span>
    to jump to each selected file in turn.

   </p></div></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="id2510490"></a>Chapter12.
   <a name="bulkrename"></a>Renaming files in bulk
  </h2></div></div></div><p>
   If you have a large number of files to rename, it is tedious to rename them one
   by one. Instead, select all the files and choose <span class="guimenuitem"><span class="guimenuitem">Rename...</span></span>
   from the menu to open the bulk rename window.
  </p><p>
   The window shows a table with two columns. The <span class="guilabel">Before</span> column
   shows the current name of each selected file, and the <span class="guilabel">After</span>
   column shows the new name, which is initially the same.
  </p><p>
   There are two ways to change the new names. You can edit the names in the table
   directly, or you can use the search and replace feature at the top of the window.
   This takes a regular expression to search for, and some text to replace matches
   with. For example, if you had a lot of files with names ending in
   `<tt class="filename">.htm</tt>' and you wanted to change them to use
   `<tt class="filename">.html</tt>', you would enter <b class="userinput"><tt>\.htm$</tt></b> in
   the <span class="guilabel">Replace:</span> field and <b class="userinput"><tt>.html</tt></b> in the
   <span class="guilabel">With:</span> field. When you click <span class="guibutton">Apply</span>, the
   table is updated to show the proposed new names (but no actual renaming is done
   yet).
  </p><p>
   Having checked that the new names look OK, click on the <span class="guibutton">Rename</span>
   button to actually perform the rename operation.
  </p></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="actions"></a>Chapter13.Action windows</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#id2510705">Action window options</a></span></dt></dl></div><p>
   Action windows are those boxes that appear while you're doing a
   Copy/Move/Link/etc operation. The status line at the top of the window shows
   the current directory or object that the window is processing. The scrolling
   area below is the log area &#8212; it shows what has been done, and questions
   may be displayed here.
   </p><p>
   Below this are four buttons and some options. All windows have the
   <span class="guilabel">Quiet</span> option. When this is on the filer will only
   confirm some operations (such as deleting a non-writeable file). Otherwise,
   all operations are confirmed.
   </p><p>
   The buttons work as follows:

   </p><div class="variablelist"><dl><dt><span class="term"><span class="guibutton">Yes</span></span></dt><dd><p>
       answers yes to the question displayed in the log area.
    </p></dd><dt><span class="term"><span class="guibutton">No</span></span></dt><dd><p>
       answers no to the question displayed in the log area.
    </p></dd><dt><span class="term"><span class="guibutton">Cancel</span></span></dt><dd><p>
       kills the current operation (if any) and closes the action
       window.
    </p></dd><dt><span class="term"><span class="guibutton">Quiet</span></span></dt><dd><p>
       is a quick way to turn <span class="guilabel">Quiet</span> on and click
       <span class="guibutton">Yes</span>.
    </p></dd></dl></div><p>

   You can control which actions get started automatically (without you
   having to click on <span class="guibutton">Quiet</span> at the start) from the
   Options window.
  </p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2510705"></a>Action window options</h2></div></div></div><p>

    Some actions have options, which appear as option boxes at the bottom
    of the window. They are:

    </p><div class="itemizedlist"><ul type="disc"><li><p>
       <span class="guilabel">Force</span> means that the filer won't treat non-writeable
       files as special.  Normally, it confirms the deletion even if
       <span class="guibutton">Quiet</span> is pressed.
       Note that you still can't remove files from non-writeable directories because
       in that case you really don't have permission.
     </p></li><li><p>
       <span class="guilabel">Brief</span> prevents the filer logging a message every time it
       does something.  Use this to speed things up if large numbers of messages are
       being logged.
     </p></li><li><p>
       <span class="guilabel">Recurse</span> means that doing something to a directory will
       also do the same thing to all its contents, and the contents of any
       subdirectories, and so on.
     </p></li><li><p>
       <span class="guilabel">Newer</span> will automatically copy a file over an existing one
       if the file is newer than the one it replaces (later modification time).
     </p></li></ul></div><p>
   </p><p>
     You can set the defaults for these options from the Options box.
   </p></div></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="searching"></a>Chapter14.<a name="Searching"></a>Searching</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#id2510868">Wildcards</a></span></dt><dt><span class="sect1"><a href="#id2510958">Simple tests</a></span></dt><dt><span class="sect1"><a href="#id2511202">Logic operators</a></span></dt><dt><span class="sect1"><a href="#id2511264">Comparisons</a></span></dt><dt><span class="sect1"><a href="#id2511631">Specials</a></span></dt></dl></div><p>
   The Find feature looks through all the selected files and directories
   and any subdirectories (recursively) looking for items that match
   a particular expression.
   </p><p>
   Choose <span class="guimenuitem"><span class="guimenuitem">Find</span></span> from the <span class="guimenu">File</span>
   submenu to search all the selected objects. If you want to select all the
   files within a single directory which meet certain criteria, use
   <span class="guimenuitem"><span class="guimenuitem">Select</span></span> -&gt; <span class="guimenuitem"><span class="guimenuitem">Select If...</span></span>
   instead.
   </p><p>
   If you know the name of a file then just enter it in the `Expression:'
   box, enclosed in single quotes. For example, to find a file called
   `<tt class="filename">log</tt>' you would enter <b class="userinput"><tt>'log'</tt></b>.

   Remember to use normal quotes, not double quotes (") or back-quotes (`).
   </p><p>
   As the filer finds matching files they are added to the results list.
   Double-clicking on an entry in the list opens a viewer showing that file.
   The filer will use the same window to view other results (so, if you want
   the results shown in separate windows you must explicitly create a new
   window from the <span class="guimenu">Window</span> menu).
  </p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2510868"></a>Wildcards</h2></div></div></div><p>

    You can also put shell-style wildcard characters inside the quotes,
    for example:

    </p><table class="simplelist" border="0" summary="Simple list"><tr><td><span><b class="command">'*.html'</b></span></td></tr><tr><td><span><b class="command">'Report.*'</b></span></td></tr><tr><td><span><b class="command">'Draft[1-5]'</b></span></td></tr><tr><td><span><b class="command">'main.[ch]'</b></span></td></tr></table><p>

    Look at the
    <span class="citerefentry"><span class="refentrytitle">glob</span>(7)</span>
    manpage if you want to know more about shell wildcards.
    </p><p>
    If the pattern you enter contains a slash (`/') character then the
    pattern is matched against the file's full path, otherwise only the
    leafname is used. That is, <b class="userinput"><tt>'*tmp*'</tt></b> will find
    `<tt class="filename">tmp</tt>' and `<tt class="filename">tmpfile</tt>' but not
    `<tt class="filename">/tmp/file</tt>' &#8212; <b class="userinput"><tt>'/*tmp*'</tt></b> will find
    all three.
   </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2510958"></a>Simple tests</h2></div></div></div><p>
    As well as finding files by their names you can also find them by
    various other attributes. Note that <span class="emphasis"><em>file</em></span> is used here to
    mean anything that can appear in the filesystem &#8212; including directories,
    devices and so on.
    </p><p>
    You can also use a short form for each test; these are shown in brackets.
    You can combine multiple tests &#8212; `<b class="userinput"><tt>-rw</tt></b>' is
    the same as `<b class="userinput"><tt>IsReadable and IsWriteable</tt></b>'.
   </p><div class="itemizedlist"><p class="title"><b>These look at the type of the item being checked:</b></p><ul type="disc"><li><p>
      <b class="userinput"><tt>IsReg (-f)</tt></b> matches any regular (ie, normal) file.
    </p></li><li><p>
      <b class="userinput"><tt>IsLink (-l)</tt></b> matches symlinks.
    </p></li><li><p>
      <b class="userinput"><tt>IsDir (-d)</tt></b> matches directories.
    </p></li><li><p>
      <b class="userinput"><tt>IsChar (-c)</tt></b> matches character device files.
    </p></li><li><p>
      <b class="userinput"><tt>IsBlock (-b)</tt></b> matches block device files.
    </p></li><li><p>
      <b class="userinput"><tt>IsDev (-D)</tt></b> matches block or character device files.
    </p></li><li><p>
      <b class="userinput"><tt>IsPipe (-p)</tt></b> matches pipes.
    </p></li><li><p>
      <b class="userinput"><tt>IsSocket (-S)</tt></b> matches sockets.
    </p></li><li><p>
      <b class="userinput"><tt>IsDoor (-O)</tt></b> matches door objects (Solaris).
    </p></li></ul></div><div class="itemizedlist"><p class="title"><b>These look at the permissions set on the file &#8212;
     see the <a href="#Permissions">Permissions</a> section.</b></p><ul type="disc"><li><p>
      <b class="userinput"><tt>IsSUID (-u)</tt></b> matches files which have the Set-UID
      bit set.</p></li><li><p>
      <b class="userinput"><tt>IsSGID (-g)</tt></b> matches files which have the Set-GID
      bit set.</p></li><li><p>
      <b class="userinput"><tt>IsSticky (-k)</tt></b> matches files with the sticky bit
      set.</p></li><li><p>
      <b class="userinput"><tt>IsReadable (-r)</tt></b> matches files which you can read
      from.</p></li><li><p>
      <b class="userinput"><tt>IsWriteable (-w)</tt></b> matches files which you can write to.
    </p></li><li><p>
      <b class="userinput"><tt>IsExecutable (-x)</tt></b> matches files which you can execute.
    </p></li></ul></div><div class="itemizedlist"><p class="title"><b>And a couple of other useful ones:</b></p><ul type="disc"><li><p>
      <b class="userinput"><tt>IsEmpty (-z)</tt></b> finds empty files (ie, those whose
      length is 0 bytes).
    </p></li><li><p>
      <b class="userinput"><tt>IsMine (-o)</tt></b> finds files which you own.
    </p></li></ul></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2511202"></a>Logic operators</h2></div></div></div><p>
    You can combine the above tests in various ways to perform more advanced
    searches.
    An expression is actually made up of a list of <span class="emphasis"><em>cases</em></span>,
    separated by commas. The filer will try to match each case in turn
    until one matches or there are no more cases left. For example, to
    search for files with several possible endings:

    </p><pre class="screen">'*.gif', '*.htm', '*.html'</pre><p>

    Further, each of the cases is actually a list of conditions. The case
    only matches if all of its conditions are met. So, to find a directory
    called `<tt class="filename">lib</tt>' or a regular file ending in
    `<tt class="filename">.so</tt>':

    </p><pre class="screen">IsDir 'lib', IsReg '*.so'</pre><p>

    You can negate a condition by putting a <b class="userinput"><tt>!</tt></b> in front
    of it and you can use a sub-expression as a condition by bracketing it,
    like this:

    </p><pre class="screen">
     !(IsDir, IsReg)

     !IsDir !IsReg

     Not isdir and not isreg

     !-d !-f</pre><p>
    All four do the same thing.
   </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2511264"></a>Comparisons</h2></div></div></div><p>
    You can also compare various values using the operators
    <b class="userinput"><tt>&lt;</tt></b>,
    <b class="userinput"><tt>&lt;=</tt></b>,
    <b class="userinput"><tt>=</tt></b>,
    <b class="userinput"><tt>!=</tt></b>,
    <b class="userinput"><tt>&gt;</tt></b>, and
    <b class="userinput"><tt>&gt;=</tt></b>
    (for less-than, less-than-or-equal-to, equal-to,
    not-equal-to, greater-than and greater-than-or-equal-to).

    When comparing times, you may find it helpful to use
    <b class="userinput"><tt>after</tt></b> and <b class="userinput"><tt>before</tt></b> instead of
    <b class="userinput"><tt>&gt;</tt></b> and <b class="userinput"><tt>&lt;</tt></b> to make things
    clearer.
   </p><div class="itemizedlist"><p class="title"><b>
     The following are read from the file being checked and may be used
     for the values being compared:
    </b></p><ul type="disc"><li><p>
      <b class="userinput"><tt>atime</tt></b> The time that the file was last accessed.
    </p></li><li><p>
      <b class="userinput"><tt>ctime</tt></b> The time that the file's status was last changed.
    </p></li><li><p>
      <b class="userinput"><tt>mtime</tt></b> The time that the file's contents were last modified.
    </p></li><li><p>
      <b class="userinput"><tt>size</tt></b> The size of the file.
    </p></li><li><p>
      <b class="userinput"><tt>inode</tt></b> The file's inode (index) number.
    </p></li><li><p>
      <b class="userinput"><tt>nlinks</tt></b> The number of links to this file. That is,
      the number of directory entries which refer to this file. Note that
      symlinks don't count as references.
    </p></li><li><p>
      <b class="userinput"><tt>uid</tt></b> The User ID of the file.
    </p></li><li><p>
      <b class="userinput"><tt>gid</tt></b> The Group ID of the file.
    </p></li><li><p>
      <b class="userinput"><tt>blocks</tt></b> The number of disk blocks being used by the file.
    </p></li></ul></div><p>
    Times are measured as seconds since the Unix Epoch (00:00:00 UTC,
    January 1, 1970). Sizes are in bytes. When specifying constants to
    compare these values with you may use various keywords to scale the
    value:

    </p><div class="itemizedlist"><ul type="disc"><li><p>
       <b class="userinput"><tt>Byte(s)</tt></b> has no effect, but looks better.
     </p></li><li><p>
       <b class="userinput"><tt>Kb</tt></b> multiplies by 1024, so 2Kb is the same as 2048.
     </p></li><li><p>
       <b class="userinput"><tt>Mb</tt></b> multiplies by 1024<sup>2</sup>,
       ie 1024 Kb.
     </p></li><li><p>
       <b class="userinput"><tt>Sec(s)</tt></b> has no effect, but looks nice.
     </p></li><li><p>
       <b class="userinput"><tt>Min(s)</tt></b> multiplies by 60 to get minutes.
     </p></li><li><p>
       <b class="userinput"><tt>Hour(s), Day(s), Week(s), Year(s)</tt></b> likewise
       convert to the relevant unit.
     </p></li><li><p>
       <b class="userinput"><tt>Ago</tt></b> makes the time in the past relative to when
       the check is done.
     </p></li><li><p>
       <b class="userinput"><tt>Hence</tt></b> makes the time in the future.
     </p></li><li><p>
       <b class="userinput"><tt>Now</tt></b> is short for <b class="userinput"><tt>0 Secs Hence</tt></b>.
     </p></li></ul></div><p>

    Some examples should make this all a bit clearer!

    </p><pre class="screen">
     mtime after 1 day ago

     size &gt; 10 Mb

     IsReg and nlinks &gt; 1</pre><p>
    The first finds files modified within the last 24 hours. You could
    use <b class="userinput"><tt>&gt;</tt></b> instead of <b class="userinput"><tt>after</tt></b>,
    but it's not so clear what is meant.
    </p><p>
    The second finds files larger than 10 Mb. The last finds regular files with
    more than one directory entry.
    </p><p>
    Be careful though &#8212; the filer doesn't check the context of the
    modifiers, so <b class="userinput"><tt>size &gt; 1 day ago</tt></b> is allowed,
    although it doesn't make much sense!

    Also, forgetting to use <b class="userinput"><tt>ago</tt></b> or
    <b class="userinput"><tt>hence</tt></b> will cause odd effects (the time will be
    measured relative to the Epoch rather than the current time).
    Finally, don't use <b class="userinput"><tt>=</tt></b> with times &#8212;
    <b class="userinput"><tt>atime = 1 day ago</tt></b> looks for a file accessed
    <span class="emphasis"><em>exactly</em></span> 86400 seconds ago...

   </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2511631"></a>Specials</h2></div></div></div><p>

    </p><div class="itemizedlist"><ul type="disc"><li><p>
       <b class="userinput"><tt>System(Command)</tt></b> executes `Command' on the file.
       The test succeeds if the command returns an exit status of zero. A `%'
       character in `Command' is replaced by the full path of the file being
       checked.  <b class="userinput"><tt>System</tt></b> is a very slow test to perform,
       so do it last if possible.  For example, if you're looking for a
       `<tt class="filename">.c</tt>' file containing the word `main', do:

       </p><pre class="screen">'*.c' system(grep -q main "%")</pre><p>
       so that the grep is only performed for files ending in `<tt class="filename">.c</tt>'
       (as opposed to only checking that the file ends in `<tt class="filename">.c</tt>' if
       it contains the word `main').
     </p></li><li><p>
       <b class="userinput"><tt>Prune</tt></b> Always fails!
       <sup>[<a name="id2511699" href="#ftn.id2511699">2</a>]</sup>

       However, if it gets evaluated at all then it prevents the filer
       from checking inside the current directory. Remember the order in which
       the filer checks the expression!
     </p></li></ul></div><p>

    Examples:

    </p><pre class="screen">
     '*.old' system(rm '%')

     'src' prune, '*.c'</pre><p>
    The first deletes each file ending in `<tt class="filename">.old</tt>'.
    The second looks for `<tt class="filename">.c</tt>' files, but does not bother
    checking inside directories called `<tt class="filename">src</tt>'.
    The expression is evaluated like this:
    </p><p>
    If file is named `<tt class="filename">src</tt>' then `Prune'.
    Either way, check if it ends in `<tt class="filename">.c</tt>' and include
    it in the results if so.
   </p></div><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a name="ftn.id2511699" href="#id2511699">2</a>] </sup>Note that this is the opposite of the
         <span class="citerefentry"><span class="refentrytitle">find</span>(1)</span> command.</p></div></div></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="options"></a>Chapter15.Options</h2></div></div></div><p>

   You can configure various aspects of <span class="application">ROX-Filer</span>
   from the Options box.
   Choose <span class="guimenuitem"><span class="guimenuitem">Options...</span></span> from a filer window menu to
   open it. The list on the left of the window lists the various sections &#8212;
   click on one to see its options.

   At the bottom of the window are two buttons:

   </p><div class="itemizedlist"><ul type="disc"><li><p>
      <span class="guibutton">OK</span>
      saves the current choices into your Choices directory for next time
      <span class="application">ROX-Filer</span> is loaded, if anything changed.
      Exactly where choices are loaded from and saved to is controlled by the
      <tt class="envar">CHOICESPATH</tt> environment variable &#8212; see
      [<a href="#id2515126"><span class="citation">Choices</span></a>] for details.
      Changes made in the Options box take effect instantly, so you don't need to
      click on <span class="guibutton">OK</span> just to try them out.
    </p></li><li><p>
      <span class="guibutton">Revert</span>
      Restores all choices to how they were when the options box was opened.
      This button is shown shaded if you haven't made any changes.
      The Options window is not closed when this is used.
    </p></li></ul></div><p>

   The options in the Options window have tooltips explaining the use of each
   option &#8212; hold the mouse pointer over an option to find out what it
   does.

  </p></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="types"></a>Chapter16.Filetypes</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#id2511892">
    The Set Run Action box
   </a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2511942">Setting the run action by drag-and-drop</a></span></dt><dt><span class="sect2"><a href="#id2511961">Setting the run action by entering a shell command</a></span></dt><dt><span class="sect2"><a href="#id2511998">Setting the default media-type handlers</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2512027">
    The Set Icon box
   </a></span></dt><dt><span class="sect1"><a href="#id2512080">How filetypes are stored</a></span></dt></dl></div><p>

   All files have a MIME type in the form <span class="emphasis"><em>text/plain</em></span>. Here,
   <span class="emphasis"><em>text</em></span> is the <span class="emphasis"><em>media type</em></span> and
   <span class="emphasis"><em>plain</em></span> is the <span class="emphasis"><em>sub-type</em></span>.
   </p><p>
   <span class="application">ROX-Filer</span> uses a file's name to decide what its MIME
   type is, and then uses the MIME type to decide what icon to give it and what
   program to use when you open the file.
  </p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2511892"></a><a name="RunAction"></a>
    The Set Run Action box
   </h2></div></div></div><p>
    This box appears when you choose <span class="guimenuitem"><span class="guimenuitem">Set Run Action...</span></span>
    from the File menu, and is used to set which application is loaded when you click
    on a file.
    </p><p>
    For example, let's say you want to set things up so that opening a
    `<tt class="filename">.gif</tt>' file loads it into the Gimp.
    First, right-click over a gif image to open the menu and choose
    <span class="guimenuitem"><span class="guimenuitem">Set Run Action...</span></span> from the
    <span class="guimenuitem"><span class="guimenuitem">File</span></span> submenu.
    Then, you have a choice of two methods to set the run action:
   </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2511942"></a>Setting the run action by drag-and-drop</h3></div></div></div><p>
     Drag the Gimp (from a filer window, a panel or the pinboard) onto
     the area marked <span class="guilabel">Drop a suitable application here</span>.
     From now on, clicking on a GIF file will load it into the Gimp.
    </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2511961"></a>Setting the run action by entering a shell command</h3></div></div></div><p>
     Type: <b class="userinput"><tt>gimp "$@"</tt></b>
     into the box labelled <span class="guilabel">Enter a shell command</span> and press
     <span class="keycap">Return</span>. <b class="userinput"><tt>$@</tt></b>
     will be replaced by the name of the file you click on when this command
     is used. As before, clicking on any GIF image will now load it into
     the Gimp.
    </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2511998"></a>Setting the default media-type handlers</h3></div></div></div><p>
     Whichever method you use to set the action you have the choice of
     setting the run action just for that type, or setting the default
     for all files with that media-type which don't already have a specific
     action.
     </p><p>
     Since the Gimp can load many types of image, it makes sense
     to select the <span class="guilabel">Set default for all `image/&lt;anything&gt;'</span>
     option so you don't have to do it again for image/jpeg files and so on. However,
     this only affects types that don't already have a specific action
     (ie, those that would have brought up an error box if you tried to
     open them).
    </p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2512027"></a><a name="SetIcon"></a>
    The Set Icon box
   </h2></div></div></div><p>

    This box appears when you choose <span class="guimenuitem"><span class="guimenuitem">Set Icon...</span></span>
    from the File menu, and is used to set which image to use to represent
    the file.
    </p><p>
    It works much like the Set Run Action box described above, except that
    you may specifiy an icon for one file individually (by name) as well as
    for all files of a particular type. When setting the icon for a single
    file, the filer stores the name of the file and the name of the icon inside
    your Choices directory. If either moves, the icon won't be displayed.
    </p><p>
    When setting the icon for a directory, you have the additional option of
    storing the image inside the directory itself as a hidden file. This means
    that other users will see the icon too, and you can safely delete the original
    image after the copy (note that the image is scaled down if needed, and converted
    to PNG format).
    </p><p>
    The directory icon inside the <span class="guilabel">Drop an icon here</span>
    area allows you to quickly get to a directory from which you are already
    using one or more icons.
   </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2512080"></a>How filetypes are stored</h2></div></div></div><p>

    <span class="application">ROX-Filer</span> uses two sub-directories in your Choices
    directory for filetypes:

    </p><div class="variablelist"><dl><dt><span class="term">`<tt class="filename">MIME-types</tt>'</span></dt><dd><p>
        contains symlinks, one for each MIME type, which point
        to programs that can handle files of that type. To set what program
        is run when you click on the file you should normally use the <span class="guimenuitem"><span class="guimenuitem">Set
         Run Action...</span></span> feature (see the <a href="#RunAction">the Set Run Action box</a> section).
        However, you can also set the actions manually &#8212; for example, to make
        opening an HTML file load it into Netscape:

        </p><div class="orderedlist"><ol type="1"><li><p>
           Find the Netscape application and go to <span class="guimenuitem"><span class="guimenuitem">Link...</span></span>
           on the menu.
         </p></li><li><p>
           Enter <b class="userinput"><tt>text_html</tt></b> as the name for the link and drag the
           icon from the Link box into the `<tt class="filename">MIME-types</tt>' directory.
         </p></li></ol></div><p>

        You can also put actual programs in here as well as links if you want
        to.
     </p></dd><dt><span class="term">`<tt class="filename">MIME-icons</tt>'</span></dt><dd><p>
        contains the images used to display each type of file.
        So the filer will try to display an HTML file using the icon
        `<tt class="filename">MIME-icons/text_html.png</tt>'.
     </p></dd></dl></div><p>

    In both `<tt class="filename">MIME-types</tt>' and `<tt class="filename">MIME-icons</tt>'
    directories you can also provide default actions/images for each media type.
    For example, if `<tt class="filename">text_html</tt>' isn't found then the filer
    will try simply using `<tt class="filename">text</tt>'.

   </p><p>
    The filer works out the type for a file from its name. The rules come from
    various `<tt class="filename">globs</tt>' files &#8212; see
    [<a href="#id2515193"><span class="citation">SharedMIME</span></a>] for details.</p></div></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="appdirs"></a>Chapter17.<a name="AppDir"></a>
   Application directories
  </h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#id2512375">The AppInfo file</a></span></dt></dl></div><p>
   An application directory is a directory which can be run as an application.
   It contains all the resources of an application &#8212; source code, binaries,
   documentation and so on. Keeping everything in one place make installation
   and uninstallation much easier for users. You can also keep multiple
   versions of a program by simply having several application directories.
   You may move and rename them as you please. Application directories
   make programs easier to use and install.
   </p><p>
   They're more secure too, because you can compile an application as a user and
   then simply copy it as root. Since you don't have to run an install script
   you are free from the danger of running untrusted code as root. All you have
   to watch out for is setuid binaries.
   </p><p>

   The following files are treated as special by
   <span class="application">ROX-Filer</span>:

   </p><div class="itemizedlist"><ul type="disc"><li><p>
      `<tt class="filename">AppRun</tt>'
      is executed when you click on the directory &#8212; make sure
      it is executable (use the Permissions box)!
    </p></li><li><p>
      `<tt class="filename">.DirIcon</tt>'
      is the image used to represent the directory (this works even if
      there is no `<tt class="filename">AppRun</tt>').
    </p></li><li><p>
      `<tt class="filename">Help</tt>'
      is the directory to be opened when you choose <span class="guimenuitem"><span class="guimenuitem">Help</span></span>
      from the File menu.
    </p></li><li><p>
      `<tt class="filename">AppInfo.xml</tt>'
      contains extra information about an application (see below).
    </p></li><li><p>
      `<tt class="filename">AppIcon.xpm</tt>'
      is used if `<tt class="filename">.DirIcon</tt>' is missing (for backwards
      compatibility; not to be used anymore).
    </p></li></ul></div><p>

   Have a look at the `<tt class="filename">ROX-Filer</tt>' application directory for a
   full example.

  </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>For security reasons, an application directory must have the
    same owner as the `<tt class="filename">AppRun</tt>' file inside.</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2512375"></a>The AppInfo file</h2></div></div></div><p>

    `<tt class="filename">AppInfo.xml</tt>' is an XML file with the following structure
    (any elements may be omitted, and the file itself is optional):

    </p><pre class="screen">
&lt;?xml version="1.0"?&gt;
&lt;AppInfo&gt;
  &lt;Summary xml:lang="en"&gt;A graphical file manager&lt;/Summary&gt;
  &lt;Summary xml:lang="de"&gt;Ein grafische Datei-Manager&lt;/Summary&gt;
  &lt;Summary xml:lang="nl"&gt;Een grafisch bestandsbeheerprogramma&lt;/Summary&gt;
  &lt;Summary xml:lang="es"&gt;Un manejador de archivos grafico&lt;/Summary&gt;
  &lt;About xml:lang="en"&gt;
    &lt;Purpose&gt;File manager&lt;/Purpose&gt;
    &lt;Version&gt;1.3.5 PREVIEW&lt;/Version&gt;
    &lt;Authors&gt;Thomas Leonard and others&lt;/Authors&gt;
    &lt;License&gt;GNU General Public License&lt;/License&gt;
    &lt;Homepage&gt;http://rox.sourceforge.net&lt;/Homepage&gt;
  &lt;/About&gt;
  &lt;About xml:lang="es"&gt;
    &lt;Purpose&gt;Manejador de Archivos&lt;/Purpose&gt;
    &lt;Authors&gt;Thomas Leonard y otros&lt;/Authors&gt;
  &lt;/About&gt;
  &lt;AppMenu&gt;
    &lt;Item option="-p=Default"&gt;
      &lt;Label&gt;Enable pinboard&lt;/Label&gt;
      &lt;Label xml:lang="es"&gt;Habilitar el pinboard&lt;/Label&gt;
    &lt;/Item&gt;
    &lt;Item option="-p="&gt;
      &lt;Label&gt;Disable pinboard&lt;/Label&gt;
      &lt;Label xml:lang="es"&gt;Deshabilitar el pinboard&lt;/Label&gt;
    &lt;/Item&gt;
  &lt;/AppMenu&gt;
&lt;/AppInfo&gt;
</pre><p>

    </p><div class="itemizedlist"><ul type="disc"><li><p>
       <b class="userinput"><tt>Summary</tt></b>
       is displayed in a tooltip when the mouse is held over the application.
     </p></li><li><p>
       <b class="userinput"><tt>About</tt></b>
       contains a list of fields which are shown in the `File Info'
       box for the application (any element names may be used, but the above
       are suggested).
     </p></li><li><p>
       <b class="userinput"><tt>AppMenu</tt></b>
       is a list of extra menu items to display for the application.
       When one is chosen, `<tt class="filename">AppRun</tt>' is called with
       <b class="userinput"><tt>option</tt></b> as its only argument. You can nest
       AppMenus inside other AppMenus to create submenus, provided they have
       &lt;Label&gt; elements.
     </p></li></ul></div><p>

   </p></div></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="i18n"></a>Chapter18.Internationalisation</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#id2512491">
    Selecting a translation
   </a></span></dt><dt><span class="sect1"><a href="#id2512545">Creating a new translation</a></span></dt><dt><span class="sect1"><a href="#id2512689">Updating an existing translation</a></span></dt></dl></div><p>

  </p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2512491"></a><a name="LANG"></a>
    Selecting a translation
   </h2></div></div></div><p>

    <span class="application">ROX-Filer</span> is able to translate many of its messages,
    provided suitable translation files are provided:

    </p><div class="orderedlist"><ol type="1"><li><p>Open the Options box from the menu,</p></li><li><p>Select a language from the menu at the top,</p></li><li><p>Click on <span class="guibutton">Save</span> and restart the filer
       for the new setting to take full effect.</p></li></ol></div><p>

   </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2512545"></a>Creating a new translation</h2></div></div></div><p>

    </p><div class="orderedlist"><ol type="1"><li><p>Go into the `<tt class="filename">src</tt>' directory and create
       the file `<tt class="filename">messages.pot</tt>':

       </p><pre class="screen">
        $ cd ROX-Filer/src
        $ make messages.pot</pre><p>

     </p></li><li><p>Copy the file into the `<tt class="filename">po</tt>'
       subdirectory under `<tt class="filename">src</tt>' as
       `<tt class="filename">&lt;name&gt;.po</tt>'. Eg, if your
       language is referred to as `ml' (`my language'):

       </p><pre class="screen">$ cp messages.pot po/ml.po</pre><p>
     </p></li><li><p>Load the copy into a text editor.</p></li><li><p>Fill in the translations, which are all blank to start with.
     </p></li><li><p>Run the `<tt class="filename">make-mo</tt>' script to create the
       binary file which <span class="application">ROX-Filer</span> can use.
       You will need the GNU gettext package for this.
       If you don't have it then just send me the `<tt class="filename">.po</tt>' file
       and I'll convert it for you.

       </p><pre class="screen">
        $ cd ROX-Filer/src/po
        $ ./make-mo ml
        Created file ../../Messages/ml.gmo OK</pre><p>
     </p></li><li><p>Edit `<tt class="filename">ROX-Filer/Options.xml</tt>' so that
       your language is listed, restart the filer and select it from the Options box
       (see the <a href="#LANG">Translations</a> section).
     </p></li><li><p>Submit the `<tt class="filename">.po</tt>' file to me so that I
       can include it in future releases of the filer.
     </p></li></ol></div><p>
   </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2512689"></a>Updating an existing translation</h2></div></div></div><p>

    </p><div class="orderedlist"><ol type="1"><li><p>Go into the directory containing the `<tt class="filename">.po</tt>'
       files and run the `<tt class="filename">update-po</tt>' script.
       This checks the source code for new and changed strings and updates all
       the translation files.

       </p><pre class="screen">
        $ cd ROX-Filer/src/po
        $ ./update-po</pre><p>
     </p></li><li><p>Edit the file by hand as before, filling in the new blanks
       and updating out-of-date translations.
       Look out for <tt class="computeroutput">fuzzy</tt> entries where
       <span><b class="command">update-po</b></span> has made a guess; check it's correct and
       remove the <tt class="computeroutput">fuzzy</tt> line.
     </p></li><li><p>Run <span><b class="command">make-mo</b></span> as before.</p></li><li><p>Submit the updated file to me.</p></li></ol></div><p>

    See the <span><b class="command">gettext</b></span> info page for more instructions on creating
    a translation.

   </p></div></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="hacking"></a>Chapter19.Hacking</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#id2512798">Compiling</a></span></dt><dt><span class="sect1"><a href="#id2512846">Creating and applying patches</a></span></dt><dt><span class="sect1"><a href="#id2512937">Autoconf</a></span></dt><dt><span class="sect1"><a href="#id2513059">Data-structures</a></span></dt></dl></div><p>
   This is a quick start guide for people who want to modify the source
   code. If you make useful changes or fix bugs, please send patches
   to me or to the mailing list. Tell me which version you're using!
  </p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2512798"></a>Compiling</h2></div></div></div><p>
    The first time you compile the program you need to do <span><b class="command">AppRun
     --compile</b></span>, but in future you only need to run <span><b class="command">make</b></span>
    in the `<tt class="filename">src</tt>' directory when you change the
    `<tt class="filename">.c</tt>' and `<tt class="filename">.h</tt>' files.
    You might want to run <span><b class="command">make depend</b></span> too.
   </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2512846"></a>Creating and applying patches</h2></div></div></div><p>
    When people make small modifications to the sources they will often
    distribute them as <span class="emphasis"><em>patch files</em></span> &#8212; usually on the
    mailing list.

    To apply a patch, go into the `<tt class="filename">src</tt>' directory and run
    <span><b class="command">patch</b></span> with the patch file. Then recompile, like this:

    </p><pre class="screen">
     $ cd ROX-Filer/src
     $ patch &lt; patchfile
     $ ../AppRun --compile</pre><p>

    You can remove the patch by simply repeating the above sequence &#8212;
    <span><b class="command">patch</b></span> will detect that the patch is already applied
    and offer to remove it.
    </p><p>
    To create a patch you should first get the latest version of the filer
    from CVS (instructions on using CVS can be found on the web-site).
    Modify the program as you please. Create the patch using
    <span><b class="command">cvs diff</b></span> from the appropriate directory:

    </p><pre class="screen">$ cvs diff -u &gt; my_patch</pre><p>

    This creates a human&#8211; and machine-readable patch file. Submit this
    to the mailing list. The are many reasons for posting patches rather
    that the modified files:

    </p><div class="itemizedlist"><ul type="disc"><li><p>They are smaller, and hence shouldn't bounce.
       They are also quicker to download for people with slow connections.
     </p></li><li><p>People can see what they're getting into before applying them!
     </p></li><li><p>Patches can (usually) be applied to slightly modified
       versions of the sources. This means that people can apply several patches
       without each new one overwriting the others.
     </p></li></ul></div><p>

   </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2512937"></a>Autoconf</h2></div></div></div><p>
    Here's a quick explanation of the autoconf system in case you haven't
    used it before. See <span><b class="command">info autoconf</b></span> for full details.
    </p><p>
    There's a file called `<tt class="filename">configure.in</tt>' which contains
    various tests (<span><b class="command">info autoconf</b></span>).
    You run <span><b class="command">autoconf</b></span> and it reads through the file
    and generates a shell script to perform the tests, saving it as
    `<tt class="filename">configure</tt>'.
    `<tt class="filename">configure</tt>' is normally distributed with the program because
    not everyone has autoconf.
    </p><p>
    You then run `<tt class="filename">configure</tt>' (in fact, let the
    `<tt class="filename">AppRun</tt>' script do it because
    it passes it some arguments), which performs all the tests. It reads
    in `<tt class="filename">Makefile.in</tt>' and `<tt class="filename">config.h.in</tt>'
    and fills in the missing values with the test results to produce
    `<tt class="filename">Makefile</tt>' and `<tt class="filename">config.h</tt>'.
    </p><p>
    You run <span><b class="command">make</b></span>, which creates `<tt class="filename">.o</tt>'
    files from the `<tt class="filename">.c</tt>' files and links to produce
    `<tt class="filename">ROX-Filer</tt>'.
   </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2513059"></a>Data-structures</h2></div></div></div><p>
    The `<tt class="filename">global.h</tt>' file lists each major data-structure used
    in the filer and explains its purpose. This is a good place to start reading
    if you want to know how the filer works.
   </p></div></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="compiling"></a>AppendixA.Compiling</h2></div></div></div><p>

   If you've just got hold of the filer by downloading the source archive
   then you'll need to compile it before you can use it. If you downloaded
   and installed a binary package, or if <span class="application">ROX-Filer</span>
   was included with your system, then you can skip this section. If you got
   here by clicking on the lifebelt symbol in a filer window, or if typing
   <span><b class="command">rox</b></span> at a shell prompt works, then you don't need to
   compile.

   </p><div class="itemizedlist"><p class="title"><b>To compile, you will need the following:</b></p><ul type="disc"><li><p>
      Unix or Linux (root access is not required),
    </p></li><li><p>
      The X Window system (supplied as standard on all modern systems),
    </p></li><li><p>
      GTK+ 2.0.1 or later (libraries and headers) &#8212; get the latest version
      from [<a href="#id2515061"><span class="citation">GTK+</span></a>],
    </p></li><li><p>
      LibXML 2.0.0 or later (libraries and headers) &#8212; get the latest
      version from [<a href="#id2515074"><span class="citation">libxml</span></a>],
    </p></li><li><p>
      A C compiler, such as `gcc' (standard on most systems).
    </p></li></ul></div><p>

   All of the above are standard on most modern Linux distributions.
   To check which version of GTK+ you have installed, run the
   <span><b class="command">pkg-config</b></span> command, like this
   (<tt class="prompt">$</tt> is the shell prompt):

   </p><pre class="screen">$ pkg-config --modversion gtk+-2.0
2.0.5</pre><p>
  </p><div class="procedure"><a name="id2513172"></a><p class="title"><b>ProcedureA.1.To compile:</b></p><ol type="1"><li><p>
     The filer now uses the Shared MIME Database[<a href="#id2515193"><span class="citation">SharedMIME</span></a>]
     to work out the types of files. You need to install this before the
     filer will work properly (ROX-Filer will warn you if it's not installed
     when you run it).
   </p></li><li><p>
     Change to the directory containing the ROX-Filer subdirectory.
   </p></li><li><p>
     Run the <span><b class="command">install.sh</b></span> script, like this:

     </p><pre class="screen">$ ./install.sh</pre><p>

   </p></li><li><p>
     <span class="application">ROX-Filer</span> will perform various checks to find
     out what kind of system it is being run on and will then compile. If it
     doesn't work then please e-mail me and complain! Tell me what kind of
     system you have and what errors were reported. If you manage to fix the
     problem yourself then please e-mail me the fix.
    </p><p>
     The executable file is stored inside the ROX-Filer directory in a
     different subdirectory for each platform. Therefore, you can compile
     the same application on several different types of machine and then
     run it from any of them using the `<tt class="filename">AppRun</tt>' script.
     This is particularly useful in a network environment.
   </p></li><li><p>
     Once the filer has compiled you will be asked where you want to install
     it. If you want to do a system-wide installation as root, you may
     want to stop here, <span><b class="command">su</b></span> to root and rerun the install
     script.

     If you don't have the root password then don't worry &#8212; just follow
     the instructions for installing into your home directory.
   </p></li></ol></div><p>
   You can now run the filer by running the <span><b class="command">rox</b></span> script
   without any options, like this:

   </p><pre class="screen">$ rox</pre><p>

   A window should appear and display the contents of the current directory.

   If you installed the script into your home directory then you may
   need to set your <tt class="envar">PATH</tt> environment variable so that the shell can
   find it. For example, if you installed it into a directory called
   `<tt class="filename">bin</tt>' in your home directory, use this:

   </p><pre class="screen">$ PATH=$HOME/bin:$PATH; export PATH</pre><p>

   or (if you are using the <span class="citerefentry"><span class="refentrytitle">csh</span>(1)</span> shell):

   </p><pre class="screen">$ setenv PATH $HOME/bin:$PATH
$ rehash</pre><p>

  </p></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="manpage"></a>AppendixB.Manual page</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="#rox">ROX</a> - a simple graphical file manager</dt></dl></div><div class="refentry" lang="en"><a name="rox"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>ROX-Filer &#8212; a simple graphical file manager</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><tt class="command">rox</tt>  [<tt class="option">OPTION</tt>...] [FILE...]</p></div></div><div class="refsect1" lang="en"><a name="id2513386"></a><h2>DESCRIPTION</h2><p>
     ROX-Filer is a simple and easy to use graphical file manager for X11, the
     windowing system used on Unix and Unix-like operating systems.
     </p><p>
     It is also the core component of the ROX Desktop:
     <a href="http://rox.sourceforge.net" target="_top">http://rox.sourceforge.net</a>
     </p><p>
     Invoking <span><b class="command">rox</b></span> opens each directory or file listed,
     or the current working directory if no arguments are given.
    </p></div><div class="refsect1" lang="en"><a name="id2513415"></a><h2>COMMAND-LINE OPTIONS</h2><p>
     </p><div class="variablelist"><dl><dt><span class="term"><tt class="option">-b</tt>, </span><span class="term"><tt class="option">--bottom=PANEL</tt></span></dt><dd><p>open PANEL as a bottom-edge panel.
      </p></dd><dt><span class="term"><tt class="option">-c</tt>, </span><span class="term"><tt class="option">--client-id=ID</tt></span></dt><dd><p>used for session management.
      </p></dd><dt><span class="term"><tt class="option">-d</tt>, </span><span class="term"><tt class="option">--dir=DIR</tt></span></dt><dd><p>open DIR as directory (not as an application, even if it looks like one).
      </p></dd><dt><span class="term"><tt class="option">-D</tt>, </span><span class="term"><tt class="option">--close=DIR</tt></span></dt><dd><p>close DIR and all its subdirectories.
      </p></dd><dt><span class="term"><tt class="option">-h</tt>, </span><span class="term"><tt class="option">--help</tt></span></dt><dd><p>display help about the various options.
      </p></dd><dt><span class="term"><tt class="option">-l</tt>, </span><span class="term"><tt class="option">--left=PANEL</tt></span></dt><dd><p>open PANEL as a left-edge panel.
      </p></dd><dt><span class="term"><tt class="option">-m</tt>, </span><span class="term"><tt class="option">--mime-type=FILE</tt></span></dt><dd><p>print MIME type of FILE and exit.
      </p></dd><dt><span class="term"><tt class="option">-n</tt>, </span><span class="term"><tt class="option">--new</tt></span></dt><dd><p>start a new filer, even if one already seems to be
      running. This also prevents the filer from forking (running in the
      background). This option is mainly useful for debugging.
      </p></dd><dt><span class="term"><tt class="option">-p</tt>, </span><span class="term"><tt class="option">--pinboard=PIN</tt></span></dt><dd><p>use pinboard PIN as the pinboard.
      </p></dd><dt><span class="term"><tt class="option">-r</tt>, </span><span class="term"><tt class="option">--right=PANEL</tt></span></dt><dd><p>open PANEL as a right-edge panel.
      </p></dd><dt><span class="term"><tt class="option">-R</tt>, </span><span class="term"><tt class="option">--RPC</tt></span></dt><dd><p>read and invoke SOAP RPC from standard input (see <a href="#soap" title="AppendixC.SOAP RPC">AppendixC, <i>SOAP RPC</i></a>).
      </p></dd><dt><span class="term"><tt class="option">-s</tt>, </span><span class="term"><tt class="option">--show=FILE</tt></span></dt><dd><p>open a directory showing FILE.
      </p></dd><dt><span class="term"><tt class="option">-t</tt>, </span><span class="term"><tt class="option">--top=PANEL</tt></span></dt><dd><p>open PANEL as a top-edge panel.
      </p></dd><dt><span class="term"><tt class="option">-u</tt>, </span><span class="term"><tt class="option">--user</tt></span></dt><dd><p>show user name in each window.
      </p></dd><dt><span class="term"><tt class="option">-v</tt>, </span><span class="term"><tt class="option">--version</tt></span></dt><dd><p>display the version information and exit.
      </p></dd><dt><span class="term"><tt class="option">-x</tt>, </span><span class="term"><tt class="option">--examine=FILE</tt></span></dt><dd><p>FILE has changed; re-examine it.
      </p></dd></dl></div><p>
    </p></div><div class="refsect1" lang="en"><a name="id2513660"></a><h2>NOTES</h2><p>
     The main documentation for ROX-Filer is available by choosing
     <span class="guimenuitem"><span class="guimenuitem">Show Help Files</span></span> from the
     popup menu, or by clicking on the right-most toolbar icon.
    </p></div><div class="refsect1" lang="en"><a name="id2513677"></a><h2>LICENSE</h2><p>Copyright (C) 2004 Thomas Leonard.
     </p><p>
     You may redistribute copies of ROX-Filer under the terms of the GNU General
     Public License.
    </p></div><div class="refsect1" lang="en"><a name="id2513691"></a><h2>BUGS</h2><p>
     Please report bugs to the developer mailing list: <a href="http://rox.sourceforge.net/contact.html" target="_top">http://rox.sourceforge.net/contact.html</a>.
    </p></div><div class="refsect1" lang="en"><a name="id2513706"></a><h2>AUTHORS</h2><p>
     ROX-Filer was created by Thomas Leonard, with help from:
     </p><p>
     </p><table class="simplelist" border="0" summary="Simple list"><tr><td>Michael Adams</td><td>Thierry Godefroy</td><td>Christiansen Merel</td></tr><tr><td>Christopher Arndt</td><td>Olli Helenius</td><td>Jimmy Olgeni</td></tr><tr><td>Jens Askengren</td><td>Alex Holden</td><td>Richard Olsson</td></tr><tr><td>Liav Asseraf</td><td>Jasper Huijsmans</td><td>Matthew O'Phinney</td></tr><tr><td>Wilbert Berendsen</td><td>Sigve Indregard</td><td>Daniele Peri</td></tr><tr><td>Francesco Bochicchio</td><td>Bernard Jungen</td><td>Andy Piper</td></tr><tr><td>Yuri Bongiorno</td><td>Marcin Juszkiewicz</td><td>Marcelo Ramos</td></tr><tr><td>Andrzej Borsuk</td><td>James Kermode</td><td>Michel Alexandre Salim</td></tr><tr><td>Richard Boulton</td><td>Jim Knoble</td><td>Adam Sampson</td></tr><tr><td>Simon Britnell</td><td>Krzysztof Krzyzaniak</td><td>Chris Sawer</td></tr><tr><td>Arnaud Calvo</td><td>Aaron Kurtz</td><td>Christian Storgaard</td></tr><tr><td>Babyfai Cheung</td><td>Vincent Ledda</td><td>Taras</td></tr><tr><td>Andrew Clover</td><td>Vincent Lefevre</td><td>Simon Truss</td></tr><tr><td>Fabien Coutant</td><td>Victor Liu See-le</td><td>Hirosi Utumi</td></tr><tr><td>Couderc Damien</td><td>Alexey Lubimov</td><td>Jan Wagemakers</td></tr><tr><td>Andreas Dehmel</td><td>Krzysztof Luks</td><td>Keith Warno</td></tr><tr><td>Micah Dowty</td><td>Marcus Lundblad</td><td>Gtz Waschk</td></tr><tr><td>Dmitry Elfimov</td><td>Anders Lundmark</td><td>Stephen Watson</td></tr><tr><td>Mattias Engdegard</td><td>Jose Romildo Malaquias</td><td>Andre Wyrwa</td></tr><tr><td>Andrew Flegg</td><td>Denis Manente</td><td>Geoff Youngs</td></tr><tr><td>Olivier Fourdan</td><td>Brendan McCarthy</td><td>Diego Zamboni</td></tr><tr><td>Eric Gillespie</td><td>Andras Mohari</td><td></td></tr></table><p>
     </p><p>
     and many others; the `<tt class="filename">Changes</tt>' file contains more
     detailed information!
    </p></div></div></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="soap"></a>AppendixC.SOAP RPC</h2></div></div></div><p>When the filer starts you can use command-line options to control its behaviour.
   As an alternative to this, the filer allows you to specify an operation with a
   [<a href="#id2515153"><span class="citation">SOAP</span></a>] RPC format message. In fact, if you use the command-line options,
   the filer converts to SOAP RPC internally.
  </p><p>All SOAP RPC messages are passed on standard input, like this:

   </p><pre class="screen">
$ rox --RPC &lt;&lt; EOF
&lt;?xml version="1.0"?&gt;
&lt;env:Envelope xmlns:env="http://www.w3.org/2001/12/soap-envelope"&gt;
 &lt;env:Body xmlns="http://rox.sourceforge.net/SOAP/ROX-Filer"&gt;
  &lt;Panel&gt;
   &lt;Name&gt;Default&lt;/Name&gt;
   &lt;Side&gt;Bottom&lt;/Side&gt;
  &lt;/Panel&gt;
 &lt;/env:Body&gt;
&lt;/env:Envelope&gt;
EOF</pre><p>

   The following methods are recognised:</p><div class="itemizedlist"><ul type="disc"><li><p><span class="function">Version</span>()
     Returns the filer's version.
   </p></li><li><p><span class="function">CloseDir</span>(<span class="parameter">Filename</span>)
     Close directory <span class="parameter">Filename</span> and all its subdirectories.
   </p></li><li><p><span class="function">Examine</span>(<span class="parameter">Filename</span>)
     <span class="parameter">Filename</span> may have changed &#8212; check it and
     update the display.
   </p></li><li><p><span class="function">OpenDir</span>(<span class="parameter">Filename</span>,
     [<span class="parameter">Style</span>, <span class="parameter">Details</span>, <span class="parameter">Sort</span>,
     <span class="parameter">Class</span>, <span class="parameter">ID</span>],
     <span class="parameter">Hidden</span>, <span class="parameter">Filter</span>)
     Open a window showing directory <span class="parameter">Filename</span>.
     <span class="parameter">Style</span> is one of <b class="userinput"><tt>Large</tt></b>, <b class="userinput"><tt>Small</tt></b>, <b class="userinput"><tt>Huge</tt></b>
     or <b class="userinput"><tt>Automatic</tt></b>.
     <span class="parameter">Details</span> is one of <b class="userinput"><tt>None</tt></b>, <b class="userinput"><tt>ListView</tt></b>, <b class="userinput"><tt>Size</tt></b>, <b class="userinput"><tt>Type</tt></b>, <b class="userinput"><tt>Times</tt></b> or <b class="userinput"><tt>Permissions</tt></b>.
     <span class="parameter">Sort</span> is one of <b class="userinput"><tt>Name</tt></b>, <b class="userinput"><tt>Type</tt></b>, <b class="userinput"><tt>Date</tt></b>, <b class="userinput"><tt>Size</tt></b>,
<b class="userinput"><tt>Owner</tt></b> or <b class="userinput"><tt>Group</tt></b>.
     If any of these three option parameters are missing, the default is used.
     <span class="parameter">Class</span> can be used to set the WM_CLASS property on the new window. You can
     use this to get your window manager to treat the window
specially.
     <span class="parameter">ID</span> is a string used to identify the 
opened window. If a window with this ID already exists, it is changed to the
given directory. Otherwise, a new window is created and given this ID.
If used from a program, ensure the IDs you generate are unique, for example
by including your process name, PID and a timestamp in the ID.
<span class="parameter">Hidden</span> if <b class="userinput"><tt>true</tt></b> means
that hidden files (those that start with a dot character) are shown,
or not shown if <b class="userinput"><tt>false</tt></b>.  If ommitted then the 
configured setting is used.
<span class="parameter">Filter</span> can be used to filter files shown by
their name.  For example using a filter of <b class="userinput"><tt>*.c</tt></b>
means that only files ending in .c are shown.
   </p></li><li><p><span class="function">Panel</span>(<span class="parameter">Side</span>,
     [<span class="parameter">Name</span>])
     Open the panel named <span class="parameter">Name</span> on screen side
     <span class="parameter">Side</span> (<b class="userinput"><tt>Top</tt></b>|<b class="userinput"><tt>Bottom</tt></b>|<b class="userinput"><tt>Left</tt></b>|<b class="userinput"><tt>Right</tt></b>).
     <span class="parameter">Name</span> can be a name in Choices (eg,
     <b class="userinput"><tt>MyPanel</tt></b>) or a full pathname.
     If not given, the panel on that side is turned off.
   </p></li><li><p><span class="function">PanelAdd</span>(<span class="parameter">Side</span>,
     <span class="parameter">Path</span>, [<span class="parameter">Label</span>,
     <span class="parameter">After</span>])
     Add <span class="parameter">Path</span> to the panel on side <span class="parameter">Side</span>,
     with label <span class="parameter">Label</span>. If <span class="parameter">After</span> is
     <b class="userinput"><tt>true</tt></b> the icon goes on the right/bottom side of the panel,
     otherwise on the left/top side.
   </p></li><li><p><span class="function">PanelRemove</span>(<span class="parameter">Side</span>,
     <span class="parameter">Path</span>, [<span class="parameter">Label</span>])
     Remove <span class="parameter">Path</span> from the panel on side
<span class="parameter">Side</span>. If <span class="parameter">Label</span> is given
then this must match the label of the item.  If more than one item matches, only one is removed.
   </p></li><li><p><span class="function">Pinboard</span>([<span class="parameter">Name</span>])
     Display pinboard <span class="parameter">Name</span> on the desktop background.
     <span class="parameter">Name</span> can be a name in Choices (eg,
     <b class="userinput"><tt>MyPinboard</tt></b>) or a full pathname.
     If not given, the pinboard is turned off.
   </p></li><li><p><span class="function">PinboardAdd</span>(<span class="parameter">Path</span>,
     <span class="parameter">X</span>, <span class="parameter">Y</span>, [<span class="parameter">Label</span>])
     Add <span class="parameter">Path</span> to the pinboard at position
     (<span class="parameter">X</span>, <span class="parameter">Y</span>), giving it the label
     <span class="parameter">Label</span>.
   </p></li><li><p><span class="function">PinboardRemove</span>(<span class="parameter">Path</span>, [<span class="parameter">Label</span>])
     Remove <span class="parameter">Path</span> from the pinboard. If <span class="parameter">Label</span> is given
then this must match the label of the item.  If more than one item matches, only one is removed.
   </p></li><li><p><span class="function">SetBackdropApp</span>(<span class="parameter">App</span>)
     Make <span class="parameter">App</span> (an application directory) the new handler
     for the current pinboard's backdrop.
     The `<tt class="filename">AppInfo.xml</tt>' file inside <span class="parameter">App</span>
     must contain the CanSetBackdrop element, eg:
     </p><pre class="programlisting">
&lt;?xml version="1.0"?&gt;
&lt;AppInfo&gt;
      &lt;ROX:CanSetBackdrop xmlns:ROX="http://rox.sourceforge.net/SOAP/ROX-Filer"/&gt;
&lt;/AppInfo&gt;</pre><p>
     The application will be run with the <tt class="option">--backdrop</tt> option
     as it's only argument after invoking this method, and whenever the pinboard is
     reloaded. DO NOT use this method if invoked with <tt class="option">--backdrop</tt> or
     you will get stuck in an infinite loop!
     See <a href="#backdropapp">Backdrop applications</a> for a guide to writing backdrop applications.
   </p></li><li><p><span class="function">SetBackdrop</span>(<span class="parameter">Filename</span>,
   <span class="parameter">Style</span>)
   Set the backdrop image to a given file. If you want to regenerate the image next
   time the user logs in, or you want to change it automatically from time to time,
   use <span class="function">SetBackdropApp</span> above instead.
   </p></li><li><p><span class="function">Run</span>(<span class="parameter">Filename</span>)
     Run <span class="parameter">Filename</span> as if it was clicked on in the filer.
   </p></li><li><p><span class="function">Show</span>(<span class="parameter">Directory</span>,
     <span class="parameter">Leafname</span>)
     Open <span class="parameter">Directory</span> and flash the file
     <span class="parameter">Leafname</span> inside it.
   </p></li><li><p><span class="function">FileType</span>(<span class="parameter">Filename</span>)
     Returns the MIME-type of <span class="parameter">Filename</span> (by writing the
     SOAP response to standard output).
   </p></li></ul></div><p>
   The following calls can be used to start new file actions.
   <span class="parameter">Quiet</span> can be <b class="userinput"><tt>true</tt></b> if the
   operation should start immediately, instead of waiting for the user to
   confirm. If <b class="userinput"><tt>false</tt></b>, the user must always confirm. If
   not given, the default setting is used.
  </p><div class="itemizedlist"><ul type="disc"><li><p><span class="function">Copy</span>(<span class="parameter">From</span>,
     <span class="parameter">To</span>, [<span class="parameter">Leafname</span>,
     <span class="parameter">Quiet</span>])
     Copy each file in the array <span class="parameter">From</span> to the directory
     <span class="parameter">To</span>. If <span class="parameter">Leafname</span> is given
     then <span class="parameter">From</span> should contain a single entry only;
     <span class="parameter">Leafname </span> gives the new leafname.
   </p></li><li><p><span class="function">Move</span>(<span class="parameter">From</span>,
     <span class="parameter">To</span>, [<span class="parameter">Leafname</span>,
     <span class="parameter">Quiet</span>])
     Move each file in the array <span class="parameter">From</span> to the directory
     <span class="parameter">To</span>. If <span class="parameter">Leafname</span> is given
     then <span class="parameter">From</span> should contain a single entry only;
     <span class="parameter">Leafname</span> gives the new leafname.
   </p></li><li><p><span class="function">Link</span>(<span class="parameter">From</span>,
     <span class="parameter">To</span>, [<span class="parameter">Leafname</span>])
     Symlink each file in the array <span class="parameter">From</span> to the
     directory <span class="parameter">To</span>. If <span class="parameter">Leafname</span> is
     given then <span class="parameter">From</span> should contain a single entry only;
     <span class="parameter">Leafname</span> gives the new leafname.
   </p></li><li><p><span class="function">Mount</span>(<span class="parameter">MountPoints</span>,
     [<span class="parameter">OpenDir</span>, <span class="parameter">Quiet</span>])
     Mount each directory in the list <span class="parameter">MountPoints</span>. If
     <b class="userinput"><tt>true</tt></b>, <span class="parameter">OpenDir</span> causes each
     directory to be opened once it is mounted.
   </p></li></ul></div></div><div class="bibliography"><div class="titlepage"><div><div><h2 class="title"><a name="id2515030"></a>References</h2></div></div></div><div xmlns="http://www.w3.org/1999/xhtml" class="bibliomixed" id="id2515036"><p class="bibliomixed">[<span xmlns="" class="abbrev">ROX</span>] 
   <span xmlns="" class="citetitle"><i class="citetitle">The ROX desktop,
    <a href="http://rox.sourceforge.net" target="_top">http://rox.sourceforge.net</a></i></span>
  </p></div><div xmlns="http://www.w3.org/1999/xhtml" class="bibliomixed" id="id2515049"><p class="bibliomixed">[<span xmlns="" class="abbrev">RISC OS</span>] 
   <span xmlns="" class="citetitle"><i class="citetitle">RISC OS,
    <a href="http://www.riscos.com" target="_top">http://www.riscos.com</a></i></span>
  </p></div><div xmlns="http://www.w3.org/1999/xhtml" class="bibliomixed" id="id2515061"><p class="bibliomixed">[<span xmlns="" class="abbrev">GTK+</span>] 
   <span xmlns="" class="citetitle"><i class="citetitle">GTK+ Toolkit,
    <a href="http://www.gtk.org" target="_top">http://www.gtk.org</a></i></span>
  </p></div><div xmlns="http://www.w3.org/1999/xhtml" class="bibliomixed" id="id2515074"><p class="bibliomixed">[<span xmlns="" class="abbrev">libxml</span>] 
   <span xmlns="" class="citetitle"><i class="citetitle">The XML C library for Gnome
    <a href="http://www.xmlsoft.org" target="_top">http://www.xmlsoft.org</a></i></span>
  </p></div><div xmlns="http://www.w3.org/1999/xhtml" class="bibliomixed" id="id2515087"><p class="bibliomixed">[<span xmlns="" class="abbrev">GNOME</span>] 
   <span xmlns="" class="citetitle"><i class="citetitle">The GNOME desktop,
    <a href="http://www.gnome.org" target="_top">http://www.gnome.org</a></i></span>
  </p></div><div xmlns="http://www.w3.org/1999/xhtml" class="bibliomixed" id="id2515100"><p class="bibliomixed">[<span xmlns="" class="abbrev">DND</span>] 
   <span xmlns="" class="citetitle"><i class="citetitle">The Drag and Drop protocol,
    <a href="http://www.newplanetsoftware.com/xdnd/" target="_top">http://www.newplanetsoftware.com/xdnd/</a></i></span>
  </p></div><div xmlns="http://www.w3.org/1999/xhtml" class="bibliomixed" id="id2515113"><p class="bibliomixed">[<span xmlns="" class="abbrev">XDS</span>] 
   <span xmlns="" class="citetitle"><i class="citetitle">The X Direct Save protocol,
    <a href="http://www.newplanetsoftware.com/xds/" target="_top">http://www.newplanetsoftware.com/xds/</a></i></span>
  </p></div><div xmlns="http://www.w3.org/1999/xhtml" class="bibliomixed" id="id2515126"><p class="bibliomixed">[<span xmlns="" class="abbrev">Choices</span>] 
   <span xmlns="" class="citetitle"><i class="citetitle">The ROX Choices system,
    <a href="http://rox.sourceforge.net/choices.html" target="_top">http://rox.sourceforge.net/choices.html</a></i></span>
  </p></div><div xmlns="http://www.w3.org/1999/xhtml" class="bibliomixed" id="id2515140"><p class="bibliomixed">[<span xmlns="" class="abbrev">AVFS</span>] 
   <span xmlns="" class="citetitle"><i class="citetitle">AVFS - A Virtual File System,
    <a href="http://sourceforge.net/projects/avf/" target="_top">http://sourceforge.net/projects/avf/</a></i></span>
  </p></div><div xmlns="http://www.w3.org/1999/xhtml" class="bibliomixed" id="id2515153"><p class="bibliomixed">[<span xmlns="" class="abbrev">SOAP</span>] 
   <span xmlns="" class="citetitle"><i class="citetitle">Simple Object Access Protocol (SOAP) 1.2
    <a href="http://www.w3.org/TR/SOAP/" target="_top">http://www.w3.org/TR/SOAP/</a></i></span>
  </p></div><div xmlns="http://www.w3.org/1999/xhtml" class="bibliomixed" id="id2515166"><p class="bibliomixed">[<span xmlns="" class="abbrev">Thumbs</span>] 
   <span xmlns="" class="citetitle"><i class="citetitle">Thumbnail Managing Standard (Version 0.5)
    <a href="http://triq.net/~jens/thumbnail-spec/" target="_top">http://triq.net/~jens/thumbnail-spec/</a></i></span>
  </p></div><div xmlns="http://www.w3.org/1999/xhtml" class="bibliomixed" id="id2515180"><p class="bibliomixed">[<span xmlns="" class="abbrev">Wallpaper</span>] 
   <span xmlns="" class="citetitle"><i class="citetitle">Wallpaper backdrop control application
    <a href="http://rox.sf.net/wallpaper.html" target="_top">http://rox.sf.net/wallpaper.html</a></i></span>
  </p></div><div xmlns="http://www.w3.org/1999/xhtml" class="bibliomixed" id="id2515193"><p class="bibliomixed">[<span xmlns="" class="abbrev">SharedMIME</span>] 
   <span xmlns="" class="citetitle"><i class="citetitle">Shared MIME-info Database (Version 0.8)
    <a href="http://www.freedesktop.org/standards/shared-mime-info-spec/" target="_top">http://www.freedesktop.org/standards/shared-mime-info-spec/</a></i></span>
  </p></div></div></body></html>