big-launcher is a work-in-progress HTPC application launcher. The design is loosely based on the Roku UI, consisting of a sidebar menu on the left, and selectable apps on the right. This project is intended to be the successor to my other HTPC project, Flex Launcher. Compared to Flex Launcher, big-launcher will be more graphically advanced, but less customizable. The program will be written in C++ and utilize SDL for graphics.
"big-launcher" is a temporary working title only; prior to release, a proper title will be chosen. If you have a suggestion for what the program title should be, please reach out with via an Issue or Discussion topic. If you have graphic design skills, I could also use help in creating the application logo/icon.
The program has progressed to the point where it can be used in a working HTPC setup, but it's not ready for release yet. I still need to improve the appearance, stability/error handling, and implement a few more desired features.
Feel free to try it out. The latest Windows development build can be downloaded here. Linux users should build from source.
There isn't any documentation written yet. There are two configuration files: layout.xml
and config.ini
. The layout.xml
file defines the menus and application images, and config.ini
controls the general behavior. You can get a general idea of how the configuration works by studying the default files.
The following must be accomplished before an initial release can be made:
- Layout parsing
- Config parsing
- Logging
- Graphics rendering
- Animations
- Application card generation
- Command line parsing
- Automatic file searching
- Custom backgrounds
- Application launching
- Audio
- Gamepad controls
- Hotkeys
- Screensaver
- Clock
- Config/layout file generation
- Project name chosen
- Project icon designed
- Windows support
- Documentation written
You need to have the following dependencies installed:
- SDL2
- SDL2_image
- SDL2_ttf
- SDL2_mixer
- libxml2
- inih
- fmt
- spdlog
It has a CMake build system and follows the typical build process:
mkdir build && cd build
cmake ..
make
The default config references asset files which aren't included in the repo yet because I don't want to permanently bloat the git history with temporary assets from development. You will need to manually download the zip file here and extract the contents to your build directory so that the program can find them.