$ account KDE
ghostwriter is a cross-platform desktop Markdown editor (Qt/C++) focused on distraction-free writing. In production, it provides a rich editing experience with live HTML preview, syntax highlighting for GitHub-Flavored Markdown (via cmark-gfm), LaTeX math rendering (via bundled MathJax), customizable themes, spell checking via KDE Sonnet, find/replace with regex support, document statistics (word count, readability indices, session analytics), and export to HTML, PDF, ODT, EPUB, and LaTeX using external tools like Pandoc or MultiMarkdown. The architecture is a standard Qt desktop application with singleton services (ExporterFactory, AppSettings, CmarkGfmAPI), a factory pattern for exporters, and a signal/slot-driven UI. Key entry points are the MainWindow (orchestrating editor, preview, sidebar, and menus), MarkdownEditor (custom QPlainTextEdit with overridden painting and input handling), and HtmlPreview (QWebEngineView with a QWebChannel bridge for live updates). Data flows: user types Markdown → MarkdownDocument (wraps cmark-gfm AST) → syntax highlighter updates → preview regenerates HTML via exporter → MathJax renders any LaTeX in the preview. External dependencies include Qt (5 or 6), KDE Frameworks (Sonnet, KConfigWidgets, KCoreAddons), and the bundled cmark-gfm and MathJax libraries. Export optionally depends on Pandoc, MultiMarkdown, or cmark command-line tools. The codebase demonstrates solid software engineering practices: clean separation of concerns, use of design patterns (singleton, factory, decorator, proxy), and extensive use of Qt's meta-object system for decoupled communication.
KMyMoney is a mature, open-source personal finance manager for the KDE desktop environment. It provides double-entry accounting with support for multiple accounts, currencies, investments, loans, budgets, and scheduled transactions. The application features a plugin architecture for import/export (QIF, CSV, OFX, GnuCash, iCalendar), online banking (AqBanking, OFX Direct Connect, Woob), and storage backends (XML, SQLite with encryption). The core domain model includes MyMoneyTransaction, MyMoneySplit, MyMoneyAccount, and related entities, all built on Qt's model/view framework. The codebase is large (over 3600 files) and has been under active development for over two decades, resulting in a rich feature set but also some legacy patterns and conditional compilation for Qt5/Qt6 compatibility. The architecture is a monolithic desktop application with a well-defined plugin system, extensive unit tests for core data objects, and a sophisticated reporting engine with pivot tables and charts.
This repository is the KDE Plasma Mobile shell, a full-featured mobile desktop environment for Linux phones and tablets. It provides a touch-optimized user interface including homescreens (Folio and Halcyon), a status bar, navigation panel, quick settings drawer, lock screen, notification system, volume OSD, and system settings modules. The architecture is a Plasma shell containment built on Qt 6, KDE Frameworks 6, and Wayland, with C++ backends for hardware interaction (sensors, display power management, flashlight, screen brightness) and QML frontends for all UI components. Key entry points include the shell package (org.kde.plasma.mobileshell), homescreen containments, KWin effects for task switching, KDED modules for APN autodetection and session startup, and an initial setup wizard. External dependencies include KDE Plasma libraries (plasma-workspace, kwin, plasma-nano, Kirigami), Qt 6, KWayland, NetworkManager, ModemManager, PulseAudio, and Solid. The codebase is actively developed with a large translation footprint and two parallel homescreen implementations, indicating ongoing feature work and some technical debt.