Documentation
¶
Overview ¶
Seaglass is a Windows game launcher that finds every game on the PC on its own, store installs and external copies alike.
Directories
¶
| Path | Synopsis |
|---|---|
|
internal
|
|
|
achievements
Package achievements reads a game's achievements: what it has (the schema: names, descriptions, icons) and which the player unlocked.
|
Package achievements reads a game's achievements: what it has (the schema: names, descriptions, icons) and which the player unlocked. |
|
app
Package app wires Seaglass together and holds the services the frontend calls.
|
Package app wires Seaglass together and holds the services the frontend calls. |
|
identify
Package identify works out which game a scanned folder is: its proper title and Steam or GOG id, from the ids a copy carries or, failing that, its name, using the community Ludusavi manifest (PCGamingWiki data on ~50,000 games, with their Steam and GOG ids and install folder names).
|
Package identify works out which game a scanned folder is: its proper title and Steam or GOG id, from the ids a copy carries or, failing that, its name, using the community Ludusavi manifest (PCGamingWiki data on ~50,000 games, with their Steam and GOG ids and install folder names). |
|
launch
Package launch starts games and follows them while they run: the hooks before launch and after exit, the game's processes, and playtime.
|
Package launch starts games and follows them while they run: the hooks before launch and after exit, the game's processes, and playtime. |
|
library
Package library keeps Seaglass's game library: what scans found, merged with what the user set (favorites, hidden, titles, controller mode, playtime).
|
Package library keeps Seaglass's game library: what scans found, merged with what the user set (favorites, hidden, titles, controller mode, playtime). |
|
lnk
Package lnk reads Windows shell links (.lnk files): the parts of the MS-SHLLINK format that give the target, arguments, working folder and icon.
|
Package lnk reads Windows shell links (.lnk files): the parts of the MS-SHLLINK format that give the target, arguments, working folder and icon. |
|
logx
Package logx writes a small, self-rotating log to %APPDATA%\Seaglass\seaglass.log.
|
Package logx writes a small, self-rotating log to %APPDATA%\Seaglass\seaglass.log. |
|
meta
Package meta fetches game metadata and art: descriptions, developers, genres, controller support, covers, hero banners, logos and icons, from Steam (no key needed), GOG and, with the user's key, SteamGridDB.
|
Package meta fetches game metadata and art: descriptions, developers, genres, controller support, covers, hero banners, logos and icons, from Steam (no key needed), GOG and, with the user's key, SteamGridDB. |
|
owned
Package owned lists the games a user's store accounts own, installed or not: Steam (with the user's own Web API key), GOG (from GOG Galaxy's local database) and Epic (after a sign-in the user completes in the browser).
|
Package owned lists the games a user's store accounts own, installed or not: Steam (with the user's own Web API key), GOG (from GOG Galaxy's local database) and Epic (after a sign-in the user completes in the browser). |
|
pad
Package pad reads game controllers through SDL3 and turns them into the few actions the big picture interface understands (move, confirm, back, menu, …), with key repeat for held directions.
|
Package pad reads game controllers through SDL3 and turns them into the few actions the big picture interface understands (move, confirm, back, menu, …), with key repeat for held directions. |
|
platform
Package platform wraps the Windows specifics the rest of Seaglass needs: known folders, the app's own data folders, drives and path checks.
|
Package platform wraps the Windows specifics the rest of Seaglass needs: known folders, the app's own data folders, drives and path checks. |
|
profile
Package profile keeps what goes with a person from PC to PC: playtime, achievements and settings.
|
Package profile keeps what goes with a person from PC to PC: playtime, achievements and settings. |
|
scan
Package scan finds installed games on this PC: store installs, installer entries (repacks), shortcuts and plain game folders, and recognises external copies (games running on a Steam API emulator) and the Steam app they are.
|
Package scan finds installed games on this PC: store installs, installer entries (repacks), shortcuts and plain game folders, and recognises external copies (games running on a Steam API emulator) and the Steam app they are. |
|
settings
Package settings stores Seaglass's preferences in %APPDATA%\Seaglass\settings.json.
|
Package settings stores Seaglass's preferences in %APPDATA%\Seaglass\settings.json. |
|
sqlite
Package sqlite reads tables from an SQLite database file, read-only and without cgo: enough to list GOG Galaxy's library.
|
Package sqlite reads tables from an SQLite database file, read-only and without cgo: enough to list GOG Galaxy's library. |
|
steaminput
Package steaminput routes games without DualSense support through Steam Input.
|
Package steaminput routes games without DualSense support through Steam Input. |
|
syncer
Package syncer talks to Syncer (github.com/ApolloF/syncer), which keeps game saves in sync between PCs and backs them up.
|
Package syncer talks to Syncer (github.com/ApolloF/syncer), which keeps game saves in sync between PCs and backs them up. |
|
update
Package update keeps Seaglass up to date from its GitHub releases.
|
Package update keeps Seaglass up to date from its GitHub releases. |
|
tools
|
|
|
fakegame
command
Command fakegame is a stand-in game for testing Seaglass's launch and tracking in the real app (tools/harness).
|
Command fakegame is a stand-in game for testing Seaglass's launch and tracking in the real app (tools/harness). |
|
icon
command
Command icon draws Seaglass's app icon (a water drop with a play triangle) into build/appicon.png and build/windows/icon.ico.
|
Command icon draws Seaglass's app icon (a water drop with a play triangle) into build/appicon.png and build/windows/icon.ico. |
|
release
command
Command release signs and publishes Seaglass releases with the offline release key (internal/update/signature.go).
|
Command release signs and publishes Seaglass releases with the offline release key (internal/update/signature.go). |
Click to show internal directories.
Click to hide internal directories.