Skip to content

πŸ–ΌοΈ Thumbnail-first file manager with justified grid layout. Zero lag. cross-platform, Linux-first

License

Notifications You must be signed in to change notification settings

dragon-Elec/Imbric

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

139 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

        β–ˆβ€ƒβ–ˆβ–€β–„β–€β–ˆβ€ƒβ–ˆβ–„β–„β€ƒβ–ˆβ–€β–ˆβ€ƒβ–ˆβ€ƒβ–ˆβ–€β–€
        β–ˆβ€ƒβ–ˆβ–‘β–€β–‘β–ˆβ€ƒβ–ˆβ–„β–ˆβ€ƒβ–ˆβ–€β–„β€ƒβ–ˆβ€ƒβ–ˆβ–„β–„ 
 Your Photos. Your Filesystem. Zero Lag.

Imbric doesn't manage your files. It lenses them.

The Philosophy

Most file managers treat photos like spreadsheet rows.
Imbric treats them like what they are: visual objects with shape, color, and time.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ vs. β”‚ β”‚ Traditional Grid Justified Grid β”‚ β”‚ β”‚ β”‚ [ Grid of boxes ] [ Google Photos ] β”‚ β”‚ [ with wasted ] [ Style ] β”‚ β”‚ [ space ] [ Dynamic Rows ] β”‚ β”‚ β”‚ β”‚ Wasted space. ❌ β”‚ β”‚ β”‚ β”‚ Every pixel used. βœ“ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜


<table>
  <tr>
    <td align="center"><strong>Traditional Grid (Nemo)</strong></td>
    <td align="center"><strong>Imbric Justified Grid</strong></td>
  </tr>
  <tr>
    <td><img src="assets/nemo.png" alt="Nemo" width="100%"/></td>
    <td><img src="assets/imbric_pre_alpha.png" alt="Imbric Prealpha" width="100%"/></td>
  </tr>
</table>

## How It Works

Imbric is a **lens**, not an engine. It doesn't reinvent Linux. It *uses* it.

| What           | How Imbric Does It              | Why It's Fast                        |
| -------------- | ------------------------------- | ------------------------------------ |
| **Thumbnails** | `GnomeDesktop.ThumbnailFactory` | Same cache as Nautilus. Pre-baked.   |
| **File Ops**   | `Gio` (GLib I/O)                | Kernel-level. Zero Python overhead.  |
| **Layout**     | Justified Grid                  | Respects aspect ratios. Zero crop.   |
| **Sorting**    | `QSortFilterProxyModel`         | C++ side. Instant.                   |

                β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                β”‚   YOUR PHOTOS    β”‚
                β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                         β”‚
                         β–Ό
          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
          β”‚  LinuxDesktop + Gio (C libs) β”‚  ◀── The heavy lifting
          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                         β”‚
                         β–Ό
          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
          β”‚  Python (Thin Orchestrator)  β”‚  ◀── Just glue code
          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                         β”‚
                         β–Ό
          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
          β”‚  Qt Quick / QML (60fps UI)   β”‚  ◀── What you see
          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

<br/>

---

<br/>

## Get It Running

```bash
# Prerequisites (Debian/Ubuntu/Zorin)
sudo apt install python3-gi gir1.2-gnomedesktop-3.0

# Clone & Run
git clone https://github.com/yourusername/imbric.git
cd imbric
pip install -r requirements.txt
python3 main.py ~/Pictures



Roadmap

Phase 1 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  [DONE]  Native Shell
Phase 2 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  [DONE]  Justified Grid Engine
Phase 3 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  [DONE]  Thumbnails (GNOME)
Phase 4 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  [DONE]  Async I/O & Tabs
Phase 5 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘  [BUSY]  Interactions



License

MIT. Use it. Fork it. Ship it.
See LICENSE.




Built for Linux. Built with GNOME and QT. Built to be fast.