| Platforms | Result |
|---|---|
| Linux | |
| macOS |
| Code Analyses | Result |
|---|---|
| cppcheck | |
| Doxygen | |
| Quneiform |
A wxWidgets landing page for an application.
It displays a most-recently-used file list on the right side (up to 9 files) and a list of customizable buttons on the left.
- Users clicking on these buttons can be handled via a
wxEVT_STARTPAGE_CLICKEDevent. - Modified dates are shown next to each file in the MRU list. These dates are shown in a human readable format (e.g., "Just now", "12 minutes ago", "Yesterday", "Tues at 1:07 PM").
- Human readable file paths are shown below the files (e.g., "Documents » Invoices")
- Includes a "Clear File List" button beneath the MRU list. (Clears the list only, doesn't delete the files.)
- The application name & logo can be shown above the custom buttons.
- A dynamic greeting (based on the time of day) is shown above the MRU list. This greeting is also customizable (e.g., can optionally include the user's name).
- Customizable theming.
- Supports dark mode.
- Supports HiDPI displays.
- Fully internationalized (messages are available via gettext).
- Full keyboard navigation support:
- Tab: Focus the control or move focus to the next control.
- Up/Down Arrows: Navigate through items in the active column (cycles and wraps).
- Left/Right Arrows: Switch between the button area (left) and MRU list (right).
- Enter/Space: Activate the highlighted button or file.
- Screen reader support (Windows only):
- The custom buttons, MRU files, and the "Clear file list"/"Browse for a file" button are exposed as push buttons, with names, states, locations, and default actions.
- Changes to the highlighted button, and to the list of buttons, are announced.
Dark theme:
Button hover effect:
Button hover 3D effect:
Download the repository:
git clone https://github.com/Blake-Madden/wxStartPage.git
Then, include startpage.h and startpage.cpp in your project.
To build the demo, build demo/CMakeLists.txt with CMake and your compiler of choice.
To build the API documentation, open Doxyfile in Doxygen and run it.
- wxWidgets 3.2 or higher
- A C++17 compatible compiler



