GithubHelp home page GithubHelp logo

nonsteamutil's Introduction

nonsteamutil

This is a python utility to add a standalone game or application as a non-steam game to Steam within SteamOS for the Steam Deck (Does not work with Windows).

I wanted the functionality to add a standalone application as a non-steam game without the need for another application like Steam Rom Manger or BoilR.

Most of the code is from scottrice's Pysteam and Ice projects, with a small part from CorporalQuesadilla's Steam-Shortcut-Manager as well to increment the AppID.

I had to update the code for Python 3, and the functionality has been reduced to just appending a game to shortcuts.vdf due to my limited knowledge of Python.

File Structure

This utility is currently hardcoded to look for the Steam artwork in a folder named "Steam-Artwork" that is two directories above where the utility is located.

The filenames of the Steam-Artwork images can be changed in the config file.

The directory structure should look like this:

Application Directory
    /utils
        /nonsteamutil
             /config.txt
    /Steam-Artwork
        /icon.png
        /lastplayed.png
        /hero.png
        /logo.png
        /portrait.png

Changing the Configuration

The [GAME] section of the config.txt file is all that needs to be modified.

The utility is going to assume that the "Game Exe" is in the "Application Directory" (see the directory structure example in the section above.)

There is also a command line option to specify a different config file to use.

Example Usage within a shell script:

#!/bin/bash
cd utils/nonsteamutil
konsole --noclose -e python nonsteamutil.py --config config.txt

Backups

The utility will backup the shortcuts.vdf file in the Backups folder in case the utility screws up the shortcuts.vdf file when adding a game.

Spaghetti Code Disclaimer

The code is very messy. I stopped working on it once it produced the functionality that I wanted, but I am making it available for the small chance that it helps someone else.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.