Skip to content

file-bricks/SoftwareCenter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

SoftwareCenter

Ein leichtgewichtiger, plattformübergreifender Desktop-Organizer für Software-Verknüpfungen mit Tab-basierter Kategorisierung.

SoftwareCenter Hauptfenster

Funktionen

  • Tab-Organisation - Programme in benennbare, verschiebbare Tabs gruppieren
  • Drag & Drop - Dateien per Drag & Drop hinzufügen
  • Zwei Ansichtsmodi - Kacheln (große Icons) und Liste
  • Automatische Speicherung - Tabs, Inhalte und Fensterposition bleiben erhalten
  • Kontextmenü - Rechtsklick zum Öffnen oder Entfernen
  • Cross-Platform - Windows, macOS und Linux
  • Native Icons - Automatische Anzeige der System-Anwendungsicons
  • macOS-App-Bundles - .app-Programme lassen sich per Drag & Drop hinzufügen
  • Linux-Desktop-Starter - .desktop-Launcher werden mit ihrem App-Namen angezeigt und korrekt gestartet
  • Persistente Oberfläche - Tabs, Fenstergröße und Ansichtsmodus werden via QSettings gespeichert
  • Profil-Export/Import - Versioniertes Austauschformat softwarecenter-profile-v1.json für Migrationen und spätere Web/PWA-Companions
  • Mehrfachauswahl - Mehrere Einträge können gemeinsam gelöscht werden
  • Offline-first - keine Telemetrie, keine Accounts, keine Cloud-Anbindung

Voraussetzungen

  • Python 3.10+
  • PySide6

Installation

pip install -r requirements.txt

Starten

python SoftwareCenter.py

Unter Windows auch per START.bat. Für eine lokale EXE-Aktualisierung ist zusätzlich build_exe.bat vorhanden.

Verwendung

Aktion Anleitung
Programme hinzufügen Dateien, Verknüpfungen, unter macOS .app-Bundles oder unter Linux .desktop-Starter ins Fenster ziehen
Tabs organisieren Toolbar > "Neuer Tab", Doppelklick zum Umbenennen
Ansicht wechseln Toolbar > Kacheln / Liste
Programme starten Doppelklick oder Rechtsklick > Öffnen/Starten
Einträge entfernen Rechtsklick > Löschen (entfernt nur die Verknüpfung)
Profil exportieren Datei > Profil exportieren oder Toolbar-Aktion
Profil importieren Datei > Profil importieren oder Toolbar-Aktion; ersetzt das aktuelle Profil

EXE erstellen

build_exe.bat

# oder direkt
python -m PyInstaller --noconfirm --clean SoftwareCenter.spec

Die EXE liegt anschließend in dist/SoftwareCenter.exe und wird durch build_exe.bat zusätzlich nach SoftwareCenter.exe im Projektwurzelverzeichnis kopiert.

Qualitätssicherung

python -m compileall -q SoftwareCenter.py manage_translations.py translator.py
python -m json.tool locales/translations.json
python -m json.tool store_package.json
python -m pytest -q

Die GitHub Actions führen diese Smoke-Checks ebenfalls aus. Build-Artefakte wie SoftwareCenter.exe, build/, dist/, releases/ und lokale Aufgaben-/Testdateien bleiben per .gitignore außerhalb des Repos.

Austauschformat

Profile lassen sich als softwarecenter-profile-v1.json exportieren und wieder importieren. Das Format enthält Tabs, Ansichtsmodus und Einträge mit label, path, kind und optionalen notes, aber keine kopierten Dateien und keine Credentials. Details stehen in EXPORTFORMAT.md.

Technik

Komponente Technologie
Sprache Python 3.10+
GUI-Framework PySide6 (Qt for Python)
Speicherung QSettings (Windows Registry / INI)
Codeumfang ~690 Zeilen

English

A lightweight, cross-platform desktop organizer for managing software shortcuts with tab-based categorization.

Features

  • Tab Organization - Group programs into renamable, movable tabs
  • Drag & Drop - Add files via drag and drop
  • Two View Modes - Tiles (large icons) and list
  • Auto Save - Tabs, contents, and window position are persisted
  • Context Menu - Right-click to open or remove
  • Cross-Platform - Windows, macOS, and Linux
  • Native Icons - Automatic display of system application icons
  • macOS App Bundles - Drag and drop .app applications directly into the organizer
  • Linux Desktop Launchers - .desktop entries show their app name and launch via their desktop command
  • Profile Export/Import - Versioned softwarecenter-profile-v1.json format for migrations and future web/PWA companions

Requirements

  • Python 3.10+
  • PySide6

Installation

pip install -r requirements.txt

Run

python SoftwareCenter.py

On Windows, you can also use START.bat or the prebuilt SoftwareCenter.exe from the Releases.

Usage

Action Instructions
Add programs Drag files, shortcuts, .app bundles on macOS, or .desktop launchers on Linux into the window
Organize tabs Toolbar > "New Tab", double-click to rename
Switch view Toolbar > Tiles / List
Launch programs Double-click or right-click > Open/Start
Remove entries Right-click > Delete (removes shortcut only)
Export profile File > Export Profile or the toolbar action
Import profile File > Import Profile or the toolbar action; replaces the current profile

Build Executable

pip install pyinstaller
python -m PyInstaller --noconfirm --clean SoftwareCenter.spec

The EXE will be in dist/SoftwareCenter.exe. On Windows, build_exe.bat also copies it to the project root for local use.

Quality Checks

python -m compileall -q SoftwareCenter.py manage_translations.py translator.py
python -m json.tool locales/translations.json
python -m json.tool store_package.json
python -m pytest -q

GitHub Actions runs these smoke checks. Build artifacts and local task/test files are ignored and should not be committed.

Exchange Format

Profiles can be exported as softwarecenter-profile-v1.json and imported again later. The format carries tabs, view modes, and entries with label, path, kind, and optional notes, but does not copy local files or credentials. See EXPORTFORMAT.md for details.

Tech Stack

Component Technology
Language Python 3.10+
GUI Framework PySide6 (Qt for Python)
Storage QSettings (Windows Registry / INI)
Code Size ~690 lines

License

MIT

Hinweis / Note: Diese Anwendung verwendet / This application uses PySide6, lizenziert unter / licensed under LGPLv3. PySide6 wird dynamisch gelinkt / is dynamically linked.


Haftung / Liability

Dieses Projekt ist eine unentgeltliche Open-Source-Schenkung im Sinne der §§ 516 ff. BGB. Die Haftung des Urhebers ist gemäß § 521 BGB auf Vorsatz und grobe Fahrlässigkeit beschränkt. Ergänzend gelten die Haftungsausschlüsse der MIT-Lizenz.

Nutzung auf eigenes Risiko. Keine Wartungszusage, keine Verfügbarkeitsgarantie, keine Gewähr für Fehlerfreiheit oder Eignung für einen bestimmten Zweck.

This project is an unpaid open-source donation. Liability is limited to intent and gross negligence (§ 521 German Civil Code). Use at your own risk. No warranty, no maintenance guarantee, no fitness-for-purpose assumed.

About

Lightweight cross-platform desktop organizer for software shortcuts with tab-based categorization. Built with Python and PySide6.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors