pwsafe — UI Frontends

See parent: pwsafe

All frontends live under src/ui/ and share the same core (see core). Each implements the Observer mixin from UIinterface.h and holds a PWScore instance.

Windows (MFC)

The original frontend, in src/ui/Windows/ (~170 files). Uses Microsoft MFC with property sheets for the add/edit dialog. Built with Visual Studio (pwsafe-16.sln). Windows-only.

wxWidgets (Cross-Platform)

In src/ui/wxWidgets/ (~170 files). Targets Linux, macOS, and Windows. Uses wxWidgets widgets toolkit. Built with CMake or the provided Makefiles. This is the active cross-platform frontend used for Linux and Mac releases.

Key entry points: the main frame and the add/edit property sheet (AddEditPropSheetDlg.cpp). Drag-and-drop, clipboard handling, and auto-type are in dedicated files.

CLI

A command-line interface in src/ui/cli/. Allows scriptable access to a safe file: list, find, get, add, delete entries without a GUI.

OS Abstraction Layer

src/os/ provides platform shims for file I/O, random number generation, clipboard, key-sending (auto-type), UUID, environment, sleep, registry (Windows), and Yubikey. Platform subdirectories: unix/, windows/, mac/.

Build System

CMake is the primary build system (CMakeLists.txt, CMakePresets.json). Platform-specific Makefiles (Makefile.linux, Makefile.macos, etc.) are also provided. Windows uses Visual Studio solution files.

version1
created2026-02-24