Skip to content

complexlogic/flex-launcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

Flex Launcher

Table of Contents
  1. About
  2. Screenshots
  3. Installation
  4. Usage
  5. Development Status
  6. Documentation
  7. Credits

About

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).

Screenshots

Screenshot 1 Screenshot 2

Installation

Executables are available for Windows 64 bit, Linux x86-64, and Raspberry Pi. You can also compile the program yourself using the compilation guide.

Windows

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.

Linux

Binary packages are available on the release page for APT and pacman based distributions. You may use the commands below to install.

APT-based x86-64 Distributions (Debian, Ubuntu, etc.)

This package is compatible with Debian Bullseye and later, Ubuntu 21.04 and later.

VERSION=1.8
wget https://github.com/complexlogic/flex-launcher/releases/download/v${VERSION}/flex-launcher_${VERSION}_amd64.deb
sudo apt install ./flex-launcher_${VERSION}_amd64.deb

Pacman-based x86-64 Distributions (Arch, Manjaro, etc.)

VERSION=1.8
wget https://github.com/complexlogic/flex-launcher/releases/download/v${VERSION}/flex-launcher-${VERSION}-1-x86_64.pkg.tar.zst
sudo pacman -U flex-launcher-${VERSION}-1-x86_64.pkg.tar.zst

Raspberry Pi

This package is compatible with Raspbian Bullseye and later, 32 bit only.

VERSION=1.8
wget https://github.com/complexlogic/flex-launcher/releases/download/v${VERSION}/flex-launcher_${VERSION}_armhf.deb
sudo apt install ./flex-launcher_${VERSION}_armhf.deb

Copying Assets to Home Directory

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

Usage

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:

  1. The current working directory
  2. The directory containing the flex-launcher executable
  3. Linux only: ~/.config/flex-launcher
  4. 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.

Controls

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.

TV Remotes

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.

Gamepads

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.

Debugging

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.

Development Status

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.

Documentation

Here is a list of available documentation:

Credits

Flex Launcher is made possible by the following projects:

The design of Flex Launcher was strongly influenced by the excellent desktop application launcher xlunch.