This project implements a file system GUI using Dear ImGui, a graphical interface library. It enables users to perform file system operations including file and directory management, disk usage monitoring, and file modification.
Implemented in C++ with OpenGL for rendering
OS-GroupProject
Operation | Function |
---|---|
Create Directory | create_directory(dirName) |
Delete Directory | delete_directory(dirName) |
Create File | create_file(fileName) |
Delete File | delete_file(fileName) |
Write to File | write_to_file(fileName, fileContent.c_str()) |
Read File | read_file(fileName) |
Get File Info | get_file_info(filePath) |
List Directory Contents | list_directory_contents(filePath) |
Rename File/Directory | rename_file_or_directory(oldName, newName) |
Move File/Directory | move_file_or_directory(moveCopySource, moveCopyDestination) |
Copy File | copy_file(moveCopySource, moveCopyDestination) |
Change File Permissions | change_permissions(fileName, parsedPermissions) |
Get Disk Usage | get_disk_usage(".") |
-
Install the necessary libraries
sudo apt update sudo apt install gcc pkg-config g++ build-essential libglfw3-dev libgl1-mesa-dev libx11-dev libxrandr-dev libxi-dev libxxf86vm-dev libxcursor-dev cmake
-
Firstly, clone the ImGUI git repository into this project directory. We use the docking branch since it provides option to resize the windows according to our wish
git clone --recursive https://github.com/ocornut/imgui -b docking
NOTE: the
imgui
folder should be at ROOT i.e., one dir behind AllinOne or file_system_gui folder.
-
go to
file_system_gui
directory, and run the make command.cd file_system_gui make
NOTE: Make sure, the make file IMGUI directory is pointed to the directory you cloned in step 1
-
Run the GUI interface:
./file_Sys_gui
.
├── FileSys_GUI
├── imgui
├── Output_ScreenShots
└── README.md