Files
community-plugins/game-launcher/plugin.toml
T
Ahmed EmadandGitHub 5c59d225b8 Add Game Launcher (#57)
* Add game-launcher plugin

* auto-build: compile gamelauncher.c on first run

* rename leo -> Alexander

* add cc to dependencies for CI

* fix CI issues: lowercase id, prefix, translations, getConfig

* fix: revert prefix to g (noctalia prepends / via provider_prefix)

* game-launcher: fix all 4 security audit issues, cache deletion crash, covers not showing, close button

- Issue 1: Removed all system/popen/curl/wget/python3/grep from C scanner
- Issue 2: Protocol URL validation + character-level filtering + shell escaping
- Issue 3: Added xdg-utils to plugin.toml dependencies
- Issue 4: Steampoacher opt-in setting, documented data flow in README
- Fix: Plugin crash after cache deletion (pcall-wrapped all error paths)
- Fix: Close button uses noctalia.togglePanel instead of panel.close
- Fix: onOpen rescans if any game missing a cover
- Fix: Cover display fallback path reconstruction

* game-launcher: revert close button to panel.close

* game-launcher: note steampoacher needed for HQ covers

* game-launcher: shorten steampoacher note

* 1. Refactored README by hand **Stupid AI**

2. deleted the binary , it will be built with plugin open

* fix: Remove the character-by-character sanitization
2026-07-20 21:02:33 -04:00

44 lines
894 B
TOML

id = "alexander/game-launcher"
name = "Game Launcher"
version = "1.0.0"
plugin_api = 4
author = "Alexander"
license = "MIT"
icon = "device-gamepad-2"
description = "Browse and launch games from Steam, Lutris, and Heroic."
dependencies = ["cc", "libsqlite3-dev", "xdg-utils"]
tags = ["gaming", "launcher", "utility"]
[[widget]]
id = "launcher"
entry = "widget.luau"
[[widget.setting]]
key = "glyph"
type = "glyph"
label_key = "settings.glyph.label"
default = "device-gamepad-2"
[[panel]]
id = "browser"
entry = "panel.luau"
width = 720
height = 520
placement = "floating"
position = "center"
open_near_click = true
[[panel.setting]]
key = "steampoacher_enabled"
type = "bool"
label_key = "settings.steampoacher_enabled.label"
default = false
[[launcher_provider]]
id = "search"
entry = "search.luau"
prefix = "g"
glyph = "device-gamepad-2"
include_in_global_search = true
debounce_ms = 150