Home

Awesome

fm

fm is a small, general-purpose file manager built using GTK and Relm4.

Screenshot

The directories are visualized using Miller columns, which enables quick navigation throughout the hierarchy.

fm is in the early stages of development. Manipulating important files with it risks data loss.

Platform support

Development is currently focused on Linux, but bug reports for other platforms are welcome.

The application is known to run successfully on MacOS. Other platforms are untested, but if you can get the system dependencies to build, fm should work.

Hacking

fm is a Rust project that utilizes GTK 4, libpanel, GtkSourceView, and libadwaita.

  1. First, install Rust and Cargo.

  2. Install system dependencies.

    Note that libpanel is alpha software and may not be packaged for your system. In that case, you can build it from source, install it, and then build fm with the PKG_CONFIG_PATH environment variable set to PKG_CONFIG_PATH="/path/to/libpanel/lib/pkgconfig:$PKG_CONFIG_PATH".

    Arch Linux

    $ pacman -Syu gtk4 libadwaita libpanel-git gtksourceview5
    

    Fedora

    $ dnf install -y gtk4 libadwaita-devel libpanel
    

    openSUSE

    $ zypper in glib2-devel pango-devel gtk4-devel libadwaita-devel libpanel-devel gtksourceview5-devel libpoppler-glib-devel
    
  3. Build and run the application.

    $ cargo run
    

License

fm is licensed under the MIT license.