84 lines
3.1 KiB
Markdown
84 lines
3.1 KiB
Markdown
# BagheeraView
|
||
|
||
BagheeraView is an image viewer specifically designed for the KDE ecosystem. Built with **Python** and **PySide6**, it leverages Baloo to deliver a powerful, agile, and fluid metadata-based image management experience without abandoning classic folder management.
|
||
|
||
## 🚀 Key Features
|
||
|
||
- **Enhanced Baloo Search:** Blazing fast image retrieval using the KDE Baloo indexing framework, featuring advanced capabilities not natively available in Baloo, such as **folder recursive search** and results **text exclusion**.
|
||
|
||
- **Versatile Thumbnail Grid:** A fluid and responsive browser for large collections, offering both **Flat View, Date View** and **Folder View** modes.
|
||
|
||
- **Face Detection:** Integrated computer vision to detect faces within your photos and assign person names.
|
||
|
||
- **Metadata:** A basic viewer for **EXIF, IPTC, and XMP** data.
|
||
|
||
- **Tagging & Rating & Comments System:** Effortlessly manage tags, ratings and comments that integrate directly with your filesystem's extended attributes.
|
||
|
||
- **Smart State Persistence:** The application remembers your workflow. Your **last used sort order** and view settings are automatically saved and restored upon startup.
|
||
|
||
## 🛠 Technical Stack
|
||
|
||
- **Language:** Python 3
|
||
|
||
- **GUI Framework:** PySide6 (Qt for Python)
|
||
|
||
- **KDE Integration:** Baloo search and management
|
||
|
||
- **Metadata Handling:** Advanced image header manipulation to store faces and support to file extended attributes
|
||
|
||
|
||
## 🌐 Internationalization (i18n)
|
||
|
||
BagheeraView is designed for a global audience with localized interface support. Initial supported languages include:
|
||
|
||
- **English** (Base development language)
|
||
|
||
- **Galician**
|
||
|
||
- **Spanish**
|
||
|
||
> **Note:** Following internal configuration standards, all source code labels and developer logs are maintained in English for technical consistency.
|
||
|
||
## ⚙️ Configuration & Persistence
|
||
|
||
BagheeraView is built for workflow continuity. The application stores the user's environment state in the local configuration:
|
||
|
||
- **Restore Last Layout:** Last layout and preferences are automatically saved and restored every time you launch it.
|
||
|
||
- **Keyboard configuration:** All hotkeys can be parametriced by the user.
|
||
|
||
- **Interface Language:** The application automatically detects the system locale and applies the corresponding translation on startup or user can decide main language.
|
||
|
||
|
||
## 📥 Installation (Development)
|
||
|
||
Ensure you have the necessary PySide6 dependencies and KDE development headers for Baloo installed on your system.
|
||
|
||
Bash
|
||
|
||
```
|
||
# Clone the repository
|
||
git clone https://github.com/youruser/BagheeraView.git
|
||
cd BagheeraView
|
||
|
||
# Install dependencies
|
||
pip install -r requirements.txt
|
||
|
||
# Run the application
|
||
python main.py
|
||
```
|
||
|
||
## 🤝 Contributing
|
||
|
||
We follow an **English-first policy** for the codebase and documentation.
|
||
|
||
1. **Fork** the project.
|
||
|
||
2. Create your **Feature Branch** (`git checkout -b feature/AmazingFeature`).
|
||
|
||
3. **Commit** your changes (`git commit -m 'Add some AmazingFeature'`).
|
||
|
||
4. **Push** to the branch (`git push origin feature/AmazingFeature`).
|
||
|
||
5. Open a **Pull Request**.
|