Skip to content

Latest commit

Β 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

LaunchBoards Banner

LaunchBoards

License: MIT Latest Release Python 3.10 | 3.11 | 3.12 PySide6 UI Platform: Windows Sister Product Codebase Ecosystem: file-bricks Umbrella: open-bricks Security SLA LLM Context Available


Organize your app shortcuts into dedicated launch boards and start what you need, when you need it β€” fast, local-first, and zero telemetry.

English β€’ Deutsch


Quick Navigation


What is LaunchBoards?

LaunchBoards is a specialized second branding of SoftwareCenter β€” running the identical, battle-tested desktop codebase under a distinct application identity, custom app icon, and separate settings profile (PROFILE_LAUNCHBOARDS).

While traditional app launchers focus on browsing a flat directory of installed programs, LaunchBoards centers the workflow around thematic workspaces ("Boards"). You organize your everyday desktop shortcuts, utilities, IDEs, and project folders into tab-based boards (e.g. Development, Design, Daily Office, Administration), switching contexts with a single click.

Note

LaunchBoards is not a fork or detached clone. It is an officially supported product profile of the canonical SoftwareCenter codebase. Both brandings run concurrently without mutual interference.


Why Two Names for One App?

SoftwareCenter and LaunchBoards represent two complementary conceptual framings of the exact same utility:

Perspective Framing Primary Use Case Default Profile
SoftwareCenter Software Catalog Organizing, categorizing, and launching installed software packages PROFILE_SOFTWARECENTER
LaunchBoards Workspace Boards Organizing shortcuts into tabbed launch boards across active projects PROFILE_LAUNCHBOARDS

Both apps can run side by side on the same machine without colliding:

  • Each profile uses its own independent QSettings namespace (file-bricks/LaunchBoards vs file-bricks/SoftwareCenter).
  • Each profile uses an independent single-instance lock (LaunchBoards.lock vs SoftwareCenter.lock), allowing both to run at the same time.
  • Both share 100% interoperability with the versioned profile format (softwarecenter-profile-v1.json).

Architecture & Profile Isolation

The diagram below illustrates how LaunchBoards leverages the shared core engine while remaining completely isolated in runtime state, configuration, and process mutex locks:

flowchart TD
    User["Desktop User / Developer"] -->|"Selects Branding"| Choice{"Execution Profile"}
    Choice -->|"Run LaunchBoards"| LB_Entry["LaunchBoards.exe / launchboards.py"]
    Choice -->|"Run SoftwareCenter"| SC_Entry["SoftwareCenter.exe / SoftwareCenter.py"]

    LB_Entry -->|"Initializes Profile"| CoreEngine["SoftwareCenter.py Core Engine"]
    SC_Entry -->|"Initializes Profile"| CoreEngine

    CoreEngine -->|"Dedicated Registry"| LBSettings["QSettings ('file-bricks/LaunchBoards')"]
    CoreEngine -->|"Dedicated Registry"| SCSettings["QSettings ('file-bricks/SoftwareCenter')"]

    CoreEngine -->|"Dedicated Mutex"| LBLock["SingleInstanceLock ('LaunchBoards.lock')"]
    CoreEngine -->|"Dedicated Mutex"| SCLock["SingleInstanceLock ('SoftwareCenter.lock')"]

    LBSettings -->|"Workspace Framing"| LBUi["LaunchBoards UI ('Tabbed Workspace Boards')"]
    SCSettings -->|"Software Framing"| SCUi["SoftwareCenter UI ('Application Catalog')"]
Loading

Workspace Launch Lifecycle

LaunchBoards provides a responsive, local-first workflow from startup to process invocation:

sequenceDiagram
    autonumber
    actor User as "Desktop User"
    participant App as "LaunchBoards (PySide6)"
    participant Store as "QSettings State"
    participant OS as "Operating System"

    User->>App: "Launch application"
    App->>Store: "Load workspace tabs and shortcuts"
    Store-->>App: "Active boards ('Development', 'Design', 'Tools')"
    App-->>User: "Render tabbed launch boards UI"

    User->>App: "Drag & drop shortcut item (.lnk / .exe)"
    App->>Store: "Persist shortcut item in active board"
    Store-->>App: "State updated"

    User->>App: "Click shortcut / Press hotkey"
    App->>OS: "Spawn target process via QDesktopServices"
    OS-->>User: "Application launched successfully"
Loading

Core Features

  • πŸ“‘ Tabbed Launch Boards: Create, rename, and rearrange custom workspace boards tailored to specific workflows (e.g. Code, Audio, Comms).
  • πŸ–±οΈ Drag & Drop Organization: Simply drag Windows shortcut files (.lnk), executables (.exe), scripts, or documents directly into any board.
  • ⚑ Instant Filter Search: Type to filter shortcuts immediately across all boards without navigating deep menu hierarchies.
  • πŸ”’ 100% Local-First & Zero Telemetry: No user account, no cloud servers, no telemetry, and zero network traffic.
  • πŸ“¦ Portable Profile Migration: Export and import boards effortlessly using the standard JSON format (softwarecenter-profile-v1.json).
  • πŸ”€ True Side-by-Side Execution: Run LaunchBoards alongside SoftwareCenter concurrently with dedicated settings and window states.

Getting Started & How to Run

Option 1: Standalone Windows Executable (Recommended)

Pre-built binaries for LaunchBoards are distributed as standalone, portable Windows executables alongside SoftwareCenter releases:

  1. Visit the canonical release page: SoftwareCenter Releases.
  2. Download LaunchBoards.exe (or LaunchBoards-<version>-win64.exe).
  3. Run the executable directly. No installation or administrative privileges required.

Option 2: Running from Source

Since LaunchBoards shares the canonical codebase, clone and run it via the dedicated runner:

# Clone the canonical repository
git clone https://github.com/file-bricks/SoftwareCenter.git
cd SoftwareCenter

# Install dependencies (PySide6)
pip install -r requirements.txt

# Launch with the LaunchBoards profile
python launchboards.py

Option 3: Building Standalone Binary Locally

To produce your own portable LaunchBoards.exe via PyInstaller, execute the preconfigured build script in the canonical repo:

build_exe_launchboards.bat

The resulting binary will be located in dist/LaunchBoards/LaunchBoards.exe or bundled into root as LaunchBoards.exe.


System Invariants & Governance

LaunchBoards adheres to strict operational and architectural invariants:

ID Invariant Description
INV-LOCAL-01 Zero Network Egress No telemetry, phone-home checks, cloud synchronization, or external web requests.
INV-LOCAL-02 Unprivileged Run Runs strictly in user space (RunAsInvoker). Never requests administrative (UAC) elevation.
INV-LOCAL-03 Non-Destructive Ops Removing a shortcut only detaches the UI reference; target files and executables are never deleted.
INV-LOCAL-04 Safe Link Resolution Safely extracts target metadata from .lnk files without executing shell evaluation scripts.
INV-LOCAL-05 Profile Isolation QSettings key file-bricks/LaunchBoards is strictly isolated from file-bricks/SoftwareCenter.
INV-LOCAL-06 Mutex Independence Single-instance lock LaunchBoards.lock permits simultaneous execution with SoftwareCenter.
INV-LOCAL-07 Schema Parity 100% interoperability with versioned profile schema (softwarecenter-profile-v1.json).
INV-LOCAL-08 Canonical Authority The canonical source of truth for code, tests, and CI is file-bricks/SoftwareCenter.
INV-LOCAL-09 Bilingual Parity All end-user documentation maintains complete German/English alignment (P-006).
INV-LOCAL-10 Security SLA Security disclosures receive a verified response within 48 hours and triage within 5 days.

Canonical Repository & Contributing

This repository (file-bricks/LaunchBoards) is maintained as an official branding pointer and entry point for discoverability.

All active development, issue tracking, and contributions occur in the canonical repository:

πŸ‘‰ github.com/file-bricks/SoftwareCenter

  • Issues & Bug Reports: Please open issues under SoftwareCenter and tag with [LaunchBoards].
  • Pull Requests: Submit PRs against file-bricks/SoftwareCenter.
  • Translations: Maintained via manage_translations.py and locales/ in the canonical repository.

Ecosystem & Sister Projects

LaunchBoards is part of the file-bricks and open-bricks desktop tool ecosystem:

Project Focus Area Canonical Repository
SoftwareCenter Installed software catalog & desktop launcher file-bricks/SoftwareCenter
LaunchBoards Tab-based workspace launch boards file-bricks/LaunchBoards
TextCrafter Local-first distraction-free text editor & Markdown suite file-bricks/TextCrafter
TagFolder Tag-based file navigation and organization tool file-bricks/TagFolder
lock-master Deterministic multi-agent file and directory locking dev-bricks/lock-master
open-bricks Umbrella registry for open-source desktop applications open-bricks/.github

Security & Vulnerability Reporting

Security and user privacy are foundational. LaunchBoards executes completely offline and requires no elevated privileges.

If you identify a security issue or vulnerability, please consult our SECURITY.md policy. We commit to an initial response within 48 hours and triage within 5 business days:

  • πŸ“§ Security Team: security@open-bricks.org
  • πŸ“§ Maintainer: lukas@open-bricks.org

License

MIT License β€” see LICENSE for full details.

Copyright (c) 2026 Lukas Geiger.

About

LaunchBoards - organize and launch your workspaces. Sister product of SoftwareCenter (shared codebase, separate branding/profile).

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages