Skip to content

Latest commit

 

History

History
74 lines (64 loc) · 4.02 KB

File metadata and controls

74 lines (64 loc) · 4.02 KB

Changelog

All notable changes to ArtDeck are documented here. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • ArtDeck now runs as a system-tray application. Launching it drops an icon in the notification area with a menu:
    • Quick Import - background art autofill (cover/banner/hero/logo) for every non-Steam shortcut across all accounts, without touching Steam, with a notification when done (says "already up to date" when nothing is missing).
    • Full Import - fills missing art and missing icons; because icons are written to shortcuts.vdf, this closes Steam, applies everything, and relaunches Steam in one pass.
    • Open ArtDeck - opens (or focuses) the full window, which runs as a separate process (ArtDeck.exe --window).
    • Start with Windows - autostart toggle; the menu shows the current state (on/off).
    • Quit. Both the tray and the window are single-instanced; a second launch surfaces the window instead of exiting silently.
  • Import games from installed emulators (Eden, Ryujinx, Dolphin, PCSX2, RPCS3, DuckStation) as non-Steam shortcuts that launch straight into the game, fullscreen. Emulators that are not found are hidden from the sidebar, and the import dialog suggests the platform name ("Switch", "PS2", ...) as the collection.
  • Set a game's icon from SteamGridDB for non-Steam shortcuts. A new "Icon" tab lists icon variants; applying one writes the shortcut's icon field in shortcuts.vdf (which is what Steam actually reads) rather than dropping a grid file. Because that field can only be written while Steam is closed, icon changes are staged and a banner offers to restart Steam to apply them; a pending icon rides along with the next import so they share one restart. Importing games also auto-fetches and sets each game's icon in that same restart, and the game list refreshes its icons after they are applied.
  • Imported launcher games can be dropped into a Steam library collection. A summary dialog before import spells out what will happen and lets you confirm or rename the target collection (default: the launcher name, e.g. "Epic Games"), or pick an existing one (suggested from your current collections). Collections are written surgically into the client's cloud-storage-namespace-1.json while Steam is closed, leaving every other entry untouched and backing up to .bak.

Changed

  • The art-autofill logic is now a single shared engine module used by the CLI, the GUI, and the tray, so all three behave identically. Only one autofill can run at a time across the whole app (tray, window, or CLI), preventing two runs from racing the same files.

Security

  • /api/autofill (a state-changing request) now requires a per-session token injected into the page, closing a gap where a local web page that guessed the server port could have triggered downloads.

Fixed

  • Command-line art downloads now register the custom image in the newer Steam client's cache, matching the GUI — previously CLI-applied art could be ignored.
  • Applying art no longer removes the existing art before the replacement has downloaded, so a failed download can't leave a game with a blank slot.
  • Import no longer silently loses games when Steam refuses to close. If the shutdown does not complete, the import is aborted before writing (Steam would otherwise overwrite the new shortcuts on its own exit) and a clear message asks you to close Steam and retry.
  • Selecting games to import now survives switching launcher tabs — checked games in one launcher are remembered when you move to another and back.
  • Non-Steam game icons now show in the sidebar. They are resolved from the Steam grid folder, by extracting the icon from the game's .exe, or by falling back to cover art — previously only the shortcut's icon field was used, which often pointed at a .exe (unrenderable) or was empty, leaving a placeholder.