PCManFM is a file manager (similar to Thunar, Nautilus, etc.). It works well for me and has some interesting features.
Supporting the Desktop
IceWM is only a window manager, not a “desktop manager.” IceWM can control the desktop background (either a solid color or an image) but doesn’t do anything else related to the desktop. Specifically, IceWM doesn’t support putting file icons on the desktop.
However, PCManFM can manage the desktop when run like this:
$ pcmanfm --desktop
File icons can now be placed on the desktop.
File shortcuts are more of a problem. It appears not to be possible to put document shortcuts on the desktop. An application shortcut can be placed on the desktop like this:
# ln -s /usr/share/applications/program.desktop ~/Desktop/
where program.desktop is the name of the program’s desktop file.
To automatically start the desktop, add
to the ~/.icewm/startup script.
The logout command needs to kill pcmanfm in order to exit properly. I modified ~/.icewm/preferences as follows:
# Command to start logout # LogoutCommand="" LogoutCommand="pkill -u steve" # "steve" is my user ID
To configure the desktop (while the desktop is running), either right-click the desktop and select Desktop Preferences (assuming that the desktop’s menu is configured to be available) or enter the following at the command line:
$ pcmanfm --desktop-pref
Similarly, in order to restart the system I have a toolbar button run the following script, which I named reboot.sh:
#!/bin/sh sync pcmanfm --desktop-off sleep 1 systemctl reboot
In this case I’m able to turn the desktop off before rebooting.
I use a similar script named halt.sh to shut the system down. The script is the same except reboot is replaced with poweroff.
PCManFM can put a Trash icon on the desktop but I don’t use it. The big problem is that it only works for files dragged to the Trash icon or deleted in PCManFM using the Edit > Move to Trash option. It doesn’t work with files deleted using the Delete key, so it’s pretty useless to me. It also requires extra package gvfs.
Open Terminal Here
To properly support the Open Terminal Here function you need a terminal program that supports an option to execute a command inside the terminal. Without this feature the terminal will always open in one’s home directory. I use terminal program lxterminal and configure PCManFM to set Preferences > Advanced > Terminal Emulator as follows:
lxterminal -e %s