Flex Launcher Save

A customizable HTPC application launcher for Windows and Linux

Project README
Logo

Flex Launcher

Table of Contents
  1. About
  2. Screenshots
  3. Installation
  4. Usage
  • Development Status
  • Documentation
  • 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

    https://user-images.githubusercontent.com/95071366/208355237-11f00cbb-9cc3-436b-98f7-8de350e584a7.mp4

    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.

    wget https://github.com/complexlogic/flex-launcher/releases/download/v2.1/flex-launcher_2.1_amd64.deb
    sudo apt install ./flex-launcher_2.1_amd64.deb
    

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

    wget https://github.com/complexlogic/flex-launcher/releases/download/v2.1/flex-launcher-2.1-1-x86_64.pkg.tar.zst
    sudo pacman -U flex-launcher-2.1-1-x86_64.pkg.tar.zst
    

    Raspberry Pi

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

    wget https://github.com/complexlogic/flex-launcher/releases/download/v2.1/flex-launcher_2.1_arm64.deb
    sudo apt install ./flex-launcher_2.1_arm64.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.

    Open Source Agenda is not affiliated with "Flex Launcher" Project. README Source: complexlogic/flex-launcher

    Open Source Agenda Badge

    Open Source Agenda Rating