88
99A cross-platform desktop application for viewing random images from folders or collections. Useful for reference studies, browsing large image libraries, and rediscovering artwork.
1010
11+ [ ![ Latest Release] ( https://img.shields.io/github/v/release/radioactiveorange/glimpse )] ( https://github.com/radioactiveorange/glimpse/releases/latest )
12+ [ ![ Downloads] ( https://img.shields.io/github/downloads/radioactiveorange/glimpse/total )] ( https://github.com/radioactiveorange/glimpse/releases )
13+ [ ![ License: GPL v3] ( https://img.shields.io/badge/License-GPLv3-blue.svg )] ( https://www.gnu.org/licenses/gpl-3.0 )
14+
15+ ## 📋 Table of Contents
16+
17+ - [ ✨ Features] ( #-features )
18+ - [ 📦 Installation] ( #-installation )
19+ - [ 🚀 Quick Start] ( #-quick-start )
20+ - [ 🎯 Use Cases] ( #-use-cases )
21+ - [ ⌨️ Keyboard Shortcuts] ( #️-keyboard-shortcuts )
22+ - [ 🖱️ Mouse Controls] ( #️-mouse-controls )
23+ - [ 🛠️ Advanced Features] ( #️-advanced-features )
24+ - [ 🏗️ Technical Details] ( #️-technical-details )
25+ - [ 🎨 Screenshots] ( #-screenshots )
26+ - [ 🤝 Contributing] ( #-contributing )
27+ - [ 📝 License] ( #-license )
28+
1129## ✨ Features
1230
1331### 🎲 ** Collections & Random Viewing**
@@ -31,64 +49,60 @@ A cross-platform desktop application for viewing random images from folders or c
3149- Minimal UI design
3250
3351### 💾 ** Collection Management**
34- - Multi-folder collections
52+ - Multi-folder collections with professional startup dialog
3553- Persistent storage between sessions
54+ - Collection editing, deletion, and organization
55+ - Quick folder location access
3656- Cross-platform support (Windows, macOS, Linux)
3757
3858---
3959
40- ## 🚀 Quick Start
60+ ## 📦 Installation
4161
42- ### Installation
62+ ### 🎯 Recommended: Download Pre-built Binaries
4363
44- ** Prerequisites:**
45- - Python 3.13+
46- - [ uv] ( https://docs.astral.sh/uv/ ) (fast Python package manager) - Install with: ` pip install uv `
64+ ** [ 📥 Download Latest Release] ( https://github.com/radioactiveorange/glimpse/releases/latest ) **
4765
48- ** Option 1: Run from Source**
49- ``` bash
50- # Clone the repository
51- git clone https://github.com/radioactiveorange/glimpse.git
52- cd glimpse
66+ | Platform | File | Installation |
67+ | ----------| ------| --------------|
68+ | ** Windows** | ` glimpse-viewer-*.exe ` | Download and run directly |
69+ | ** macOS** | ` glimpse-viewer-*.dmg ` | Download, mount, and drag to Applications |
70+ | ** Linux** | ` glimpse-viewer-*.deb ` | ` sudo dpkg -i glimpse-viewer-*.deb ` |
71+ | ** Linux** | ` glimpse-viewer-*.tar.gz ` | Extract and run ` ./glimpse ` |
5372
54- # Create and activate virtual environment with uv (recommended)
55- uv venv
56- source .venv/bin/activate # On Windows: .venv\Scripts\activate
73+ ### 🛠️ Development Installation
5774
58- # Install dependencies
59- uv pip install -e .
60-
61- # Run the application
62- uv run main.py
63- ```
75+ ** Prerequisites:**
76+ - Python 3.13+
77+ - [ uv] ( https://docs.astral.sh/uv/ ) (fast Python package manager) - Install with: ` pip install uv `
6478
65- ** Alternative with uv (no manual venv activation needed) :**
79+ ** Run from Source :**
6680``` bash
6781# Clone the repository
6882git clone https://github.com/radioactiveorange/glimpse.git
6983cd glimpse
7084
71- # Install dependencies (uv handles venv automatically)
72- uv pip install -e .
85+ # Install dependencies and run (uv handles venv automatically)
86+ uv pip install pyside6
7387
7488# Run the application
7589uv run main.py
7690```
7791
78- ** Option 2: Build Executable**
92+ ** Build Your Own Executable: **
7993``` bash
8094# Install build dependencies
81- uv pip install -e " .[build] "
95+ uv pip install pyinstaller pyside6
8296
83- # Build standalone executable
84- pyinstaller --noconfirm --onefile --windowed --icon=app_icon.ico --name= glimpse main.py
97+ # Build standalone executable using the spec file
98+ pyinstaller glimpse.spec
8599
86100# Find your executable in the dist/ folder
87101```
88102
89103---
90104
91- ### First Launch
105+ ## 🚀 Quick Start
92106
931071 . Create a collection by clicking "New Collection" and selecting folders
941082 . Configure timer settings (or disable for manual browsing)
@@ -112,9 +126,15 @@ Alternatively, use "Quick Shuffle Folder" to browse any folder immediately.
112126| Shortcut | Action |
113127| ----------| --------|
114128| ` ← ` ` → ` | Navigate previous/next image |
129+ | ` Space ` | Play/pause timer |
115130| ` Ctrl ` ` + ` | Zoom in |
116131| ` Ctrl ` ` - ` | Zoom out |
117- | ` Ctrl ` ` 0 ` | Reset zoom to 100% |
132+ | ` Ctrl ` ` 0 ` | Reset zoom and center image |
133+ | ` F ` | Flip image horizontally |
134+ | ` G ` | Toggle grayscale mode |
135+ | ` B ` | Cycle background modes (black/gray/adaptive) |
136+ | ` H ` | Toggle history panel |
137+ | ` Esc ` | Switch collection/folder |
118138| ` Right-click ` | Open context menu |
119139
120140## 🖱️ Mouse Controls
@@ -128,27 +148,50 @@ Alternatively, use "Quick Shuffle Folder" to browse any folder immediately.
128148## 🛠️ Advanced Features
129149
130150### Collection Management
131- - Edit collections (rename, manage folders)
132- - Delete collections
151+ - Professional startup dialog with ShuffleBird-inspired design
152+ - Edit collections (rename, manage folders)
153+ - Delete collections with confirmation
133154- Auto-sorted by recent usage
155+ - Quick folder location access button
156+ - Async loading for large collections (72K+ images tested)
134157
135158### Image Processing
136159- Supported formats: JPG, JPEG, PNG, BMP, GIF
137160- Recursive search in subfolders
138- - Grayscale mode and flip controls
161+ - Image transformations: flip horizontal/vertical, grayscale
162+ - Smart image caching for performance
139163
140164### Customization
141- - Background modes: Black, Gray, Adaptive Color
142- - Timer intervals: 30s, 1min, 2min, 5min, or custom
143- - Configurable history panel
165+ - Background modes: Black, Gray, Smart Adaptive Color
166+ - Timer intervals: 30s, 1min, 2min, 5min, 10min, 30min, or custom
167+ - Configurable history panel with thumbnails
168+ - Professional button styling with SVG icons
144169
145170## 🏗️ Technical Details
146171
147- - Framework: PySide6 (Qt for Python)
148- - Modular architecture
149- - JSON-based collection storage
150- - Cross-platform settings and data directories
151- - Image caching for smooth performance
172+ - ** Framework** : PySide6 (Qt for Python)
173+ - ** Architecture** : Clean modular structure with UI/core separation
174+ - ** Collection Storage** : JSON files in platform-appropriate directories:
175+ - Linux: ` ~/.local/share/glimpse/collections/ `
176+ - Windows: ` %LOCALAPPDATA%/glimpse/collections/ `
177+ - macOS: ` ~/Library/Application Support/glimpse/collections/ `
178+ - ** Image Processing** : Optimized pixmap caching and async loading
179+ - ** UI Components** : Custom widgets with professional dark theme
180+ - ** Icons** : SVG-based with coded fallbacks for consistency
181+ - ** Settings** : QSettings with cross-platform persistence
182+ - ** Threading** : Worker threads for large collection operations
183+ - ** Build System** : PyInstaller with optimized spec file for all platforms
184+ - ** Package Management** : Debian (.deb), DMG (macOS), and portable binaries
185+
186+ ### System Requirements
187+
188+ | Platform | Minimum | Recommended |
189+ | ----------| ---------| -------------|
190+ | ** Windows** | Windows 10 | Windows 11 |
191+ | ** macOS** | macOS 10.15 | macOS 12+ |
192+ | ** Linux** | Ubuntu 20.04 / equivalent | Ubuntu 22.04+ |
193+ | ** RAM** | 2GB | 4GB+ |
194+ | ** Storage** | 50MB | 100MB+ |
152195
153196## 🎨 Screenshots
154197
@@ -168,7 +211,30 @@ Alternatively, use "Quick Shuffle Folder" to browse any folder immediately.
168211
169212## 🤝 Contributing
170213
171- This project was built collaboratively with Claude Code. Contributions, bug reports, and feature requests are welcome!
214+ This project was built collaboratively with Claude Code. We welcome:
215+
216+ - 🐛 ** Bug reports** - [ Open an issue] ( https://github.com/radioactiveorange/glimpse/issues )
217+ - 💡 ** Feature requests** - [ Suggest improvements] ( https://github.com/radioactiveorange/glimpse/issues )
218+ - 🔧 ** Pull requests** - Fork and contribute code
219+ - 📖 ** Documentation** - Help improve docs and examples
220+ - 🧪 ** Testing** - Try on different platforms and report findings
221+
222+ ### Development Setup
223+
224+ 1 . Fork the repository
225+ 2 . Follow the [ Development Installation] ( #🛠️-development-installation ) steps
226+ 3 . Make your changes
227+ 4 . Test on your platform
228+ 5 . Submit a pull request
229+
230+ ### Reporting Issues
231+
232+ When reporting bugs, please include:
233+ - Operating system and version
234+ - Python version
235+ - Steps to reproduce
236+ - Expected vs actual behavior
237+ - Screenshots if relevant
172238
173239---
174240
0 commit comments