-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME
More file actions
172 lines (125 loc) · 8.21 KB
/
README
File metadata and controls
172 lines (125 loc) · 8.21 KB
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
Here are some detailed IMPORTANT notes and FAQs for users and packagers.
Please read this carefully before you make package for PCManFM.
** Suggestions to the packagers:
1. Add these two commands in your post-inst scripts, or some things won't work:
update-mime-database /usr/share/mime
update-desktop-database
2. Never turn on --enable-inotify configure option. It's currently broken.
3. Use gamin instead of fam, whenever possible.
4. Use hal >= 0.5, or volume management won't work properly.
If there is no hal on your system, turn this off with --disable-hal option.
5. Check /usr/share/pcmanfm/mount.rules to see if any modification
is required on your distro.
** Detailed explanation for every issues related to PCManFM:
Mime Type Handling:
1. Running update-mime-database /usr/share/mime as root after installation
is needed because PCManFM adds some new mime-type definitions
to the system to speed up the recognition of some well-known Windows files.
(This also improve other programs using the same shared mime database)
So, regenerating the the cache of the database is required since it's changed.
* To packagers: Don't forget to do this in your post-inst scripts.
2. Default application is specified in ~/.local/share/applications/defaults.list
If default application is not found in this file, system-wide settings will
be used. The system-wised settings are in /usr/share/applications/defaults
and /usr/local/share/applications.
NOTE: There is currently no standard for this. To maximize compatibility, and
decrease the users' problems, we use the same mechanism with Gnome and XFCE.
Our own mechanism, which I think is better, is dropped in PCManFM 0.3.5 and later.
* Besides, running update-desktop-database as root is required after
installation since all applications for all mime-types are cached on
the system according to the freedesktop.org specs to improve performance.
Without this cache, PCManFM won't work properly.
* To packagers: Don't forget to do this in your post-inst scripts.
Volume Management (Mounting devices):
Mounting and unmounting the disks are supported through HAL.
If you compile PCManFM with --disable-hal, volume management won't be available.
Besides, please use the latest version of HAL available on your systems because
incompatibilities exist among different versions of HAL. The older versions
lack something important, and their configuration are different, too.
Generally HAL >= 0.5 might be OK. Our development environment uses version 0.5.9.
If a device is defined in /etc/fstab, PCManFM will call mount/umount directly.
Otherwise, HAL will be called to mount the devices. This is usually the case of
removable devices such as usb disks or SD cards which are not described in fstab.
Default options to mount various file systems on these devices can be changed
via editing /usr/share/pcmanfm/mount.rules. The file format is easy to understand.
Newer versions of HAL force applications to handle these options themselves.
(http://www.linuxfromscratch.org/blfs/view/svn/general/hal.html)
* To packagers: If these default options shipped with PCManFM are not suitable for
your distro, please patch them before packaging, or things won't work on your distro.
For example, Debian doesn't support 'usefree' option for vfat while Ubuntu uses this.
Don't forget to adjust these options, if things don't work on your distro.
Switch To Root Problems:
In "Tool" menu of PCManFM there is an option for you to switch to super user.
By default PCManFM calls 'gksudo', and if it doesn't exists, it calls 'gksu'.
If both of them don't exist, PCManFM will call 'kdesu'.
In some distros, 'gksudo' is disabled by default. Instead, you can assign your
preferable program during configuration, and the option is
"--with-preferable-sudo=PROG"
* To packagers: For the sake of consistency, you might use proper argument passed
to option "--with-preferable-sudo" before packaging,
File Alteration Monitor (fam or gamin?):
File alteration monitor is an important part of file managers.
Without this, file managers won't reflect changes of files done by other
applications or under consoles.
Historically FAM is used for this, but it has some performance and security
problems. So it's gradually replaced by gamin in modern distros.
FAM and gamin are compatible in most of the cases.
* To packagers: Using gamin with PCManFM is more recommended.
Inotify support:
* To packagers: Please leave this configure option off as its default and
don't try to turn it on. It's currently broken.
We use gamin instead of using inotify directly since inotify can only monitor
part of the file systems, and requires much additional complicated processing by
applications themselves. So, let gamin do these dirty works for us.
Warnings while running PCManFM as root?
Running applications as root is really dangerous and discouraged on UNIX-like
systems. To protect users from accidentally break the system, we show a warning
bar on the window if they run PCManFM as root. This cannot be turned off because
we have the responsibility to let the user know they are at risk.
However, under some circumstances, you'll need to run PCManFM as root all the time.
This is a common case in live CDs. So, if you are the author of a live CD, and you
really need to turn this off, configure with the option "--disable-superuser-checks".
Icons of Files are missing?:
You might get error message when you start PCManFM telling you that your
icon theme is not properly set. Normally gtk+ gets icon theme settings via
XSETTINGS daemons. Under Gnome and XFCE, they run their setting daemons
so you have no problem. However, under other desktop environments, gtk+
reads settings from "~/.gtkrc-2.0". The format of this file is poorly
documented by gtk+ team. The only available doc is here:
http://library.gnome.org/devel/gtk-tutorial/stable/x2138.html
Few people know exactly how to edit this file. Neither do I, but I know
you can set icon theme by adding this:
gtk-icon-theme-name="THE NAME OF THE FOLDER CONTAINING ICONS"
This name can be found by looking in /usr/share/icons, /usr/local/share/icons,
and ~/.local/share/icons.
I know this is inconvinient, but that's not my fault, that's the design of gtk+.
Also, don't use an icon theme designed for KDE, or you'll get no icons.
The naming of icons are totally different in Gnome and KDE.
Because there is, again, no standard for this. So we use gnome-compatible themes.
Personally I recommend using this:
http://www.gnome-look.org/content/show.php/nuoveXT+2?content=56625
If you want to change the ugly look of gtk+ programs, you can add this:
gtk-theme-name="THE NAME OF THE GTK+ THEME YOU WANT TO USE"
"ClearLooks" is a good gtk+ theme, if you have it installed.
Desktop Icon Support:
PCManFM provides very basic support for desktop icons.
Before version 0.3.6.2, using this is strongly discouraged since there are some
performance problems in this part. In 0.3.6.2 this is partially fixed.
Since version 0.3.9, the desktop icon support is completely re-designed and
re-written. The performance problem was solved, and the functionality is already
acceptable. Drag and drop support for desktop icons is finally added in 0.4.3.
So, upgrading to 0.4 series is strongly encoraged. Don't use the deprecated 0.2.x and
0.3.x series unless you have really good reasons.
If you only need to set the desktop wallpaper and don't need the icons,
the small program 'hsetroot' is for you.
The feature could be removed during build time via configuration option
"--disable-desktop-integration".
Where is the "Trash Can"?
Currently we haven't support this yet. Having a correctly working tash can is
not as easy as you think. It's actually much more complicated than simply moving
the files to ~/.Trash. To implement a standard-compliant, correct, and safe
trash can is not an easy task. To see is to believe, read the spec yourself:
This is the current proposed Freedesktop.org "Trash Spec"
http://www.ramendik.ru/docs/trashspec.html
If you think this is easy, please send me a patch and I'll get it applied happily.
Why those Freedesktop.org guys always make things more and more complicated?