Wox is a cross-platform desktop launcher (macOS, Linux, Windows) written in Go with a custom retained-mode UI framework. It provides a keyboard-first search interface with an extensive plugin system (system plugins in Go, external plugins via WebSocket hosts for Python and Node.js). Core features include file search with content indexing (SQLite FTS5, USN journal, FSEvents), clipboard history, calculator, converter, emoji picker, screenshot with annotation, window management, AI chat with multiple providers (OpenAI, Ollama, etc.), cloud sync with encryption, and system commands (shell, timer, dictation). The architecture is a monolith with a plugin manager dispatching queries to registered plugins, rendering results in a custom widget tree with GPU-accelerated painting. It has a sophisticated settings system with typed definitions, migrations, and cloud sync. The codebase is large but well-organized, with extensive platform-specific code for Windows (COM, Win32), macOS (AppKit, Objective-C), and Linux (GTK, Wayland, X11).
Ulauncher is a fast, keyboard-driven application launcher for Linux (X11/Wayland) written in Python with GTK3. It provides a global hotkey-activated search window that queries multiple sources: installed applications via .desktop files, a file browser with special path prefixes, a calculator, user-defined shortcuts (scripts/URLs), and a rich extension system. Extensions run as separate subprocesses and communicate via Unix sockets using a JSON-line IPC protocol, supporting installation from git URLs or local directories. The main process manages result buffering, keyword caching, query history, and a preferences window with theme selection, hotkey configuration, and extension management. Architecturally, Ulauncher is a single-process desktop application with a clear mode-based query routing engine. Key entry points include the CLI (`ulauncher` start/show/toggle, install/uninstall/upgrade/preview extensions) and the D-Bus-activated Gtk.Application. The codebase is highly modular with isolated utility modules (EventBus, Fallible, scheduling, subprocess utilities) that demonstrate non-trivial integration of Python patterns with the GLib event loop. The extension lifecycle is robust, with per-process state machines, error categorization, and atomic disk operations for installs/updates. The repository is actively maintained (recent commits, CI/CD pipelines, performance regression tracking, and architecture documentation). Dependencies are pinned via requirements.txt and setuptools. The code exhibits low technical drift: GTK3 is stable, deprecated APIs are isolated to compatibility layers, and the project explicitly manages backward compatibility with v2 extension API. The codebase is well-structured, with significant test coverage across all modes and utilities, making it a solid reference for integrating Python with GLib/GTK and building desktop application plugin systems.
Kvaesitso is a production-grade, search-focused Android launcher and home-screen replacement. The app aggregates local and cloud content - apps, contacts, calendar events, files, locations, websites, Wikipedia articles, calculator results, and unit conversions - through a unified `SearchService`, then presents results in a Jetpack Compose UI with configurable widgets, themes, gestures, and plugin-backed data sources. It ships a ContentProvider-based plugin SDK that lets third-party packages extend search, weather, calendar, contact, file, and location providers. Cloud integration includes Nextcloud/ownCloud file search, multiple weather providers (Met.no, BrightSky, OpenWeatherMap), OpenStreetMap/Overpass location lookup, and a Material You-style color engine for theming. Architecturally this is a large modular monorepo with 40+ Gradle modules layered into `app`, `core`, `data`, `services`, `libs`, and `plugins`. Dependencies are wired with Koin; persistence uses Room with 30+ schema versions and hand-written migrations plus DataStore; concurrency is Kotlin coroutines and Flow; the UI is Compose/Material3. Primary entry points are `LauncherActivity`, `AssistantActivity`, the settings activities, and the plugin SDK. The codebase demonstrates strong separation of concerns, repository-per-domain organization, and a substantial library of custom Compose components for settings, bottom sheets, drag-and-drop, widgets, and animations. Despite active maintenance and nightly CI, drift signals exist: reflection into hidden `StatusBarManager` for global actions, many deprecated compatibility fields and migrations, hardcoded web/feed blocklists, and several external API integrations that can change without notice. The strongest, most reusable pieces are isolated algorithms and parsers: fzf-style fuzzy matching, OSM opening-hours parsing, searchable string normalization, and map tile rendering. These are genuinely extractable and would transfer cleanly to other search or geodata projects.
jgmenu is a lightweight, standalone X11 menu application written in C, designed for scripting, modding, and tweaking. It renders menus using Cairo and Pango, reading menu data from CSV files or piped commands. The architecture is modular: a core menu engine (src/jgmenu.c) handles event loops, drawing, and item management, while separate generators (jgmenu-apps, jgmenu-ob, jgmenu-lx, jgmenu-pmenu) produce CSV data from .desktop files, Openbox XML, or XDG menus. Configuration is via a jgmenurc file with 80+ options, and IPC via Unix sockets enables integration with tint2 and XFCE panels. The codebase demonstrates strong C engineering practices: banned unsafe functions, custom safe string buffers (sbuf), a generic linked list (list.h), a hashmap, and a CSV parser with triple-quote support. It includes a comprehensive test suite using a sharness-like framework and CI via GitHub Actions. While tightly coupled to X11, the utility modules are cleanly isolated and reusable in other C projects.
Ueli is a cross-platform keystroke launcher built with Electron, TypeScript, and React (Fluent UI). It provides a hotkey-triggered search window that aggregates search results from a modular extension system. Over 20 built-in extensions enable application and file searching, web search, calculator, color conversion, currency conversion, password generation, text processing, and more. The architecture follows a clean separation of concerns: the main process handles OS-specific operations (window management, tray icon, autostart, file icon extraction), a preload script enforces secure IPC via contextBridge, and the renderer provides a responsive React UI. Extensions implement a common contract and are loaded dynamically via a module registry. The codebase is well-tested (vitest), employs dependency injection, and includes localization in 7 languages. While the project is actively maintained and demonstrates solid engineering practices, some platform-specific components (e.g., Linux file searcher) are incomplete or stubbed, and the large extension surface introduces maintenance overhead.
MultiMC is a mature, cross-platform desktop application written in C++/Qt that manages and launches multiple Minecraft instances. The code implements a complete launcher stack: instance creation/import/export and modpack management (Modrinth, Technic, ATLauncher, legacy FTB), Microsoft/Mojang account authentication via OAuth device flow, per-instance component profiles (Forge/Fabric/Quilt/NeoForge/LiteLoader), Java discovery/validation, asset/library download with an HTTP metacache and checksum validators, a composable launch pipeline, and a self-updater. The UI is organized around a Qt Widgets page/dialog system with global and per-instance settings pages and a custom instance grid view. The architecture is a conventional monolithic desktop application but is modularized internally into subsystems: tasks, network jobs, settings, metadata, auth, mod platforms, and UI pages. Main entry point is launcher/main.cpp, which boots Application and communicates through a centralized singleton; the command line supports --launch, --import, --server, --world, --offline, and single-instance peer forwarding. External dependencies include Qt 5, CMake, an extensive set of vendored libraries (katabasis for OAuth, classparser for Java class files, xz-embedded, hoedown, tomlc99, systeminfo), and remote services such as Mojang, Microsoft/Xbox Live, Modrinth, ATLauncher, Technic, Imgur, and paste.ee. The codebase is not a data pipeline; however it contains meaningful offline parsers (JSON, TOML, NBT, Java class files, INI) and test fixtures that are relevant to anyone working with Minecraft mod formats.
Cerebro is an Electron-based desktop launcher application that provides a search interface (triggered by Ctrl+Space) for launching applications, web search, file navigation, calculations, and unit conversions. It features a two-renderer process architecture to maintain UI responsiveness during long-running tasks, a plugin system for extensibility, and uses Redux for state management. The application consists of a main process handling app lifecycle, a main renderer for the UI, and a background renderer for asynchronous plugin initialization and long tasks.
This repository provides unofficial binary wheels for Pymol-open-source on Windows, along with a source package to build a launcher executable. The primary distribution mechanism is through GitHub Releases where pre-compiled wheels for various Python versions and architectures are made available. The repository contains a minimal setup.py script that compiles a small C++ launcher (PyMOL.exe) which initializes the Python interpreter and runs the pymol module, serving as an entry point for the PyMOL application. The launcher is built using the Python C API's PyConfig interface, ensuring compatibility with Python 3.7 and later. The setup.py script handles the compilation of the launcher and its installation as a data file when the pymol-launcher package is installed. The repository also includes an icon file (PyMOL.ico) for the launcher executable. While the repository does not contain the source code for PyMOL itself, it facilitates the easy installation and execution of PyMOL on Windows systems by providing the necessary wheels and launcher. The build process relies on numerous external dependencies (such as Boost, VTK-m, and various multimedia libraries) as detailed in the release notes, and requires the Microsoft Visual C++ Redistributable to run. The project is actively maintained with recent commits and releases.