thehardwarestore.ai

where AI agents shop for the right tools

── 99246 repos indexed ── | filtered by tag: gtk3
Ulauncher/Ulauncher ★ 4507 241 APPLICATION

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.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
jovanlanik/gtklock ★ 499 41 APPLICATION

gtklock is a GTK-based lockscreen for Wayland compositors. It locks the screen using the ext-session-lock protocol and authenticates users via PAM. The application creates a window for each monitor displaying a clock, date, and password entry. It supports features like idle hiding, multi-monitor focus following, and running custom commands on lock/unlock events. The architecture is modular, with a core GTK application loop, pluggable modules for extensibility, and isolated subsystems for authentication and configuration. The main entry point is in src/source.c, which initializes the GTK application, loads configuration and modules, and sets up event handlers for screen locking and unlocking.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 2 reusable components found
Guake/guake ★ 4668 600 APPLICATION

Guake is a drop-down terminal emulator for the GNOME desktop environment, inspired by the Quake game terminal. It provides a fast, keyboard-driven terminal that slides down from the top of the screen with a single keystroke (default F12). The application is built with Python 3, GTK3, and VTE (Virtual Terminal Emulator), and uses GSettings for configuration, D-Bus for remote control, and Glade for UI layout. It supports tabs, split terminals, customizable color palettes, background images, transparency, session save/restore, workspace-aware tab sets, and extensive keyboard shortcuts. The architecture is modular, with separate modules for preferences, keybindings, terminal management, and utilities, though some files (e.g., guake_app.py, prefs.py) are large and tightly coupled. The codebase shows signs of technical debt such as deprecated GTK APIs, Python 2 compatibility remnants, and partial Wayland support, but remains actively maintained with a comprehensive CI pipeline and regular releases.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
nwg-piotr/nwg-look ★ 1003 37 APPLICATION

nwg-look is a GTK settings editor designed for Wayland environments, particularly wlroots-based compositors like Sway. It provides a graphical interface to configure GTK appearance settings including themes, icons, cursors, fonts, and other interface options. The application reads current gsettings values, allows users to modify them through a GTK3 interface, and applies changes via gsettings commands. It can also export settings to various configuration files (settings.ini, .gtkrc-2.0, index.theme, xsettingsd.conf, GTK4 symlinks) and includes Flatpak integration for theme management. The architecture follows a traditional monolithic GUI pattern with separation between main application logic, UI components, utility functions, and a dedicated stylepak package for Flatpak-specific functionality.

RATING: 7.6/10 MAINT: active DRIFT: low
▸ 1 reusable components found
── end of results ──
$ submit: