# PCManFM-Qt: the LXQt file manager that also manages the desktop

> PCManFM-Qt is a Qt file manager built on GLib and libfm that LXQt uses for handling the desktop, though it also runs standalone under any desktop environment on X11 or Wayland. It is C++ under GPLv2, packaged by the major distributions, and its desktop mode is a separate launch mode rather than a separate program.

**lxqt/pcmanfm-qt** — File manager and desktop icon manager (Qt port of PCManFM and libfm)

- Repository: https://github.com/lxqt/pcmanfm-qt
- Website: https://lxqt-project.org
- Stars: 575 · Forks: 127
- Language: C++
- License: GPL-2.0
- Published: 2026-10-22 · Updated: 2026-10-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/lxqt-pcmanfm-qt

## A file manager with two jobs

PCManFM-Qt is described in the repository description as a file manager and desktop icon manager, and the README calls it a Qt-based file manager which uses GLib for file management. The lineage is stated plainly: it was started as the Qt port of PCManFM, the file manager of LXDE. The architecture that follows from that history is unusual. The file management logic is not written in this project. It comes from GLib through libfm, which is the same foundation the GTK file managers use, so the behaviour of moving, renaming and deleting is the well-tested part of the stack and the Qt layer is the interface. The second job is the desktop. PCManFM-Qt is used by LXQt for handling the desktop, and the README is clear that it can also be used independently of LXQt and with any desktop environment, whether under X11 or under Wayland. The primary language is C++, the default branch is master, and the licence is GPLv2 or any later version with the full text in the LICENSE file.

## Desktop mode is a launch option, not a separate binary

The way desktop support is exposed is worth understanding before you install anything. To handle the desktop, the binary pcmanfm-qt has to be launched with the --desktop option, and optionally --profile can be used for loading and saving settings specific to certain session types, like different desktop environments. In an LXQt session, PCManFM-Qt is launched as an LXQt Module rather than as a plain application, which is how it gets tied into the session lifecycle. The desktop itself is configured through a dialog called Desktop Preferences, which technically corresponds to launching pcmanfm-qt with the --desktop-pref option, and the README says it is available in the LXQt desktop's context menu and included as the Desktop item in the Preferences sub-menu of the LXQt Panel's main menu, as well as in the LXQt Settings section of Configuration Center. Every command-line option is explained in detail in man 1 pcmanfm-qt.

## Building it, and the two dependencies that bite

The build dependencies are CMake, lxqt-build-tools, libfm-qt, and layer-shell-qt for the desktop support under Wayland. GVFS is an optional dependency that provides important functionalities like Trash support, so its absence is felt as missing delete-to-trash behaviour rather than as a build error. Configuration is handled by CMake, and the README calls out two variables you will need on most systems. The CMAKE_INSTALL_PREFIX variable has to be set to /usr on most operating systems, and depending on the way library paths are dealt with on 64bit systems, variables like CMAKE_INSTALL_LIBDIR may have to be set as well. The build itself is the usual pair of make targets, where make builds and make install installs, and the install target accepts the DESTDIR variable as usual for staged packaging. The dependency on layer-shell-qt is the one that catches people out, because it is only needed for the Wayland desktop case, so a build for X11 only does not obviously require it.

## Packaging, and the question of what you actually get

Official binary packages are available in Arch Linux, Debian, Fedora and openSUSE, both Leap and Tumbleweed, and most other distributions, which means the build instructions in the README are for people who need a version the distribution does not carry, or who want to patch it. The repository layout supports that reading. There is a pcmanfm/ directory holding the application, a config/ directory, icons/, an autostart/ directory, a .ci/ directory for continuous integration, a Doxyfile.in for documentation generation, a pcmanfm-qt.1.in man page template and a CHANGELOG, plus an AUTHORS file and a .translation-update marker. The man page template and the Doxyfile are what a packaging pipeline consumes, and the autostart directory is the desktop entry that lets the file manager start with the session in desktop mode. The release history is steady, with 2.4.1 on 2026-08-26, 2.4.0 on 2026-04-20 and 2.3.0 on 2025-11-05.

## Where the file manager ends and the desktop begins

The README makes an almost throwaway statement that deserves more attention. The file manager functionality should be self-explanatory, and for advanced functionalities the wiki is the place to look. That is a deliberate boundary. There is no feature list because the features are libfm's, and the qt port's job is to present them. The practical consequence is that anyone choosing a file manager for its features, such as dual pane, tabbed browsing, archive mounting or bulk operations, should read the libfm documentation first rather than the README, since what this project contributes is the Qt interface, the desktop integration and the packaging. The second consequence is on the desktop side, where PCManFM-Qt is not trying to be a general desktop shell. It draws icons and handles the desktop in the way LXQt wants them, and the --profile option exists precisely because different session types need different settings, which is a desktop-environment concern rather than a file manager concern.

## Where this is the wrong tool

Three limits are structural. The first is that the desktop integration is LXQt-shaped, so on GNOME, KDE Plasma or Windows the --desktop mode is not what a user expects, and the file manager is then just a file manager competing with better-integrated alternatives. The second is that the interesting behaviour lives in GLib and libfm, so if you are looking for a file manager to fork and reshape, you would be reshaping a thin Qt layer over code that lives elsewhere, and the build requires lxqt-build-tools and libfm-qt to be present and matched. The third is the dependency on a desktop environment project for something people use standalone, since lxqt-build-tools is a build dependency even for a plain file manager build with no LXQt session involved. None of this is a criticism of the project, which is doing exactly what it is meant to do, but it does mean the tool's scope is narrower than a general-purpose file manager.

## Translating it, and where the issues go

Two closing points about the project as a community effort. Translations can be done in LXQt-Weblate, with the project page hosted at translate.lxqt-project.org under the lxqt-desktop project, and the README embeds the translation status widget for it, so a translator does not need an account on GitHub and the status is visible in the README itself. Issues, by contrast, should go to the tracker of PCManFM-Qt at the GitHub issues page, and the repository makes that explicit rather than pointing at a general LXQt tracker, which is a small sign of an actively maintained project rather than an archived one. The licence is GPLv2 or any later version, and for a file manager that LXQt ships as a core component, that is the expected choice: the copyleft terms are what keep a desktop environment's file manager free, and a downstream packager embedding PCManFM-Qt in a commercial product inherits those terms with it.

## Conclusion

PCManFM-Qt suits an LXQt user who wants the desktop icons and the file manager to behave as one coherent application, or a developer who wants a Qt file manager they can compile and patch themselves rather than accept whatever the distribution ships. It is the wrong tool for a user on GNOME, KDE or Windows, because the desktop integration is built around LXQt sessions and LXQt modules, and it is the wrong tool if you want a file manager with built-in archive handling, dual pane or cloud integration, since this one delegates that work to GLib and libfm. Verify first which package your distribution ships and at what version, because the repository's own release is 2.4.1 from 2026-08-26 while the last push was on 2026-10-18, and check that layer-shell-qt is present if you intend to use the desktop mode under Wayland, since the README lists it as a build dependency for that support.

## FAQ

### What is PCManFM-Qt and what does it do?

It is a Qt-based file manager that uses GLib for file management, started as the Qt port of PCManFM, the file manager of LXDE. LXQt uses it for handling the desktop, and it can also be used independently of LXQt with any desktop environment under X11 or Wayland.

### How do I enable desktop mode in PCManFM-Qt?

Launch the binary pcmanfm-qt with the --desktop option. The desktop itself is configured through the Desktop Preferences dialog, which corresponds to launching with --desktop-pref, available in the LXQt desktop context menu and in the LXQt Panel and Configuration Center.

### What are the build dependencies for PCManFM-Qt?

CMake, lxqt-build-tools, libfm-qt, and layer-shell-qt for desktop support under Wayland. GVFS is optional and provides functionality such as Trash support.

### How do I compile and install PCManFM-Qt from source?

Set CMAKE_INSTALL_PREFIX to /usr on most systems, and CMAKE_INSTALL_LIBDIR if needed on 64bit systems, then run make to build and make install to install, where the install target accepts the DESTDIR variable as usual.

### Under what licence is PCManFM-Qt released?

GPLv2 or any later version, with the full text in the LICENSE file at the repository root.

## Sources

- [License: GPL-2.0](https://github.com/lxqt/pcmanfm-qt/blob/master/LICENSE)
- [lxqt/pcmanfm-qt on GitHub](https://github.com/lxqt/pcmanfm-qt)
- [Project website](https://lxqt-project.org)
- [README](https://github.com/lxqt/pcmanfm-qt/blob/master/README.md)
- [Releases](https://github.com/lxqt/pcmanfm-qt/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/lxqt-pcmanfm-qt
