DEV Community

Samet Burgazoğlu
Samet Burgazoğlu

Posted on

Introducing Atilgan: The Golang and GTK4 File Manager Built for Speed and Productivity


While there are many file managers available, finding one that perfectly balances lightweight performance with rich functionality is a challenge.

Atilgan is a file manager/browser written in Golang using the GTK4 toolkit. Designed strictly for Linux distributions, it helps to find your files faster.

The Philosophy: Productivity First

The primary purpose of Atilgan is to boost productivity. Traditional file navigation often involves a slow cycle: find a file, double-click to open an external app, wait for it to load, close it, and repeat.

Atilgan aims to break this cycle. Its goal is to help you find folders and identify files faster without the need to actually open them. By integrating a powerful viewer directly into the file manager, Atilgan keeps you in the flow.

The Previewer

At the heart of Atilgan is its robust preview capability. When you select a file and press Space, you get an instant look at the content. Here is how it handles different formats:

  • Text & Code: Simple text files are rendered using GtkTextView. For programming files, Atilgan utilizes GtkSourceView, providing rich syntax highlighting for code review.
  • Images: Leveraging GtkImage, it supports all image formats native to GTK4.
  • Multimedia: You can play music and watch videos directly inside the file manager using GtkVideo. (Note: For extensive format support, you may need extra packages like ubuntu-restricted-extras).
  • PDFs: Atilgan relies on pdftoppm (available on almost every Linux distro) to render fast PDF previews.
  • Documents: Office files (DOCX, XLSX, PPTX) are previewed using unoconv, allowing you to view documents without launching a heavy office suite.
  • Directories: Even folders have previews. When you select a folder, Atilgan uses a directory previewer to show you a glimpse of what is inside before you enter it.

A Custom-Built ListView

Atilgan does not rely on standard, classic list widgets. Instead, it features a custom list view implementation drawn directly to the drawing area using Cairo.

This custom engine allows for unique features:

  • Smart Grouping: You can group files alphabetically or by modification time.
  • Fast Navigation: Using the Shift key, you can jump between groups rapidly.
  • Rich Metadata: Every file displays a thumbnail and essential information at a glance.

Powerful Organization & Search

Finding what you need is paramount. Atilgan offers several tools to keep your digital life organized.

Filtering and Tags

Tags: You can tag specific files and folders, then quickly access them via the dedicated Tag section.
Smart Filters: Filter your view based on file abilities (e.g., executables, folders) or by specific extensions (e.g., .png, .docx, .mp4).

Search Under the Hood

File Search: Atilgan uses the native find command for blazing speed (with Regex support coming soon).
Content Search: To find text inside files, it combines grep and find for accurate results.

Streamlined User Experience

Atilgan includes several UI features designed for modern usage:

  • Unique Pathbar: Navigate effortlessly backward and forward. The pathbar also makes copying paths or jumping to specific locations seamless.
  • Recent Section: Atilgan tracks your interactions, storing your recently used folders and files so you can pick up exactly where you left off.
  • Sidebar: Quick access to standard User Directories, which are auto-detected using XDG specifications.

Compatibility

Atilgan is a Linux-first project. It is designed to integrate deeply with Linux distributions. Currently, there are no plans to port the application to Windows or macOS.

Top comments (0)