Merge pull request #28305 from lkxed/20221222-2-3-delightful-features-of-the-Linux-QtFM-file-manager

[手动选题][tech]: 20221222.2 ️ 3 delightful features of the Linux QtFM file manager.md
This commit is contained in:
Xingyu.Wang 2022-12-23 09:17:40 +08:00 committed by GitHub
commit 88a3bcbc72
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -0,0 +1,91 @@
[#]: subject: "3 delightful features of the Linux QtFM file manager"
[#]: via: "https://opensource.com/article/22/12/linux-file-manager-qtfm"
[#]: author: "Seth Kenlon https://opensource.com/users/seth"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
3 delightful features of the Linux QtFM file manager
======
QtFM is a simple file manager that aims to provide the basic features of file management through a fast and intuitive interface. It's available for Linux, BSD, and macOS.
QtFM, as its name suggests, uses the Qt (canonically pronounced "cute") programming toolkit. I've worked with the Qt toolkit both in C++ and Python, and using it is always a pleasure. It's cross-platform, it's got multiple levels of useful abstraction so developers don't have to interact directly with vendor-specific SDKs, and it's highly configurable. From a user's perspective, it's a "natural" and fast experience, whether you're on the latest hardware or on an [old computer][1].
### Using QtFM
There's not much to QtFM. It focuses on being exactly what its name claims: a file manager (FM) for Qt. The layout is what you probably expect from a file manager: a list of common places and devices on the left and a list of files on the right.
![QtFM file manager][2]
It's got just four menus.
- **File**: Create a new file or folder, open a new tab or window, or exit the application.
- **Edit**: Copy, paste, move to trash, or create a new bookmark in the left panel.
- **View**: Toggle between the list and icon views, adjust the layout.
- **Help**: Licensing information, and links to online documentation.
Interacting with QtFM is largely the same experience you're probably used to with any standard-issue file manager. You can click around to navigate, open files in its default application, drag-and-drop files and folders, copy and paste files and folders, launch applications, and whatever else you do when you're interacting with the contents of your computer. It's familiar, so there's basically no learning curve and no unpleasant surprises.
There are, however, several pleasant surprises. Here are three of my favorites.
### 1. Put a command into a contextual menu
With QtFM, you can add any command you can run in a terminal to the right-click contextual menu. For instance, suppose you want an option to convert an image into the [webp format][3] to the right-click menu. There's no complex framework or scripting language to learn, you don't need to develop a plugin. You can do it in just 3 steps:
- Go to the **Edit** menu and select **Settings**
- Click on the **Custom actions tab**
- Click the **Add** button and enter the command you want to run, using `%f` for the source file and `%n` for the new file
![QtFM custom actions][4]
The action now appears in your QtFM contextual menu.
### 2. Flexible layout
One of the built-in features of the Qt toolkit is that many of its components are ("widgets") detachable. QtFM takes advantage of this and allows you to unlock its layout from the **View** menu. Once unlocked, you can drag toolbars and side panels, anchoring them in new positions around your window. I was able to combine the menu bar, navigation toolbar, and the URI field into a unified panel, and I placed a file tree on the right side of the window for convenience.
![QtFM unlocking the layout][5]
This requires no special knowledge of application design or even configuration. You just unlock, drag and drop, and lock.
### 3. Tabbed view
Many Linux file managers offer tabs the same way as most web browsers do. It's a simple interface trick that lets you keep several locations handy. I don't know whether it actually saves time, but I always feel like it does. QtFM offers tabs, too, and there are two things I particularly enjoy about the way it implements them.
First of all, the tabs are at the bottom of the window by default (you can change that in **Settings**.) Because I tend to read from left to right and top to bottom, I usually prefer to have "extra" information at the bottom and right ends of a window. Of course, what constitutes "extra" information varies from user to user, so I don't blame any developer for placing widgets and panels in places I wouldn't put widgets and panels. It's nice, though, when a developer accidentally agrees with my preferences.
Secondly, the tabs are responsive. You can drag a file or folder from one tab into another just by hovering over your target tab. It feels as natural as dragging and dropping from one window to another.
### Install QtFM
On Linux, your distribution may package QtFM in its software repository. If so, you can use your package manager to install. For example, on Debian and Debian-based systems:
```
$ sudo apt install qtfm
```
If your distribution doesn't offer QtFM, you may find a package for it on its [website][6], or you can download the source code from its [Git repository][7].
--------------------------------------------------------------------------------
via: https://opensource.com/article/22/12/linux-file-manager-qtfm
作者:[Seth Kenlon][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/seth
[b]: https://github.com/lkxed
[1]: https://opensource.com/article/22/10/obsolete-computer-linux-opportunity
[2]: https://opensource.com/sites/default/files/2022-12/qtfm.webp
[3]: https://opensource.com/article/20/4/webp-image-compression
[4]: https://opensource.com/sites/default/files/2022-12/qtfm-custom-action.webp
[5]: https://opensource.com/sites/default/files/2022-12/qtfm-layout-unlock.webp
[6]: https://qtfm.eu/
[7]: https://github.com/rodlie/qtfm/