Steam Achievement Manager For Linux. Rewritten in C++.
Go to file
William Pierce 4eb7e5e35b
Implement Stats GUI and Modifications (#54)
* Stats GUI additions

Add notebook with tabs for achievements and stats in preparation for
adding stats to the GUI
Disable overlay scrolling on scrollbars so that grabbing the scrollbar
doesn't risk activating a game (and it looks cleaner to me)
Remove some placeholders

* Hook up stats to GUI

Hook up displaying of stat names to the GUI.  More field will
be added in later commits.
Removed unused references to schema parser since
that's been put in the child process.
Conform some more types to achievement_and_stat naming since
we're adding stats now.

* Hook up stat types and values to GUI

* Add support for adding stat modifications

Support is added for both GUI and CLI
Remove unused original_value in StatValue_t - changes
are encoded in StatChange_t.
Make pending modification more intuitive to work with
by using Change_t struct types.
Actually committing stats changes will be done in next commit.

* Implement committing stat changes

Plumb the rest of the logic through the unlock path
Stats are now functional.

Misc improvements:
Invert type checking on CLI because an int could be
interpreted as a float incorrectly. By checking for float
first, we get the right value: an int can be a float but a
float can't be an int.
Fix unitialized valid_conversion causing stat changes to
never show up.
Various coding and style improvements along the way

Fixes #13

* Always switch to achievements page first

Add a few other documentation corrections too, including the README.

* Change stats new_value entries to use spinbuttons

Using spinbuttons is beter for numeric input than plain entries.

* Add info box popover to StatBoxRow

* Add invalid stat conversion information

* Properly show and hide the invalid stat conversion image

* Implement stats placeholders

* Implement stats search bar

* Minor GUI changes

* improved log consistency

* Improve logs for unreachable code

Also bump main_window.glade version back up to 3.22.2

Co-authored-by: Paul <abonnementspaul@gmail.com>
2020-04-28 20:55:18 -07:00
.vscode Minor GUI changes 2020-04-26 16:49:01 +02:00
assets Updated achievement icons and added a screenshot 2019-12-13 17:42:44 +01:00
bin Fix PKGBUILD + more dev commands 2019-11-15 23:36:19 +01:00
glade Improve logs for unreachable code 2020-04-28 20:53:34 -07:00
package Minor improvements 2019-12-14 01:29:02 +01:00
src Improve logs for unreachable code 2020-04-28 20:53:34 -07:00
steam removed steam bloat 2019-11-14 20:32:32 +01:00
.gitignore valgrind fix, will merge soon 2019-12-12 15:14:39 +01:00
LICENSE Initial commit 2018-02-16 22:13:49 +01:00
Makefile Finishing touches 2020-02-19 11:19:07 +01:00
README.MD Always switch to achievements page first 2020-04-19 21:06:18 -07:00
TODO WIP 2020-02-12 21:46:27 +01:00

SamRewritten

A Steam Achievements Manager for Linux

SamRewritten logo

SamRewritten screenshot

SamRewritten screenshot

Introduction

SamRewritten is an open-source program that allows you to unlock and relock your Steam achievements. It is named after the famous Steam Achievement Manager written by Gibbed, and aims to implement its functionalities on Linux, and more!

It comes with third-party tools integration and a nice user interface.

SamRewritten is constantly under development, if you think you can give us a hand, feel free to reach us :)

Building

To build this project, clone this repository on your PC, and run the make command within the repository folder that you downloaded.

Alternatively, you can download one of our releases in the AppImage format. Check the 'Release' tab of this repository to find them. To build your own AppImage, build SamRewritten normally, then execute build_appimage.sh in the package folder, it will take care of everything for you.

For Arch users, there is also a PKGBUILD within the package folder if you wish to build it using makepkg.

If you're encountering issues building SamRewritten, make sure you have installed the required packages on your machine. You'll most likely need Steam, curl, yajl, GTK 3, and GLib.

  • Ubuntu 19.04 and above: $ sudo apt install libgtkmm-3.0-dev libcurl4-gnutls-dev libyajl-dev

  • Arch and variants: $ sudo pacman -S gtkmm3 glibc gnutls yajl

  • openSUSE Tumbleweed: $ sudo zypper install gtkmm3 gcc-c++ gnutls libcurl-devel libyajl-devel-static

To run SamRewritten, simply launch $ ./bin/launch.sh

AUR Installation

You can install SamRewritten from the AUR by installing the samrewritten-git package.

Run SamRewritten by opening the corresponding desktop entry, or by using the samrewritten command.

Command line options

I know you linux geeks love to use command line options! SamRewritten has a few, let us know if you want to see more!

Usage:
  samrewritten [AppId] [OPTION...]

      --apps            Get the list of your owned apps.
  -h, --help            Show CLI help.
  -a, --app arg         Set which AppId you want to use. Same as using
                        positional 'AppId'
  -i, --idle            Set your Steam profile as 'ingame'. Ctrl+c to stop.
      --ls              Display achievements and stats for selected app.
      --sort arg        Sort option for --ls. You can leave empty or set to
                        'unlock_rate'
      --unlock arg      Unlock achievements for an AppId. Separate
                        achievement names by a comma.
      --lock arg        Lock achievements for an AppId. Separate achievement
                        names by a comma.
      --statnames arg   Change stats for an AppId. Separate stat names by a
                        comma. Use with statvalues to name the values in order
      --statvalues arg  Change stats for an AppId. Separate stat values by a
                        comma. Use with statnames to name the values in order
      --launch          Actually just launch the app.

Third-party apps integration

SamRewritten uses JSON to communicate between the interface and the "backend logic". Communications are transmitted via unix sockets. If you plan to make an app using some of SamRewritten's features, feel free to ask for help, for features, or to contribute.

Footnotes

This software is licensed under the GNU GPL v3 and comes with no warranty. Use it at your own risk. We believe you should not get any ban using it, but we do not take any responsability over your user experience