📜 ⬆️ ⬇️

Ridual is a new file manager for Ubuntu.



When I just switched to Linux, I tried to find a convenient two-pane file manager for myself. It turned out that for Linux there are quite a few full-featured two-paneers, and for some reason they all did not suit me. In the end, I broke up with this idea and began to use Nautilus and the command line.

However, Canonical recently announced an application development contest for Ubuntu, and I decided to try making the best file manager for Ubuntu.
')
Now Ridual has not yet implemented many functions (and the most important of them is file management). Therefore, it can not be fully used. However, I hope that readers will prompt me with some valuable ideas and say whether I am moving in the right direction. However, this post would not have appeared if it were not for the fact that the voting began, which will determine the results of the competition.

Ridual is written in C ++ using Qt. It is distributed under the kindest MIT license, the source code is available on Github . Ubuntu 12.04 users can install the program from the repository:

sudo add-apt-repository ppa:strahovp/ridual sudo apt-get update sudo apt-get install ridual 


And now I'll talk about the features and benefits of Ridual, which will help him become the best of the file managers for Ubuntu.

Description of the program functions

Ridual uses the system color theme. No crazy colors. It seems to me that any application should organically fit into the environment. Compare the Ridual screenshot at the beginning of the article with the Gnome Commander screenshot . Also correctly displayed are icons of files from the system theme. For some reason, the existing two-paneers have problems with it.

Ridual allows you to perform any actions from the keyboard. For example, with the help of a hotkey, you can translate the focus to the address bar to copy or edit it. In the future, it will be possible to choose options for copying errors. Moreover, you can change any key combination to something that is more convenient for you.

All operations related to the file system are performed in separate threads. This means that the interface of the program will never freeze, even when you are working with a braking file system, for example, a network resource or a faulty hard disk. Copy operations, file deletions, etc. you can run parallel to each other, and you can put them in one queue to perform actions one after another. (I’m talking about this in real time, because the queue system has already been implemented, although there are no copy and delete operations yet.)

The program can display a list of Gnome bookmarks and standard user folders ("Documents", "Music", etc.). Supports work with virtual file systems GIO / GVFS. This includes various network resources mounted via FTP, SFTP, Samba, Bluetooth, etc. It also supports work with external media: you can view a list of media, mount and view the contents of the media. Here, Ridual uses the same API and provides the same functions as Nautilus. Addresses of the form “ host.com/address ” are supported , and you can not only choose to mount the system from the list, but also mount any other one by specifying the corresponding address. It seems to me that no other two-panel FM can do this. The only limitation is that while Ridual does not implement the GIO password request dialog, you can use only resources that do not require a password (for example, public FTP), resources for which the password is stored in the system or resources that are already mounted via Nautilus.

At the top of the Ridual window is a widget that displays the current address using a series of buttons. By clicking on one of them, you can go to the parent folder, and pressing the right button brings up a menu with which you can go to the folder next to the selected one.

And when copying in the bottom of the window appears the table of current operations. Thus, everything important is always in front of the eyes, and does not run off with the dialog box to the background. All main elements will be located in one window, simplifying keyboard control.

Ridual supports file associations with programs. Here it works just like Nautilus. Pressing Enter opens the default program, and in the context menu you can select
other programs that support this type of file. This function works correctly with network resources, while Nautilus has problems with it (for example, when opening files in Audacious).

File managers (and again I mean Nautilus) are sinned by slowly copying folders with a large number of files. This is due to the fact that they are trying to calculate the total number and size of files, and this is a lengthy operation. Ridual has the ability to enable or disable such a preview. When it is turned off, the operation is accelerated, but it becomes impossible to know how much is left until the end of the operation. By default, the automatic mode is set in which the preview is performed, but it is automatically disabled if more than 1000 files are found.

Plans

I plan to implement basic file operations: copying, moving, deleting, creating soft and hard links. There will be standard copy error handling functionality (“skip”, “skip all”, “repeat” buttons, etc.).

I also plan to implement a function, the idea for which I spied in the Windows 7 file manager. When a copying error occurs, a message with options is shown to the user, and the program in the background continues to perform the operation for those files for which this is possible. This function has a lot of advantages, but it turned out to be surprisingly difficult to design it, as there are many questions about the program's algorithm. However, I am working on it.

Also it is planned to support viewing and editing archives without unpacking, searching for files, limiting the maximum copying speed, the ability to cancel previous operations, storing the navigation history and conveniently navigating to folders visited before.

Conclusion

I hope that my project will turn out to be something worthwhile, and people will use it. If someone wants to help in developing the program, I will be very happy. By the way, I need help in writing automatic tests for the program, I have absolutely no experience in this matter.

If you like my endeavor, rate Ridual on this page . Anyone can vote, registration is not needed.

Thanks for attention.

Source: https://habr.com/ru/post/149647/


All Articles