• Stars
    star
    665
  • Rank 67,810 (Top 2 %)
  • Language
    Go
  • License
    MIT License
  • Created over 10 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Downloads images to fill your Steam grid view

What is it?

SteamGrid is a standalone, fire-and-forget program to enhance Steam's grid view and Big Picture. It preloads the banner images for all your games (even non-Steam ones) and applies overlays depending on your categories.

You run it once, and it'll set up everything above, automatically, keeping your existing custom images. You can run again when you get more games or want to update the category overlays.

Download

steamgrid-windows.zip (4.4 MB)

steamgrid-linux.zip (4.5 MB)

steamgrid-mac.zip (4.6 MB)

How to use

  1. Download the latest version and extract the zip wherever.
  2. (optional) Name the overlays after your categories. So if you have a category “Games I Love”, put a nice little heart overlay there named games i love.banner.png. You can rename the defaults that came with the zip or get new ones at /r/steamgrid.
    • Add the extension .banner before the image extension for banner art: games i love.banner.png
    • Add the extension .cover before the image extension for cover art: games i love.cover.png
    • Add the extension .hero before the image extension for hero art games i love.hero.png
    • Add the extension .logo before the image extension for logo art games i love.logo.png
  3. (optional) Download a pack of custom images and place it in the games/ folder. The image files can be either the name of the game (e.g. Psychonauts.banner.png) or the game id (e.g. 3830.png).
    • Add the extension .banner before the image extension for banner art: Psychonauts.banner.png, 3830.png
    • Add the extension .cover/p before the image extension for cover art: Psychonauts.cover.png, 3830p.png
    • Add the extension .hero/_hero before the image extension for hero art Psychonauts.hero.png, 3830_hero.png
    • Add the extension .logo/_hero before the image extension for logo art Psychonauts.logo.png, 3830_logo.png
  4. (optional) Generate a some API Keys to enhance the automatic search:
  5. Run steamgrid and wait. No, really, it's all automatic. Not a single key press required.
    • (optional) Append --steamgriddb <api key> if you've generated one before.
    • (optional) Append --igdbclient <igdb client> if you've genereated one before.
    • (optional) Append --igdbsecret <igdb secret> if you've genereated one before.
    • (optional) Append --types <preference> to choose your preferences between animated steam covers or static ones Available choices : animated,static. Default : static. You can use animated,static to download both while preferring animated covers, and static,animated for preferring static covers.
    • (optional) Append --styles <preference> to choose your preferences between the different covers styles from steamgriddb. Available choices : material,white_logo,alternate,blurred,no_logo. Default: alternate. You can also input multiple comma-separated choices in the same manners of the --types argument.
    • (optional) Append --appids <appid1,appid2> to only process the specified appID(s)
    • (optional) Append --onlymissingartwork to only download artworks missing on the official servers.
    • (optional) Append -nonsteamonly to only search artworks for non-steam games added onto the Steam client.
    • (optional) Append -skip<preference> to skip searching and downloading parts from certain artwork elements. Available choices : -skipbanner,-skipcover,-skiphero,-skiplogo. For example: Appending -skiplogo -skipbanner will prevent steamgrid to search and download logo and banners for any games.
    • (optional) Append -skipsteam to not download the default artworks from Steam.
    • (optional) Append -skipgoogle to skip search and downloads from Google.
    • (tip) Run with --help to see all available options again.
  6. Read the report and open Steam in grid view to check the results.

Results Grid view screenshot Big Picture screenshot

Features

  • Grid images are used both in the grid view and Big Picture mode, and SteamGrid works on both.
  • Automatically detects Steam installation even in foreign language systems. If it still doesn't work for you, just drag and drop the Steam installation folder onto the executable for a manual override.
  • Detects all local Steam users and customizes their grid images individually.
  • Downloads images from two different servers, and falls back to a Google search as last resort (don't worry, it'll tell you if that happens).
  • If a game is missing an official banner and a name (common for prototypes), it gets the name from SteamDB and google searches the banner.
  • Loads your categories from the local Steam installation.
  • Applies transparent overlays based on each game categories (make sure the name of the overlay file is the name of the category).
  • If you already have any customized images, it'll use them and apply the overlay, but keeping a backup.
  • If you have images in the directory games/, it'll search by game name or by id and use them.
  • Works just as well with non-Steam games.
  • Supports PNG and JPG images.
  • Supports games with multiple categories.
  • No installation required, just extract the zip and double click.
  • Works with Windows, Linux, and macOS, 32 or 64 bit.
  • 100% fire and forget, no interaction required, and can cancel and retry at any moment.

Something wrong?

  • Why are there crowns and other icons on top of my images?: Those are the default overlays for categories, found in the folder overlays by category/. You can download new ones, or just delete the file and re-run SteamGrid to remove the overlay.
  • Fails to find steam location: You can drag and drop the Steam installation folder (not the library!) into steamgrid.exe for a manual override.
  • A few images were not found: Some images are hard to find. The program may miss a game, especially betas, prototypes and tests, but you can set an image manually through the Steam client (right click > Set Custom Image). Run steamgrid again to apply the overlays. If you know a good source of images, drop me a message.
  • No overlays found: make sure you put your overlays inside the overlays by category folder, and it's near the program itself. This error means absolutely no overlays were found, without even taking your categories names into consideration.
  • It didn't apply any overlays: ensure the overlay file name matches your category name, including possible punctuation (differences in caps are ignored). For example, favorites.png is used for the Favorites category.
  • I'm worried this is a virus: I work with security, so no offense taken from a little paranoia. The complete source code is provided at this Github repo. If you are worried the binaries don't match the source, you can install Go on your machine and run the sources directly. All it does is save images inside Steam/userdata/ID/config/grid. It does connect to the internet, but only to fetch game names from you Steam profile and download images into the Steam's grid image folder. Nothing is installed or saved in the Windows registry, and aside from images downloaded, it should leave the computer exactly as it found.

If you encounter any problems, please open an issue. All critics and suggestions are welcome.

More Repositories

1

keyboard

Hook and simulate global keyboard events on Windows and Linux.
Python
3,791
star
2

mouse

Hook and simulate global mouse events in pure Python
Python
902
star
3

maze

Simple maze generator in Python
Python
62
star
4

server-sent-events

Python library for Server-Sent-Events
Python
39
star
5

bayesian

Utility for Bayesian reasoning
Python
37
star
6

hello_tls

Send TLS client hello in pure Python, for enumerating supported server cipher suites and protocols
Python
19
star
7

minetesting

Client and mod for the Minetest game
Logos
15
star
8

replace_me

Modify your own source code with this piece of Python black magic
Python
14
star
9

simplecrypto

Simple cryptographic library for hashing and encrypting
Python
12
star
10

gomeet

Go server to punch NAT holes
Go
11
star
11

structured-editor

Structured editor for general purpose programming languages
Python
9
star
12

carlo

Interactively plot streaming sequences of numbers
Python
9
star
13

gifencoder

The missing method gif.Encode in Go's library
Go
8
star
14

marktex

Markdown to Latex for thesis, reports, and presentations
Python
8
star
15

gogame

HTML5 version of the Go board game
HTML
7
star
16

cryptopals-challenge

My solutions to challenges at https://cryptopals.com/
Python
7
star
17

framebuffer

Simple and low level C graphics library
C
6
star
18

stack

A toy stack based language
Go
6
star
19

kindle-collections

Automatically generates collections from your directory structure
Go
5
star
20

cloud_backup_script

Uses rsync to upload immutable files (photos, videos, etc) to a Hetzner Storage Box
Shell
5
star
21

listregex

Apply regular expressions to lists of arbitrary objects
Python
5
star
22

kahn

Simple and flexible pipeline system for Python
Python
5
star
23

8puzzle

Python solution to sliding 8-puzzle
Python
4
star
24

gl4

Micro game library, v4
JavaScript
4
star
25

f

The worst Unix program.
Python
4
star
26

feeder

Dead simple local RSS feed reader
Python
4
star
27

ecc

Textbook Elliptic Curve Cryptography for Python and C
C
3
star
28

monty

Library for exploring discrete distributions
Python
3
star
29

playreduce

Game based on creating binary finite field reduction algorithms
HTML
3
star
30

shamir

Shamir secret sharing algorithm with threshold detection
Python
3
star
31

markov

Markov chain library to create new data from examples
Python
3
star
32

sciplot

Pythonic data visualization tool
Python
3
star
33

flappy_doge_2048

Tiny, buggy game. Because why not?
JavaScript
3
star
34

typist

Records typing statistics
Python
3
star
35

flappybot

Auto player for the FlapMMO game
JavaScript
3
star
36

background

Library for Python applications that run in the background
Python
3
star
37

web-interact

Two-layer server model for interactivity based on Server-Sent-Events
JavaScript
2
star
38

blackcrypto

Library of cryptanalysis tools
Python
2
star
39

t

Todo list manager
Python
2
star
40

room

Doom-like raytracer
HTML
2
star
41

voltorb_flip_solver

Solver for the Pokemon HeartGold game Voltorb Flip
Python
2
star
42

boppreh.github.io

Source code for my homepage
JavaScript
2
star
43

adventofcode_2020

Python
2
star
44

workspace

Manages programming projects
Python
2
star
45

speedreader

My try at "Rapid serial visual presentation" (flashing words)
JavaScript
2
star
46

frango

Authentication system for web services
HTML
2
star
47

ludum_dare39

Failed to make a game, but the engine rocks!
HTML
2
star
48

sprawl

Go reimagined as a strategy game
HTML
2
star
49

gitstatus

Background app for tracking status of local Git repositories
Python
2
star
50

shell

Web-based structured console terminal
HTML
2
star
51

anakata

Anakata is a 4D, tiled, command line puzzle game in Python
Python
2
star
52

jsmatrixboard

Library for highly-interactive matrix-like structures
HTML
2
star
53

goutils

Small Go functions for the everyday programmer
Go
2
star
54

bop

Experimental Web Framework with Server-Sent-Events
Python
2
star
55

canvasengine

HTML5 Canvas hooks for game bots
JavaScript
2
star
56

poly

Study of polynomials and recurrence relations
Python
2
star
57

gohandlers

Library of HTTP handlers
Go
2
star
58

packager

Python script for converting existing projects into PyPi packages
Python
2
star
59

ppackager

Manage Python packages
Python
2
star
60

gowiki

Very simple wiki server in Go
Go
2
star
61

inflist

Infinite lists in Python using lazy evaluation
Python
2
star
62

go-ui

High level Go library for graphical user interfaces
Go
2
star
63

statistical

Small tool for simple statistical tests on samples
2
star
64

dotfiles

My configuration files
Vim Script
2
star
65

gallery

Extracts images from websites and displays in a gallery
Python
2
star
66

telescoping_text

Text with variable amount of details
CSS
2
star
67

dashboard

Attempt at a desktop dashboard with useful functions
Python
2
star
68

console

Cross platform library for simple command line applications
Python
2
star
69

derivative

Library for calculating derivatives using dual numbers
Python
2
star
70

adventofcode

My solutions to http://adventofcode.com
Python
2
star
71

websentinel

Watches webpages for changes and keyword occurences
Python
2
star
72

ludum_dare28

Entry for the 28th Ludum Dare compo
JavaScript
2
star
73

graphql

Basic implementation of GraphQL using in-memory objects
Python
2
star
74

dictfs

Wraps the file system in a dictionary like access structure
Python
2
star
75

ledhero

Guitar-hero like game using only the keyboard LEDs as display
Python
2
star
76

extract_by_pattern

Extract data from texts with no clear field separator
Python
2
star
77

matrix

Pythonic 2D matrix data type
Python
2
star
78

reduction-circuit

Draws a XOR circuit to perform binary polynomial reduction
HTML
2
star
79

2048bot

Bot for playing the game "2048"
Python
2
star
80

manual_file_classifier

(k)eep, (d)elete, (r)ename or (m)ove?
Python
2
star
81

fsm

Fast and simple Finite State Machine library
Python
2
star
82

switch

Background application responsible for starting and stopping other applications
Python
2
star
83

pycalc

Calculator server with measure unit and Python support
Python
2
star
84

autokeyboard

Automate everything keyboard
Python
1
star
85

toon_tools

Adds a prefix letter to all files in a given folder
Go
1
star
86

frango-app

Java
1
star
87

activity

Watches, stores and reports user activity on the computer
Python
1
star
88

word2vec_bin_parser

Tiny Python library for parsing Word2Vec .bin embeddings
Python
1
star
89

cinema

Finds subtitles and starts playing a movie
Python
1
star
90

easier-as3

Tiny functions for common tasks
ActionScript
1
star
91

constraint_propagation

Solver for assigning values to cells via constraint propagation (e.g. Sudoku, Zebra puzzle, seating plan)
Python
1
star
92

attachment

Downloads email attachments you receive and emails attachments you upload
Python
1
star
93

doorman

Notifies when computers enter and exit the wireless network
Python
1
star
94

symcalc

Symbolic calculator using Python's sympy package
Python
1
star