Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rodlie/qtfm

Qt File Manager
https://github.com/rodlie/qtfm

bsdisks ffmpeg file-management file-manager files freebsd freedesktop imagemagick libfm linux macosx netbsd openbsd qt qt5 qtfm udisks xdg

Last synced: about 22 hours ago
JSON representation

Qt File Manager

Awesome Lists containing this project

README

        

# QtFM

Qt File Manager for Linux, FreeBSD, NetBSD, OpenBSD and macOS.

* XDG integration
* Customizable interface
* Powerful custom command system
* Customizable key bindings
* Drag & drop functionality
* Tabs support
* Removable storage support
* System tray daemon (``qtfm-tray(1)``)
* Show available storage/optical devices in system tray
* Auto mount (and open) storage/optical devices when added *(not default)*
* Auto play CD/DVD *(not default)*
* Extensive thumbnail support
* Supports image formats through ``ImageMagick``
* Supports PDF and related documents
* Supports video formats through ``FFmpeg``
* Supports embedded images in media files

## Default shortcuts

| Action | Shortcut |
|:---------------------------:|:-----------:|
| New Window | [ctrl+n] |
| Open Tab | [ctrl+t] |
| Close Tab | [ctrl+w] |
| Copy Action | [ctrl+c] |
| Paste Action | [ctrl+v] |
| Up Action | [alt+up] |
| Back Action | [backspace] |
| Toggle Show Hidden Files | [ctrl+h] |
| Move to Trash | [del] |
| Delete | [shift+del] |
| Open Terminal | [F1] |
| Quit/Close | [ctrl+q] |
| Rename Action | [F2] |
| Zoom Out | [ctrl+-] |
| Zoom In | [ctrl++] |
| Focus Path | [ctrl+l] |
| Toggle Icon View | [F3] |
| Toggle Detail View | [F4] |
| Refresh View | [F5] |
| Drag and Drop Move Modifier | [shift] |
| Drag and Drop Copy Modifier | [ctrl] |
| Drag and Drop Ask Action | [alt] |

All shortcuts can be modified.

## Build

Download the latest [release](https://github.com/rodlie/qtfm/releases), then make sure you have the required dependencies.

* Requires [Qt](http://qt.io) 5.2+ (LTS recommended)
* libQt5Widgets
* libQt5Gui
* libQt5Concurrent
* libQt5DBus
* libQt5Core
* Requires [hicolor-icon-theme](https://www.freedesktop.org/wiki/Software/icon-theme/)
* Requires [adwaita-icon-theme](https://github.com/GNOME/adwaita-icon-theme) or similar
* Requires [libinotify](https://github.com/libinotify-kqueue/libinotify-kqueue) *if using BSD/macOS*
* Recommended [udisks](https://www.freedesktop.org/wiki/Software/udisks/)/[bsdisks](https://www.freshports.org/sysutils/bsdisks/) at run-time
* Recommended [ImageMagick (Magick++)](http://imagemagick.org) 6.9/7.x for improved thumbnail support
* libMagick++
* libMagickWand
* libMagickCore
* Recommended [FFmpeg](https://ffmpeg.org) 3+ for video/audio thumbnails/coverart
* libavdevice
* libswscale
* libavformat
* libavcodec
* libavutil

Download and extract:
```
tar xvf qtfm-6.x.y.tar.gz
cd qtfm-6.x.y
```

Or use git:
```
git clone https://github.com/rodlie/qtfm
cd qtfm
```

### qmake

Build options:

* ``CONFIG+=with_magick`` : This will enable ``ImageMagick`` support.
* ``MAGICK_PC=`` : Custom ``Magick++`` pkg-config .pc file.
* ``CONFIG+=oldmagick`` : If you have ``ImageMagick`` older than 6.9 *(Ubuntu)*.
* ``CONFIG+=with_ffmpeg`` : This will enable FFmpeg support *(**NOTE!** requires ImageMagick)*.
* ``CONFIG+=no_tray`` : This will disable ``qtfm-tray`` (``no_dbus`` will also disable this feature).
* ``CONFIG+=no_dbus`` : This will disable D-Bus session and ``udisks`` features in (lib)QtFM, ``qtfm-tray`` will also not be built.
* ``CONFIG+=with_includes`` : Install library includes and pkg-config
* ``CONFIG+=sharedlib`` : Force shared library.
* ``PREFIX=`` : Install prefix, where things are installed when running ``make install``
* ``DOCDIR=`` : Location for documentation (default is ``PREFIX/share/doc/qtfm-VERSION``)
* ``MANDIR=`` : Location for man pages (default is ``PREFIX/share/man``)
* ``XDGDIR=`` : Location of XDG (default is ``/etc/xdg`` or ``PREFIX/etc/xdg``)
* ``LIBDIR=`` : Library location (default is ``$PREFIX/lib$LIBSUFFIX``), only used if shared library is enabled

Doing a normal build:
```
mkdir build && cd build
qmake ..
make
```

You can run the binary ``bin/qtfm`` or install to ``/usr/local``:
```
sudo make install
```

### cmake

Since version 6.3.0 building with CMake is supported.

Build options (added):
```
ENABLE_MAGICK "Enable support for ImageMagick" (default true)
ENABLE_FFMPEG "Enable support for FFmpeg v3" (default true)
ENABLE_DBUS "Enable support for D-Bus" (default true)
ENABLE_UDISKS "Enable support for udisks" (default true)
ENABLE_TRAY "Enable support for qtfm-tray" (default true)
```

Doing a normal build:
```
mkdir build && cd build
cmake ..
make
```

You can run the binary ``qtfm`` or install to ``/usr/local``:
```
sudo make install
```

## Packaging

### qmake

```
qmake PREFIX=/usr CONFIG+=with_magick CONFIG+=with_ffmpeg ..
make -jX
make INSTALL_ROOT= install
```

### cmake

```
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 ..
make -jX
make DESTDIR= install
```