Yet another GNU/Linux GTK File Manager
A GTKMM application for GNU/Linux that intends to dig in to how file managers work. It is solely a reinvent-the-wheel type of project, as that is the way I learn best on how most projects work.
Read this to obtain a high level overview of this project, the requirements, and how these will be created internally.
- View all files on local file system
- Differentiate between files and folders
- Perform absolute directory changes
- Back, forward and up directory navigation buttons
- Change directories by clicking on folders
- Scrollable and resizeable window
If developing on Windows, install Xming.
If developing on Mac, install XQuartz.
If developing on a Debian-based GNU/Linux OS, install the xorg
package.
If you are using Windows or Mac, you will need to setup X11 port forwarding with the X11 applications listed above. This will not be covering how to do this.
This will show how to build this project using Docker. At the moment, Docker is a requirement since there are some hardcoded file paths used in the program that are not of high priority to fix.
- Install Docker for your system and make sure it is running.
git clone --recursive https://github.com/e7ite/E7FileManager.git
- If on Windows, run
docker_image_run.ps1
. On Mac and GNU/Linux, rundocker_image_run.sh
. - Attach to the new Docker container with this or an analogous command
docker exec -it filemanagerdevinst /bin/bash
. cd /project/
cmake -S . -B build
cd build
make
This might take some time sinceclang-tidy
static analysis occurs here.ctest
- To run the application, run
./e7fmgr
. Program will hang and not do anything if X11 port forwarding was not setup correctly. Otherwise the program should be displayed.