Table of Contents
Flex Launcher is a customizable application launcher and front end designed with a TV-friendly 10 foot user interface, intending to mimic the look and feel of a streaming box or game console. Flex Launcher allows you to launch applications on your HTPC or couch gaming PC entirely by use of a TV remote or a gamepad. No keyboard or mouse required!
Flex Launcher is compatible with both Windows and Linux (including Raspberry Pi devices).
animated_background.mp4
Executables are available for Windows 64 bit, Linux x86-64, and Raspberry Pi. You can also compile the program yourself using the compilation guide.
Download the win64 .zip file from the latest release and extract the contents to a directory of your choice. Flex Launcher should be run on an up-to-date Windows 10 system, or Windows 11.
Binary packages are available on the release page for APT and pacman based distributions. You may use the commands below to install.
This package is compatible with Debian Bullseye and later, Ubuntu 21.04 and later.
wget https://github.com/complexlogic/flex-launcher/releases/download/v2.2/flex-launcher_2.2_amd64.deb
sudo apt install ./flex-launcher_2.2_amd64.deb
wget https://github.com/complexlogic/flex-launcher/releases/download/v2.2/flex-launcher-2.2-1-x86_64.pkg.tar.zst
sudo pacman -U flex-launcher-2.2-1-x86_64.pkg.tar.zst
This package is compatible with Raspbian Bullseye and later, 64 bit only.
wget https://github.com/complexlogic/flex-launcher/releases/download/v2.2/flex-launcher_2.2_arm64.deb
sudo apt install ./flex-launcher_2.2_arm64.deb
The Linux packages install a default config file and assets to /usr/share/flex-launcher
. It is strongly recommended to not edit this config file directly, as it will be overwritten if you upgrade to a later version of Flex Launcher. Instead, copy these files to your home directory and edit it there.
cp -r /usr/share/flex-launcher ~/.config
sed -i "s|/usr/share/flex-launcher|$HOME/.config/flex-launcher|g" ~/.config/flex-launcher/config.ini
Flex Launcher uses an INI file to configure the menus and settings. Upon startup, the program will search for a file named config.ini
in the following locations in order:
- The current working directory
- The directory containing the
flex-launcher
executable - Linux only:
~/.config/flex-launcher
- Linux only:
/usr/share/flex-launcher
If your config file is in one of the above locations, Flex Launcher can be started simply by double clicking the executable file or adding it to autostart. If your config file is in a non-standard location, you must specify the path via command line argument:
flex-launcher -c /path/to/config.ini
Flex Launcher ships with a default config file which is intended strictly for demonstration purposes. If you try to start one of the applications, it is possible that nothing will happen because the install path is different on your system, or you don't have the application installed at all. See the configuration file documentation for instuctions on how to change the menus and settings.
The keyboard arrow keys move the highlight cursor left and right. Enter selects the current entry, backspace goes back to the previous menu (if applicable), and Esc quits the program.
Flex Launcher does not feature built-in decoding of IR or CEC signals. If you plan to use a TV remote to control the device, it is assumed that these signals are decoded by the OS or another program and mapped to keyboard presses, which can then be received by Flex Launcher.
Gamepad controls are built-in to the program, but are disabled by default. To enable them, open your configuration file and, under the "Gamepad" section, change the "Enabled" setting from false to true. After that, the gamepad controls should "Just Work" for most users. If your gamepad is not recognized automatically, or you want to change the default controls, see the gamepad controls documentation.
Flex Launcher has a debug mode which may be enabled as follows:
flex-launcher -d
This will output a logfile named flex-launcher.log
in the same directory as flex-launcher.exe
on Windows, and in ~/.local/share/flex-launcher
on Linux.
Flex Launcher has reached a mature state, and there are currently no feature releases planned for the future. I've started a new HTPC launcher project which is similar in nature to Flex Launcher, but aims to provide a more advanced, Smart TV-like user interface. My future development effort will be focused on that new project, but I will still maintain Flex Launcher for bugfixes and dependency updates.
Here is a list of available documentation:
Flex Launcher is made possible by the following projects:
The design of Flex Launcher was strongly influenced by the excellent desktop application launcher xlunch.