Ridual - 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 fully-functional two-panel panels, and all of them for some reason did not suit me. As a result, I broke up with this idea and began to use Nautilus and the command line.

    However, Canonical recently announced an application development competition for Ubuntu, and I decided to try to make the best file manager for Ubuntu.

    Ridual hasn’t yet implemented many functions (and the most important of them is file management). Therefore, you cannot use it fully. However, I hope that readers will tell me some valuable ideas and tell me whether I am moving in the right direction. However, this post would not have appeared if not for the fact that it beganvoting that will determine the results of the competition.

    Ridual is written in C ++ using Qt. It is distributed under the kindest MIT license, source codes are 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 


    Now I’ll talk about the features and benefits of Ridual that will help him become the best of file managers for Ubuntu.

    Description of program functions

    Ridual uses a 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 screenshot of Gnome Commander . Also, file icons from the system theme are correctly displayed. For some reason, the existing two-panel with this problem.

    Ridual allows you to perform any action from the keyboard. For example, using a hotkey, you can translate focus into an address bar to copy or edit it. In the future, it will be possible to choose options for copy errors. Moreover, you can change any key combination to whatever is more convenient for you.

    All operations related to the file system are performed in separate threads. This means that the program interface will never crash, even when you are working with a slow file system, for example, a network share or a faulty hard drive. Copy, delete file operations, etc. you can run in parallel to each other, or you can add them in one turn to perform actions one after another. (I am talking about this in the present tense because the queuing system has already been implemented, although the copy and delete operations themselves are not yet available.)

    The program can display a list of Gnome bookmarks and standard user folders ("Documents", "Music", etc.). Work with virtual file systems GIO / GVFS is supported. This includes various network resources mounted via FTP, SFTP, Samba, Bluetooth, etc. It also supports working with external media: you can see 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. Supported addresses like host.com/address”, And you can not only choose to mount the system from the list, but also mount any other by specifying the appropriate address. It seems to me that no other two-panel FM can do this. The only limitation: Ridual has not yet implemented a password request dialog for GIO, so you can use only resources that do not require a password (for example, public FTP), resources for which the password is saved on 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 right-clicking brings up a menu with which you can go to the folder adjacent to the selected one.

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

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

    File managers (and again I mean Nautilus) sin 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 this preview. When it is turned off, the operation is accelerated, but it becomes impossible to find out how much is left until the end of the operation. By default, there is an automatic mode in which the preview is performed, but it turns off automatically if more than 1000 files are found.

    Plans

    I plan to implement the basic operations with files: copying, moving, deleting, creating soft and hard links. There will also be standard functionality for processing copy errors (buttons “skip”, “skip all”, “repeat”, etc.).

    I also plan to implement a function, the idea for which I spied in the Windows 7 file manager. If a copy error occurs, a message with options for actions 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 many advantages, but it turned out to be unexpectedly difficult to design, since many questions arise regarding the program algorithm. However, I am working on it.

    It is also planned to support viewing and editing archives without unpacking, searching for files, limiting the maximum copy speed, the ability to undo previous operations, storing navigation history, and convenient navigation to folders visited previously.

    Conclusion

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

    If you enjoyed my endeavor, check out Ridual on this page . Anyone can vote, registration is not needed.

    Thanks for attention.

    Also popular now: