WFInfo is a Windows desktop companion application for the game Warframe, built with WPF (.NET Framework 4.8). It uses OCR (Tesseract) to scan in-game reward screens, inventory items (SnapIt), and profile screens, then looks up real-time platinum and ducat prices from warframe.market. The architecture follows a service-oriented pattern with dependency injection (Microsoft.Extensions.DependencyInjection) for screenshot capture (GDI or Windows Graphics Capture), window information, HDR detection, and process finding. Key features include auto-detection of fissure rewards via Warframe's log file, a configurable overlay for price display, warframe.market listing management, language-specific text normalization (11+ locales), and a theme adjuster for OCR filtering. The application is Windows-only and tightly integrated with game UI, making it highly specialized but well-architected within its domain.
This repository provides a WPF custom control library, Sdl.MultiSelectComboBox, which is a fully-featured multi-select combo box with support for item selection, grouping, sorting, filtering, autocomplete, and suggestion providers. The library includes a set of well-defined interfaces (IFilterService, IAutoCompleteService, ISuggestionProvider, IItemGroup, IItemEnabledAware) that allow developers to plug in custom logic. The main control class (MultiSelectComboBox) is a large, self-contained WPF custom control that handles all UI interactions, including keyboard and mouse input, popup management, and visual state management. The codebase also includes a reusable event behaviour factory for attaching commands to routed events, visual tree helper utilities, and a theme manager for dynamic resource switching. The example project demonstrates a realistic usage scenario with a language selection UI, flag icons, and multiple configuration options. The code is well-structured and follows MVVM patterns, though the core control is monolithic due to the nature of WPF custom control development. The library is published as a NuGet package and targets .NET 4.8 and .NET 6.0 (Windows).
ScreenToGif is a Windows desktop application for screen, webcam, and sketchboard recording, with a built-in editor and export to animated images (GIF, APNG, WebP, AVIF), video (MP4, AVI, MKV, MOV, WebM), image sequences (BMP, JPEG, PNG), PSD, and its own project format (STG). The architecture follows MVVM with multiple projects: ScreenToGif (WPF UI), ScreenToGif.Model (domain/enums/interfaces), ScreenToGif.ViewModel (presets/tasks), ScreenToGif.Util (helpers, codification, converters, settings), ScreenToGif.Native (P/Invoke wrappers), and ScreenToGif.Test (unit tests). The application uses .NET 9 and relies on FFmpeg, Gifski, KGySoft.Drawing, and SharpDX (for DirectX capture). It features a rich set of custom WPF controls, global keyboard/mouse hooks, undo/redo with file-based state, color quantization algorithms, and cloud upload integration (Imgur, Yandex Disk). The codebase is well-structured but shows signs of technical debt: large monolithic files, legacy encoder implementations, deprecated SharpDX dependency, and minimal test coverage.
QTTabBar is a Windows Explorer shell extension that adds tabbed browsing, customizable toolbars, and a plugin system to File Explorer. It integrates as a COM band object (IDeskBand) into Explorer's rebar, providing features such as tab management, mouse gestures, keyboard shortcuts, folder groups, and a button bar. The architecture is a hybrid of WinForms and WPF, with heavy use of COM interop and native API hooking via the MinHook library. Key entry points include the BandObject base class, the QTCommandBar band, and the PluginServer that loads interactive and background plugins. External dependencies include the .NET Framework 4.8, Windows Shell APIs, and a native C++ hook library (QTHookLib). The system persists configuration in the Windows Registry and supports multi-language localization. While the codebase is mature and feature-rich, it exhibits technical drift due to reliance on legacy .NET Framework, extensive COM interop that may break on newer Windows versions, and some deprecated APIs. The plugin system and several utility components (e.g., PropVariant wrapper, ChineseCalendar) are well-crafted and potentially reusable in other projects.
NodeNetwork is a .NET C# WPF library that provides a fully interactive node graph editor component, following the Model-View-ViewModel (MVVM) pattern with ReactiveUI and DynamicData for reactive data flows. The core library (NodeNetwork) offers view models and custom WPF controls for managing networks of nodes, connections, endpoints, port rendering, pan/zoom, and validation. The NodeNetworkToolkit extends this with higher-level abstractions including typed value nodes, node grouping into sub‑networks, a searchable context menu, breadcrumb navigation, and a force‑directed layout engine for automatic graph arrangement. Three example applications demonstrate practical usage: a simple arithmetic calculator, a Lua code generator, and a GLSL shader editor with a 3D OpenGL preview. The architecture is modular: the core library is decoupled from the toolkit and examples via view registration (NNViewRegistrar) and dependency injection via Splat. All viewmodels are ReactiveObjects, and views implement IViewFor<T>, allowing clean separation and testability. The repository is well‑tested with unit tests covering network validation, value propagation, and UI interactions. Despite its solid design, the codebase shows signs of technical drift: it targets .NET Framework 4.7.2 and .NET Core 3.1 (not the latest .NET), uses the deprecated OpenTK library for the shader editor, and has inconsistent NuGet reference formats (packages.config vs. project‑file references). Some view logic remains in code‑behind files, and nullable reference types are not enabled. The library is nonetheless actively maintained (last commit April 2026) and has a strong user base (962 stars). It is not a data research repository; it is a UI library with example applications.
AutoClicker is a Windows desktop application built with WPF for automating mouse clicks. It allows users to configure click interval, mouse button, click type, repeat mode, and click position (current cursor or a specified location). The application runs in the system tray and can be controlled via configurable hotkeys (default F6, F7, F8) or through the GUI. Settings are persisted to a JSON file in the user's AppData directory. The architecture separates concerns into UI (Views), data models (Models), utility functions (Utils), and command bindings (Commands).
WPFDevelopers is a comprehensive WPF custom control library (NuGet package `WPFDevelopers`) that provides ~50+ themed UI controls, styles, effects, window chrome customization, system tray integration, screen capture, charts, loading indicators, and utility helpers. It also includes a demo application showcasing each control. The library targets a wide range of .NET versions (4.0 through 10.0) and integrates Win32 interop for advanced shell features. While containing some vendored code (Microsoft Expression Blend SDK) and occasional duplication, the library demonstrates solid engineering practices with reusable controls, attached behaviors, and a consistent theming infrastructure. It is actively maintained with CI builds for multiple frameworks.
IntuneManagement is a Windows desktop administration tool for Microsoft Intune/Endpoint Manager, built as a PowerShell/WPF application that authenticates via MSAL (Entra ID) and operates on tenant objects through the Microsoft Graph API (primarily the BETA endpoint). In production it provides export, import, copy, and comparison of Intune policies and configurations (including assignments, scope tags, and dependency resolution), bulk LOB app uploads with encrypted chunked transfer to Azure Storage, ADMX/ADML ingestion to generate custom registry-based policies, assignment usage reporting, and multi-format documentation generation (HTML, Markdown, Word, JSON, CSV) driven by a large embedded metadata catalog of policy schemas. The tool runs both interactively (WPF UI) and silently as a batch/DevOps job via command-line parameters and JSON settings files.
This repository provides 40+ icon pack libraries for WPF (and UWP) applications under the MahApps.Metro ecosystem. The core architecture defines base classes (PackIconControlBase, PackIconDataFactory, converters) that each icon pack extends with auto-generated code: an enum of icon identifiers (e.g., PackIconFontAwesome6Kind), a PackIcon control, markup extensions, and converters. Icon path data is embedded as JSON resources and loaded via a singleton factory. The code is predominantly auto-generated from upstream icon sets (Font Awesome, Material Design, Bootstrap, etc.), leading to a highly repetitive structure across packs. The library is actively maintained with recent commits, CI/CD pipelines, and semantic versioning. While the code is well-organized and functional, the heavy reliance on code generation reduces craftsmanship in the per-pack files; the genuinely reusable components are the base classes in the Core project, which implement icon scaling, flip, rotation, spin animation, and data loading patterns.
Hearthstone Deck Tracker is a Windows desktop companion application for the digital card game Hearthstone. It reads the game's log files and memory (via HearthMirror) to reconstruct real-time game state, providing an in-game overlay that displays the player's deck, opponent's known cards, draw probabilities, card generation predictions, and various counters for in-game effects. It also offers deck management (import/export, editing, versioning), match history and statistics, and integration with HSReplay.net for cloud sync, replays, and premium features like mulligan guides and arena drafting assistance. The application follows a custom MVVM (Model-View-ViewModel) architecture using .NET Framework and XAML for the UI. The core game state engine is driven by log watchers and handlers that parse Hearthstone's power log, while memory reading provides additional data like the player's collection and current deck. The overlay system consists of multiple transparent windows that can be configured per game mode (Constructed, Arena, Battlegrounds, Mercenaries). A plugin system allows third-party extensions, and an auto-updater (Squirrel) handles distribution. Key entry points include the main application window (App.xaml.cs), the log watcher manager (LogWatcherManager), the scene handler that transitions between game modes, and the various overlay view models. Data flows from log files and memory into a shared game state object, which is then consumed by counters, effect trackers, and UI components. External dependencies include HearthDb (card database), HearthMirror (memory reading library), HSReplay.net APIs, and the Hearthstone game client itself. The codebase is large and actively maintained, with frequent updates to support new Hearthstone expansions and game modes. However, it carries significant technical debt: heavy use of hardcoded card IDs, brittle regex-based log parsing, a custom UI framework that diverges from standard .NET patterns, and deep coupling to game-specific mechanics. While functional and feature-rich, the architecture shows signs of organic growth rather than deliberate design, making isolated reuse of components challenging without adaptation.
Watt Toolkit (Steam++) is a cross-platform desktop application that serves as a multi-functional game toolbox primarily for Steam users. The system provides network acceleration via a local reverse proxy (YARP-based) with HTTPS interception, DNS analysis, and multiple proxy modes (Hosts, System, PAC, VPN, DNS intercept). It includes plugins for Steam account switching, two-factor authenticator management (import/export/recovery), game library management, ArchiSteamFarm integration for card farming, and game tools. The architecture is a modular plugin system built with Avalonia UI, .NET, and ReactiveUI, using a multi-process IPC model for privilege separation. External dependencies include WinDivert for Windows packet interception, XunYou SDK for game acceleration, and ArchiSteamFarm for automated Steam actions. The codebase demonstrates a complex but functional architecture with significant platform-specific code and some areas of technical debt.
VoicemeeterFancyOSD is a Windows desktop application that provides a customizable on-screen display (OSD) for the Voicemeeter virtual audio mixer. It overlays real-time audio parameter changes (gain, mute, solo, bus assignments, etc.) on top of fullscreen applications without hooking into graphics APIs, using a combination of WPF, native WinAPI calls, and a custom DXGI bridge DLL. The application runs as a system tray icon and continuously polls the Voicemeeter Remote API to detect parameter changes, then displays animated OSD strips that mimic Voicemeeter's own UI style. It supports multiple Voicemeeter versions (Standard, Banana, Potato) and offers extensive configuration via an INI file and a settings window. The architecture is a hybrid .NET WPF application with a native C++ host and bridge. The main .NET assembly (VoicemeeterOsdProgram) handles UI, configuration, Voicemeeter API communication, and update management. A separate native host (VoicemeeterFancyOsdHost) loads the .NET runtime and hosts the WPF window, while a DXGI.dll bridge intercepts DirectX calls to achieve true topmost overlay behavior. Key entry points include Program.cs (application startup), App.xaml.cs (initialization), OsdWindowManager (OSD lifecycle), VoicemeeterApiClient (API polling), and BandWindow (custom topmost window). The application relies on several NuGet packages (ini-parser, WpfScreenHelper, Hardcodet.NotifyIcon, a-tg.VmrapiDynWrapExt) and internal WinAPI functions. The codebase demonstrates solid engineering practices with MVVM separation, custom reusable controls, and a modular structure. However, it suffers from maintenance risks due to its reliance on undocumented WinAPI, a fragile host process trick (renamed ApplicationFrameHost.exe), and a preview .NET version. There are no automated tests or CI pipelines, and the repository shows no recent commits, indicating a stale maintenance state. Despite these issues, several components (e.g., BandWindow, OptionsBase, Logger) are well-crafted and could be extracted for reuse in other Windows desktop applications.
Diffusion Toolkit is a WPF desktop application for organizing, searching, and browsing AI-generated images. It scans folders for images, extracts generation parameters (prompt, seed, model, CFG, workflow, etc.) from multiple formats (AUTOMATIC1111, ComfyUI, NovelAI, etc.), and stores them in a SQLite database for fast metadata search, filtering, and album management. The application provides a rich thumbnail grid, preview pane, folder/album/tag navigation, and supports videos, external applications integration, and auto‑updating via GitHub releases. Although it demonstrates a depth of domain knowledge and addresses a real need for AI artists, the codebase has notable architectural anti‑patterns (global static service locator, monolithic classes, raw SQL in migrations, large XAML files), is tied to Windows/WPF with no headless component, and uses a forked version of sqlite‑net. The code is actively maintained with frequent commits, but its reusability is limited by tight coupling and lack of an inversion of control container.
This is a Windows companion application for Apple Wireless Keyboards, written in C# with WPF. It intercepts keyboard events via a global low-level hook and direct HID communication to detect special keys (Fn, Eject, brightness, volume, media) and map them to configurable system actions (volume control via CoreAudio API, brightness via WMI, media playback, power management, etc.). The application uses MEF for a plugin-style architecture, allowing extensibility via exported action modules. It includes a system tray icon with context menu, a configuration UI for key bindings, and an overlay notification system. The codebase is functional and demonstrates some engineering craftsmanship, particularly in the HID communication layer and audio API wrapper, but is technically outdated (targets .NET 5.0, uses deprecated WPF features, and has not been actively maintained relative to modern .NET versions).
SparkleShare is a cross-platform desktop file synchronization application that uses Git as its backend, similar to a self-hosted Dropbox. It provides a system-tray-based GUI for Linux (GTK+), macOS (Cocoa), and Windows (WPF), allowing users to sync folders with remote Git repositories via SSH. The application supports encryption (AES-256-CBC), Git LFS for large files, and real-time sync signals via a centralized announcement service. The core sync logic is implemented in the shared 'Sparkles' library, with platform-specific controllers and UIs. The codebase is written in C# using Mono/Xamarin and targets .NET 4.5. The project has been in maintenance mode since its last release in November 2020, with the author seeking sponsors. The architecture is a monolith with a shared core and platform-specific frontends, but the technology stack is aging (GTK+2, WebKit, jQuery 1.6.1) and the build system is fragmented (meson + legacy .csproj). There is minimal test coverage and several abandoned features (e.g., listener layer). Despite these issues, the core sync engine and SSH abstraction demonstrate reasonable engineering for its era.
This repository provides two Windows desktop applications (WiinUPro and WiinUSoft) that allow users to connect Nintendo controllers (Wiimote, Nunchuk, Classic Controller, Pro Controller, Joy-Con, GameCube) and PlayStation controllers (DS3, DS4) to a PC, emulating Xbox 360 controllers (XInput) or other outputs like keyboard/mouse and vJoy virtual joystick. The architecture is a hybrid of C# WPF applications, a C++ kernel-mode virtual bus driver (ScpVBus.sys), and a C++ XInput wrapper DLL. The core logic is split into several libraries: NintrollerLib for parsing Nintendo controller protocols, ScpControl for Bluetooth/USB communication with PS3/PS4 controllers, and a Shared project with common utilities. The applications feature interactive controller visualizations, calibration tools, profile management, and localization support. The codebase is functional but shows signs of organic growth and technical debt. There are two overlapping applications (WiinUPro and WiinUSoft) with similar functionality, suggesting an incomplete migration. The kernel driver is provided as a precompiled binary without source, and the project targets .NET Framework 4.0 with legacy dependencies like SharpDX. Hardcoded magic numbers, commented-out code, and TODO comments are prevalent. Despite these issues, the repository demonstrates deep knowledge of controller protocols and provides a working solution for a niche use case. It is maintained sporadically by a single developer, with the last commit dated 2026-05-07 (likely a placeholder).