Knowledge Base

Preserving for the future: Shell scripts, AoC, and more

Experimenting with Spacefm

I was asked to possibly step up and offer to maintain spacefm in Debian. I don't even use spacefm, and I don't plan on maintaining it, particularly if it is a dead project upstream. I use xfe which meets my needs (minus the CTRL+L bug in the current version, 1.45 and I cannot wait for the new one!).

So I decided to check out spacefm. The file manager itself is modest and probably suitable for me, but like I said xfe is already my main solution. When I discovered that spacefm has desktop management functions, I was intrigued! It parses the XDG Desktop path for .desktop files and displays them on the wallpaper! Previously in my fluxbox world I've had to use idesk, which has its own format for those. I much prefer .desktop, which is one of the only good specs to come out of that freedesktop.org group.

So, I spent some time investigating using a transparent wallpaper, and then loading up a compositor (which I also don't use) so my fbsetbg can work like it always does. The problem was my wallpaper image, which I want duplicated across both monitors, was not the same resolution as my display. It was smaller than my display! So, spacefm would struggle to, well, center it on a single monitor because of the 2 monitors, and also fail to scale it correctly.

The compositor picom messed up my window borders, and apparently has no configuration options for the borders other than radius size. So I gave up on the compositor, and just used convert to resize my wallpaper image, and then set spacefm --desktop-pref to use that scaled image, and now I have my cool ~/Desktop/*.desktop icons and my desired wallpaper.

So, if you use fluxbox and you want to use the standard .desktop icons, check out spacefm!

Auxiliary thoughts

I wonder if, because spacefm uses gtk2 (or gtk3, how nice that we get choices!), if it can send those dbus messages to tumblerd thumbnailer service to generate the thumbnails of images in a given directory. I bet it could use a plugin/extension/configuration to do such a thing.

Comments