A sleek, console-style application launcher for Windows and Linux with gamepad support, automatic image fetching, and powerful organization features.
- Full-screen TV-Mode - Console-style carousel with smooth animations
- System Menu - Press
SorStartbutton to access the system Menu - Responsive Scaling - Automatically adapts to any screen resolution (from 720p to 4K+)
- Gamepad Support - Navigate with Xbox/PlayStation controllers or keyboard/Bluetooth TV Remotes
- Automatic Image Downloads - Fetches 16:9 cover art from SteamGridDB
- Smart Program Scanner - Automatically detects installed applications with proper icon extraction
- Quick Search Widget - Instant app filtering with F/LB
- Drag & Drop Reordering - Reorganize apps with R/
- System Controls - Built-in Restart/Shutdown/Sleep options
- Customizable Controls - Remap any keyboard key or remote button to your liking
Carousel view with cover art
System Menu
Key Mapper
Category Manager
2026-01-23.16-01-26.mp4
In motion
- Gamepad Compatible - Xbox, PlayStation, or any standard controller
- Keyboard Navigation - Full keyboard support
- TV Remote Support - Works with Bluetooth TV remotes
- Fully Customizable - Remap any key or button in Settings โ Key Remapper
- Auto-detection - Automatically detects connected gamepads with visual notifications
-
Category System
- Organize apps into categories (Games, Media, Programs, Other)
- Press Up/D-Pad Up to open category selector
- Navigate categories with Left/Right or D-Pad
- Quick category assignment with C (keyboard) or X/Square (controller)
-
Category Manager - Customize categories in Settings
- Add, edit, or delete categories
- Choose custom icons and colors
- Select the default category shown on launch
-
Quick Search - Press
ForLBto instantly search your apps- Live filtering as you type
- Alphabetically sorted results
- Keyboard and gamepad support
-
Drag & Drop Reordering - Press
Ror `` to rearrange apps- Press
Enter/Ato activate reorder mode - Visual position indicators
- Supports both linear and circular navigation
- Press
-
Smart Program Scanner - Automatically detects installed applications
- Cached results for instant loading
- Proper icon extraction from executables
- Alphabetically sorted display
-
Edit & Delete - Manage your app library easily
- SteamGridDB Integration - Auto-downloads 16:9 cover art
- Manual Download Button - Download covers for existing apps at any time
- Smart Auto-download Logic - Automatically fetches images when adding apps
- Local Image Support - Use your own custom images
- Settings Menu Comprehensive configuration panel with:
- Visual toggles for all settings
- Backup/Restore configuration
- Soft Reset (keeps apps) vs Full Reset options
- Direct GitHub update checker
- Category Manager for organizing apps
- Quick Actions - Restart, Sleep, Shutdown, or Close launcher
-
Fixed:
- Fixed a Bug that prevented clock to update time (Windows and Linux)
-
Added:
- Auto change Wallpaper - change background with animation automatically every 5 minutes (Windows and Linux)
- Added the ability to add .desktop and .sh files to the launcher (Linux)
- Added the ability to choose the initial landing category.
- Switched non portable versions to a virtual environment installation for better stability and reliability (Windows and Linux)
- Code Refactoring - Improved performance and stability
-
Operating System: Windows 10/11 or Linux (Ubuntu 20.04+, Fedora, Arch, etc.)
-
Python: 3.8 or higher
PyQt6- UI frameworkpsutil- Process managementpygame- Gamepad supportrequests- Automatic image downloadspycaw(Windows only) - Windows core audio controlpywin32(Windows only) - Shortcut scanning and icon extraction
git clone https://github.com/Darkvinx88/TvLauncher.git
cd TvLauncherWindows:
#Create Virtual environment:
python -m venv venv
#Activate Virtual environment:
venv\Scripts\activate
#Install dependencies:
pip install -r requirements.txt
#Run the launcher
python TvLauncher_Windows.py
#It's highly suggested once everything is installed to run the launcher with the given .bat file
#since it will automatically activate the virtual environment and run the launcher with 1 click
Linux:
# Create virtual environment:
python3 -m venv venv
# Activate virtual environment:
source venv/bin/activate
# Install dependencies:
pip install -r requirements.txt
# Run the launcher
python3 TvLauncher_Linux.py
#It's highly suggested once everything is installed to run the launcher with the given launcher.sh file
#since it will automatically activate the virtual environment and run the launcher with 1 click
#make it executable
chmod +x launcher.sh
./launcher.sh
#you can also edit the given .desktop so you are able to run the launcher no matter where it is placed.
The Windows version is fully portable - simply press the .exe to start the launcher. You can move the entire folder anywhere.
This version includes everything needed:
- Python runtime
- All Python packages (PyQt6, pygame, requests, etc.)
- Qt6 with XCB/Wayland support (if in trouble sudo apt install libxcb)
Just extract and run:
# Extract
TVLauncher Linux v0.8 Portable.zip
# Run
./launcher.sh
or edit the .desktop file| Key | Action |
|---|---|
โ โ |
Navigate carousel |
โ โ |
Navigate menus / system controls |
Enter |
Launch app |
F |
Open Quick Search |
R |
Toggle Reorder Mode |
S |
Open Settings Menu |
E |
Edit current app |
C |
Quick Category Assignment |
Delete |
Remove current app |
Tab |
Switch search mode (when searching) |
Esc |
Exit launcher / Cancel / Close search |
| Button | Action |
|---|---|
D-Pad / Left Stick |
Navigate |
D-Pad Up |
Open category selector |
A/Cross |
Launch app / Confirm |
B/Circle |
Back / Cancel |
X/Square |
Quick Category editor |
Y/Triangle |
Delete app |
LB/L1 |
Open Quick Search |
RB/R1 |
Toggle Reorder Mode |
start |
Open Settings Menu |
LT+Dpad up/down |
Volume up/down |
Customizing Controls All controls can be remapped! Here's how:
- Open Settings - Press S or Start button
- Navigate to Advanced section
- Select "๐ฎ Key Remapper"
- Choose an action to remap
- Press "Change" button
- Press any key or button on your remote/keyboard
- Confirm or cancel
- Save and Close when done
- Works with any keyboard key or TV remote button
-
Add Your First App
- Click the
+icon in the top-right - Browse for the executable
- Insert the API Key before adding any program for auto-download to work
- Optionally add a custom image
- Click "Add"
- Click the
-
Set Up SteamGridDB (Recommended)
- Click the
๐icon - Get a free API key from SteamGridDB
- Paste it in the dialog
- The launcher will now auto-download 16:9 cover art
- Click the
-
Scan Installed Programs
- Click the
๐icon - Wait for the scan to complete (may take a minute on first run)
- Results are cached for instant loading next time
- Select programs to add
- Click "Add Selected"
- Images download automatically in background
- Click the
-
Download Covers for Existing Apps
- Click the
โฌ๏ธdownload icon in the header - Select which apps need covers
- Covers download automatically from SteamGridDB
- Click the
-
Customize Background
- Click the
๐ผ๏ธicon - Select an image file (16:9 recommended)
- Background updates immediately
- Click the
-
Auto change Wallpapers (Optional)
- Place your image files in the wallpaper folder
- Go to settings and activate the Auto change wallpapers
- Now every 5 minutes your wallpapers will change in a random rotation
-
Customize Controls (Optional)
- Press
Sto open Settings - Navigate to "๐ฎ Key Remapper"
- Remap any key to your preference
- Changes apply instantly
- Press
- Press
โ (keyboard)orD-Pad Up(gamepad) to open category selector - Use
โ/โorD-Pad Left/Rightto switch between categories - Press
โorD-Pad Downto close and view filtered apps - Press
CorX/Squareon any app to quickly assign a category
- Open Settings (
SorStart) - Select "Manage Categories"
- Add, edit, or delete categories
- Customize icons and colors
- Select your preferred category
- click on the green checkmark and save
- at launch the selected category will be the first to be shown
- Press
F(keyboard) orLB(gamepad) anywhere - Start typing to filter apps (Typing Mode)
- Use
โ/โor D-Pad to navigate results (auto-switches to Navigation Mode) - Press
TaborXto manually switch modes - Press
EnterorAto launch selected app - Press
EscorBto close search
Quick Toggle Method:
- Press
R(keyboard) orRB(gamepad) - Use
โ/โto move the app to desired position - Press
Enter/Ato confirm orEsc/Bto cancel
Features:
- Gold border shows selected app
- Blue border shows target position
- Position numbers appear on each tile
- Works with both linear (โค5 apps) and circular (>5 apps) modes
- Instructions overlay appears when active
The Launcher can start at boot on both Windows and Linux
Method 1: Startup Folder (Recommended)
- Press
Win + Rto open Run dialog - Type
shell:startupand press Enter - Right-click your launcher
.bator.exefile โ Create shortcut - Drag the shortcut into the Startup folder
- Launcher will start automatically after login
๐ก Tip: Right-click shortcut โ Properties โ Set Run: Minimized to hide console window.
Method 2: Windows Registry
- Create a file named
TVLauncher_Autostart.reg - Paste the following content:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
"TVLauncher"="\"C:\\path\\to\\launch.bat\""- Replace
C:\\path\\to\\launch.batwith your actual path - Double-click the
.regfile to add the registry entry - Launcher will start automatically on every boot
Works with any desktop environment (XFCE, GNOME, KDE, Cinnamon, MATE, etc.)
- Create autostart directory:
mkdir -p ~/.config/autostart- Create autostart file:
nano ~/.config/autostart/TVLauncher.desktop- Add this content:
[Desktop Entry]
Type=Application
Name=TVLauncher
Comment=Automatically start the TV Launcher on login
Exec=/path/to/venv/bin/python /path/to/TvLauncher_Linux.py
Path=/path/to/
Terminal=false
X-GNOME-Autostart-enabled=trueReplace /path/to/ with actual directory
- Make executable:
chmod +x ~/.config/autostart/TVLauncher.desktopLauncher will now start automatically on login.
Configuration is stored in launcher_apps.json
Key mappings are stored separately in key_mappings.json
๐ก Tip: Use the Backup feature in Settings to save your entire configuration (apps + mappings + settings).
Images are stored in assets/APP_NAME/banner.{png|jpg|jpeg|webp} with automatic fallback.
- Ensure
pygameis installed:pip install pygame - Connect gamepad before launching
- Launcher auto-detects gamepads every 5 seconds
- Controller connection notifications appear when detected (Windows)
- Linux: Ensure user has permission to access
/dev/input/:sudo usermod -a -G input $USER # Log out and back in
- Verify
requestsis installed:pip install requests - Check SteamGridDB API key is valid
- Ensure internet connection is active
- Try the manual download button (โฌ๏ธ icon) for existing apps
- Images download in background thread (check console for errors)
- Verify executable path is correct
- Check file permissions
- Windows: Try running as administrator
- Linux: Ensure binary has execute permissions (
chmod +x)
- If remapped keys don't work, try restarting the launcher
- Check
key_mappings.jsonfile exists - Use "Reset to Defaults" in Key Remapper if needed
- Key mappings are automatically included in configuration backups
- First scan may take 1-2 minutes
- Results are cached in
scanner_cache_*.json - Click refresh button (โป) to force rescan
- Windows: Ensure
pywin32is installed for icon extraction
- Launcher auto-scales to your resolution
- Base resolution: 1920x1080
- All UI elements scale proportionally
Missing Qt Platform Plugin:
# Ubuntu/Debian:
sudo apt-get install qt6-qpa-plugins
# Fedora:
sudo dnf install qt6-qtbase-guiMissing Qt Multimedia (Sound Effects Not Working): If the launcher won't start or sound effects don't work, you may need Qt Multimedia packages:
# Debian / Ubuntu / Mint:
sudo apt install python3-pyqt6.qtmultimedia
# Fedora:
sudo dnf install python3-qt6-qtmultimedia
# Arch:
sudo pacman -S python-pyqt6-multimediaPermission Denied:
chmod +x TvLauncher_Linux.pyThis project is licensed under the MIT License - see the LICENSE file for details.
- SteamGridDB - For providing game artwork API
- PyQt6 - For the UI framework
- pygame - For gamepad support
- Community contributors and testers
- Windows: Some executables may need administrator privileges
- All: Background images should be high resolution (1920x1080+) for best results
For issues, questions, or suggestions, please open an issue on GitHub.
โญ Star this repo if you find it useful!
Made with โค๏ธ by Darkvinx88