Giter Site home page Giter Site logo

foldex / adwsteamgtk Goto Github PK

View Code? Open in Web Editor NEW
164.0 2.0 5.0 368 KB

A simple Gtk wrapper for Adwaita-for-Steam

License: GNU General Public License v3.0

Python 90.33% Meson 7.79% Shell 1.89%
adwaita gnome gtk gtk4 libadwaita steam steam-skin steam-theme

adwsteamgtk's Introduction

AdwSteamGtk

A simple GTK wrapper that installs and updates the Adwaita for Steam skin.

Installation

Available on Flathub

Download on Flathub

Arch AUR Build (Unofficial)

Unofficial AUR build

Skin Install

  1. Install via app
  2. Restart Steam if running

Skin Updates

On Startup new releases will automatically be downloaded and display a notification:

Simply reinstall the skin afterwards to update.

Command Line Usage

flatpak run io.github.Foldex.AdwSteamGtk

Arg Short Description
--check -c Checks for updates and displays a notification
--install -i Checks for updates and installs them, always installs
--options -o Overrides Install Options, see below
--update -u Checks for updates and installs them

Install Options

By default installs with -i/-u will use your last selected settings within the app.

You may override this by using -o option.

Please note that these options are one time overrides, they will not save themselves.

Options should be passed as a single string like so:

flatpak run io.github.Foldex.AdwSteamGtk -i -o 'option_name:option_value;option_name:option_value'

Key Description Accepted Values
color_theme Colortheme for skin Any valid theme name
library_sidebar Display Options for Library Sidebar show, hover_only
library_whats_new Show the Library What's New Section true, false, yes, no, on, off, t, f, y, n
login_qr Display Options for the QR Code Login show, hover_only, hide
rounded_corners Show Rounded Corners on Elements true, false, yes, no, on, off, t, f, y, n
win_controls Window Controls Presets (Maximize, Minimize, etc) default, right-all, left, left-all, none
win_controls_style Window Controls Visual Style (Mac OS Dots) default, dots

Troubleshooting

See Troubleshooting

Translations

Translation status

The Weblate platform is the preferred method of contributing translations.

Manual Instructions do exist for an alternative method of contributing as well.

Building

It is recommended to use Gnome Builder or flatpak-builder to build the project.

flatpak install org.gnome.Platform//46 org.gnome.Sdk//46
flatpak-builder --install --force-clean --user build-dir io.github.Foldex.AdwSteamGtk.json

See the below requirements otherwise.

Requirements

  • Blueprint Compiler >= 0.8.0
  • GTK4
  • Libadwaita
  • Libportal
  • Meson
  • Ninja
  • PyGObject
  • Python >= 3.10
  • Python python-packaging

adwsteamgtk's People

Contributors

albanobattistella avatar anaxmorden avatar bragefuglseth avatar cmkohnen avatar draurkh avatar foldex avatar linfindel avatar vovkiv avatar weblate avatar yakushabb avatar ztrahmet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

adwsteamgtk's Issues

Bug Report:

when steam has been installed with other package managers then flatpak it doesnt install themes correctly but its says it was successfu. (in my situation pacman)

here is the log :

→ Creating stage directory /tmp/tmp59f7m4td/adwaita
→ Applying color theme breeze...

→ Patching Steam Client Library Files...
✦ Directory /home/hosein/.var/app/com.valvesoftware.Steam/.steam/steam does not exist
✓ Done!

as you can see /home/hosein/.var/app/com.valvesoftware.Steam/.steam/steam does not exists witch is path of steam that is installed with flatpak

Bug Report: Installer Process Failed

This issue is specific to AdwSteamGtk and not the upstream project:

  • Yes

I have checked the Troubleshooting page

  • Yes

Description of Issue:

Installation Process fails with the following output:

usage: install.py [-h] [-c COLOR_THEME] [--custom-css] [-d]
                  [-e EXTRAS [EXTRAS ...]] [-l] [-t TARGET [TARGET ...]] [-u]

install.py: error: unrecognized arguments: -f

Steps to Reproduce:

  1. Open ADWSteamGTK
  2. Press "Apply"
  3. Observe Message "Installer: Installer Process Failed"

CLI Output:

♥ ❯ flatpak run io.github.Foldex.AdwSteamGtk 
usage: install.py [-h] [-c COLOR_THEME] [--custom-css] [-d]
                  [-e EXTRAS [EXTRAS ...]] [-l] [-t TARGET [TARGET ...]] [-u]
install.py: error: unrecognized arguments: -f

Feature Request: Command-line for automatic install

Hello,

First of all, thanks you for taking on your time to maintain this software. I would like to be able to update automatically the Adwaita theme for Steam using command-line.

I saw that you've already implement the -c option that fetch the archive but is there any possibility that you could also implement something like -i, -u, --install or --update this way a script can run something like:

/usr/bin/flatpak run io.github.Foldex.AdwSteamGtk -c -i

Do you think that you could implement such feature?

Edit 1: I forgot to mention that the -i command line need to respect the user choice in the app regarding full theme, button on right or left, etc.

Edit 2: Ideally (this is totally optional if it take too much time to implement) my previous request about the user choice settings could also be enhanced by letting the user eventually override those one by passing arguments and if none are given, then fallback to the default user choice set in the application.
The command line could look like:

/usr/bin/flatpak run io.github.Foldex.AdwSteamGtk -c -i -p "window:right-all;theme:full;qr:show"

Or something similar, or even pointing to a file (if you are using a file to remember settings) like:

/usr/bin/flatpak run io.github.Foldex.AdwSteamGtk -c -i -f "/path/to/file.conf"

This could also allow users to deploy quickly with different configuration, but like I said, this is optional, just a thought!

Thanks for your time.

Bug Report: Crash when applying color scheme

This issue is specific to AdwSteamGtk and not the upstream project:

  • Yes

I have checked the Troubleshooting page

  • Yes

Description of Issue:

This crashes when applying a color scheme. It does not matter which one, as it even crashes when just selecting Adwita

Steps to Reproduce:
Select a color scheme

CLI Output:

$ G_MESSAGES_DEBUG=all adwaita-steam-gtk
...
(adwaita-steam-gtk:42264): Gtk-DEBUG: 17:15:26.357: Connecting to session manager
(adwaita-steam-gtk:42264): Gtk-DEBUG: 17:15:26.357: Failed to get the GNOME session proxy: The name org.gnome.SessionManager is not owned
(adwaita-steam-gtk:42264): Gtk-DEBUG: 17:15:26.358: Failed to get the Xfce session proxy: The name org.xfce.SessionManager is not owned
(adwaita-steam-gtk:42264): GLib-GIO-DEBUG: 17:15:26.361: _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ‘gio-vfs’
(adwaita-steam-gtk:42264): Gdk-DEBUG: 17:15:28.667: [destroyed object]: error 6: surface was destroyed before its role object

Gdk-Message: 17:15:28.667: Error 71 (Protocol error) dispatching toWayland display.

Top Bar Source Error

At the top there is a white burr up below the username (Dlnhc-Dinho) probably left from the source of the previous theme

Captura de tela de 2023-06-17 19-22-00

Adw-gtk or yaru accent colors

since both adwaita (with gradience, accent colors extension, etc) and also yaru on ubuntu support accent colors, is there any chance to add this like a option?
for example yaru-blue, yaru-red - adwaita-magenta - adwaita-red.

Help?: Can't find the button to add non-steam games or activate game keys "ADD A GAME"

This issue is a problem with AdwSteamGtk and not the Theme it installs:

  • [x ] It's an issue with the GUI choices but not the theme itself, so I guess yes?

I have checked the Troubleshooting page

  • [ x] Yes

Description of Issue:

usually at the bottom left corner there is a button to add games (ADD A GAME button) , but when I installed this the button is no longer there, and I don't know how to find it, if it is somewhere else or if it just isn't in any place.

Steps to Reproduce:

run AdwSteamGTK
install the theme
button no longer there, nor anywhere

[CLI Output]:

not applicable, this is in regards to the GUI

Other Info (Screenshots, etc):

Normal Client with "ADD A GAME" button :

steamclient-399636535

Client with theme and no button:

Screenshot_20240302_110644

Bug Report: Install and uninstall both fail due to "No such file or directory"

This issue is specific to AdwSteamGtk and not the upstream project:

  • Yes

I have checked the Troubleshooting page

  • Yes

Description of Issue:

Install fails with error message. Uninstall fails silently.

Steps to Reproduce:

  1. Click Apply with any (valid) settings
  2. Observe Install: Installer process failed message
  1. Click 3-dot menu -> Uninstall -> Uninstall
  2. Open Steam with a custom theme currently installed and observe theme is still present

CLI Output:

$ flatpak run io.github.Foldex.AdwSteamGtk
F: Not sharing "/usr/share/themes" with sandbox: Path "/usr" is reserved by Flatpak
→ Creating stage directory /tmp/tmpe0n529p2/adwaita
→ Patching Steam Client Library Files...
→ Patching Steam Client Library Files...
Traceback (most recent call last):
  File "/usr/lib/python3.10/shutil.py", line 816, in move
    os.rename(src, real_dst)
OSError: [Errno 18] Invalid cross-device link: '/tmp/tmpe0n529p2/adwaita/libraryroot.custom.css' -> '/home/brian/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamui/libraryroot.custom.css'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/brian/.var/app/io.github.Foldex.AdwSteamGtk/cache/AdwSteamInstaller/extracted/install.py", line 313, in <module>
    patch_client_css(sourcedir, target, "Library")
  File "/home/brian/.var/app/io.github.Foldex.AdwSteamGtk/cache/AdwSteamInstaller/extracted/install.py", line 210, in patch_client_css
    shutil.move(source_css, custom_library)
  File "/usr/lib/python3.10/shutil.py", line 836, in move
    copy_function(src, real_dst)
  File "/usr/lib/python3.10/shutil.py", line 434, in copy2
    copyfile(src, dst, follow_symlinks=follow_symlinks)
  File "/usr/lib/python3.10/shutil.py", line 254, in copyfile
    with open(src, 'rb') as fsrc:
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmpe0n529p2/adwaita/libraryroot.custom.css'

Other Info (Screenshots, etc):
Version 1.8 worked great. Ran into this issue when I saw the notification for the 1.9 update.

Bug Report: Window hanging

This issue is specific to AdwSteamGtk and not the upstream project:

  • Yes

Description of Issue:
The window is hung after selecting something in a dropdown menu.
It then can't be moved any more as well as any hover actions are not showing, clicking the dropdowns still works.
Clicking 'Install' directly installs the skin and doesn't hang the window.

Steps to Reproduce:

  1. Click on one of the dropdowns in the window
  2. Select something
  3. Try to move the window or try clicking 'Install'

Other Info (Shell Output, Screenshots, etc):

  • Fedora 36 with Gnome 42

Translations: How can I contribute?

Hello,

I saw their was some PO directory in the app but I haven't seen (or found) any .po file that I could use to translate strings in French.

Is there any way I can contribute to translate this app or this is not planned/implemented at the moment?

Thanks you for your reply, have a nice day.

If possible, use color scheme of selected color theme

I'm thinking it would great to see how installer itself changes colors to scheme you selected so you don't have to look at screenshots of github page for skin and get roughly idea of the colors. Or perhaps some other presentation of the colors

Bug Report: Extract BAD ZIp File

This issue is specific to AdwSteamGtk and not the upstream project:

  • [.] Yes

Description of Issue:
When I click on install, it says "Extract: Bad Zip file"

Steps to Reproduce:

  1. flatpak install flathub io.github.Foldex.AdwSteamGtk
  2. Open AdwSteamGtk
  3. click Intsall
Screencast.from.2023-01-02.12-54-54.mp4

Feature Request: Add options for the new headerbar button patches

I've recently added a few new patches to the skin to show downloads or friends buttons (or both) in the headerbar.

It's a bit more complicated than other options because these patches are conflicting and currently only compatible with the default window controls preset. So for now this option should only be available/active when the window controls preset is set to default.

Not sure if there's a way to combine window controls presets with these patches without making each combination a separate patch. Maybe the installer should allow to add/remove/reorder headerbar buttons and modify steamrootdialog.layout directly.
Anyway, that's an issue for the skin itself, but maybe you'll have some ideas how to handle that.

Bug Report: Custom CSS does not affect Headerbar

This issue is specific to AdwSteamGtk and not the upstream project:

  • Yes

I have checked the Troubleshooting page

  • Yes

Description of Issue:

Headerbar are not working, inspecting in dev mode also doesn't work

Steps to Reproduce:

  1. Select Full Adwaita theme
  2. enable custom css
  3. paste this css
:root
{
	--bg: #eeeee;
	--fg: #FFFFFF;

	--accent: #C10022;
	--accent_bg: #6b0000;
	--accent_disabled: rgba(120, 0, 0, 0.5);
	--accent_hover_bg: rgba(120, 0, 0, 0.07);
	--accent_active_bg: rgba(120, 0, 0, 0.16);
	--focusring: #A83334;
	--button_bg: rgba(255, 0, 0, 0.1);
	--button_hover_bg: rgba(255, 0, 0, 0.15);
	--button_active_bg: rgba(255, 0, 0, 0.3);
	--button_disabled_bg: rgba(255, 0, 0, 0.05);
	--button_success_bg: linear-gradient(0deg, var(--success_bg), var(--success_bg));
	--button_suggested_bg: linear-gradient(0deg, var(--accent_bg), var(--accent_bg));
	--button_suggested_hover_bg: rgba(255, 0, 0, 0.1);
	--button_suggested_click_bg: rgba(0, 0, 0, 0.2);
	--checkbox_checked_bg: var(--button_suggested_bg);
	--checkbox_bg: transparent;
	--checkbox_active_bg: var(--button_active_bg);
	--radio_checked_bg: var(--button_fg);
	--card_bg: rgba(255, 0, 0, 0.1);
	--card_solid_bg: #eeeee;
	--entry_bg: var(--button_bg);
	--entry_hover_bg: var(--button_hover_bg);
	--window_bg: var(--bg);
	--view_bg: #eeeee;
	--headerbar_bg: #eeeee;
	--popover_bg: #eeeee;
	--toast_bg: rgba(0, 0, 0, 0.7);
}

CLI Output:

patching file Adwaita/adw/controls/window.styles
Hunk #1 succeeded at 29 (offset -5 lines).
patching file Adwaita/resource/layout/steamrootdialog.layout
patching file Adwaita/resource/layout/uinavigatorpanel.layout
patching file Adwaita/resource/steamscheme.res
patching file Adwaita/steam/cached/UpdateNewsDialog.res
patching file Adwaita/resource/layout/htmlpopup.layout
patching file Adwaita/steam/cached/SingleUpdateNewsDialog.res
→ Copying to the stage directory /tmp/tmpti_84jqf/Adwaita

→ Applying patch windowcontrols/left...

→ Applying web_extra /home/chrispycode/.var/app/io.github.Foldex.AdwSteamGtk/config/AdwSteamGtk/custom...
→ Applying web_extra windowcontrols/left...


→ Applying web_extra /home/chrispycode/.var/app/io.github.Foldex.AdwSteamGtk/config/AdwSteamGtk/custom...
→ Applying web_extra windowcontrols/left...

✦ Directory /home/chrispycode/.var/app/com.valvesoftware.Steam/.steam/steam does not exist
→ Patching Steam Client Library Files...
✦ Directory /home/chrispycode/.var/app/com.valvesoftware.Steam/.steam/steam does not exist
→ Installing skin Adwaita into /home/chrispycode/.local/share/Steam/skins...
→ Patching Steam Client Library Files...
✓ Done!

Other Info (Screenshots, etc):
image

Weblate Integration

@Vovkiv @cmkohnen @AnaxMorden @RobOT05442309

Opening this just to clue in Translation Contributors.
I've been working on getting Weblate Integration set up.

You can see the project's Weblate page here
Currently it is in trial status, but I've sent in an application to have it granted free hosting. I don't foresee any issue with that going through, but I have locked contributions for the time being until it does.

Aside from that, I believe we should hopefully be good to go.
Bit of a PIA, but I've added detailed Labels and Screenshots for every applicable string I could.
If you want to give it an initial look over and provide any feedback you might have, feel free to do so.

Broken Stuff

Steam client updated and broke a lot of things.

For the moment:
AdwSteamGtk is going to crash on launch. (Fixed in 758d290, pending release)

Even with that fixed:
Most upstream themes are broken right now and will not apply properly.

Feature Request: GNOME style app icon

Hi there! I think AdwSteamGtk would benefit from an app icon following GNOME's distinct visual style. This would make it look more at home in the GNOME ecosystem, and make it visible at a glance as an app targeting GNOME.

I can assist with designing one if you want me to. Feel free to reach out to us in the GNOME App Icon Design group on Matrix for guidance or answers to any questions :)

Bug Report: Store recommendation window has no headbar

This issue is a problem with AdwSteamGtk and not the Theme it installs:

  • [v] Yes

I have checked the Troubleshooting page

  • [v] Yes

Description of Issue:

Store recommendation window has no headbar, thus making it very hard to drag around.

Steps to Reproduce:

  1. Launch Steam
  2. Get a Recommendation window
  3. Try to move it

Other Info (Screenshots, etc):
image

Feature Request: Better localization readme

(Until weblate (or other platform) will be used for translations)
There high chance, that someone who want to contribute, never heard about ".po", ".pot" files, how to check their translation in-program or even don't know how to make pull request (or what is pull request is, fork). So, it's better to cover this users:

  1. Add links to some po editors. Most popular would be https://flathub.org/uk/apps/net.poedit.Poedit
  2. Add instructions on how to run program with newly added language. Since Builder is considered official build method, it worth showing how in it build program with new language.
  3. Link some resources about forks, pull request and how to make them.
  4. Some distros doesn't provide "gettext" utility. (for example, i'm on Fedora Silverblue and it doesn't have it out-of-box, maybe something like ubuntu or debian also doesn't) . So when user will run /update_pot.sh they might see "xgettext: command not found", so it's worth mention that to generate pot user need "gettext" package to actually do that (or, at least it's called in Fedora as such. Maybe on other distros it has different name, idk)

I'm writing this from perspective, that i myself learned how to do all of this stuff fairly recently and learning process itself was quite painful, since most devs don't even put any instructions. They already assume that you know all of this.

Notice: Beta Support and Breaking Changes

Beta Support

Latest Release has Experimental Beta Support:
image

Visually it should more or less work at this point, though expect bugs.
Report issues with the beta theme here: tkashkin/Adwaita-for-Steam#150

Note: The beta branch has no releases for the updater to check against, so it will simply download the latest zip.
Expect lots of these:
image

Breaking Changes

Some of the cli -o option names have changed.

Old Name New Name
colortheme color_theme
qr_login login_qr
whats_new library_whats_new

Bug Report:

This issue is specific to AdwSteamGtk and not the upstream project:

  • Yes, I think so

Description of Issue:
Theme is not applied.

Steps to Reproduce:

  1. Click Install
  2. Open Steam

Other Info (Shell Output, Screenshots, etc):

Installation
installation

Steam after installation
steam-screenshot

Bug Report: font does not seem to be installed

This issue is specific to AdwSteamGtk and not the upstream project:

  • maybe?

Description of Issue:
Adwaita's font does not show after theme installation, is generic font.

Steps to Reproduce:

  1. Install NixOS
  2. Enable flatpaks
  3. install adwsteamgtk, install theme
  4. open steam

Other Info (Shell Output, Screenshots, etc):
image

Bug Report: No Custom themes for Steam anymore :sadge:

Steam updated and theres no option for custom themes anymore, the new UI looks good and all, and better then the old default one, and sure it was time that it got an overhall, but why did they remove custom themes though 😢

Bug Report: "Read the FAQ" link out of place in game properties.

This issue is specific to AdwSteamGtk and not the upstream project:

  • Yes

I have checked the Troubleshooting page

  • Yes

Description of Issue:

With the Adwaita theme installed, the FAQ link in a games properties are out of place.

Steps to Reproduce:

  1. Install Adwaita theme for Steam
  2. Go to game library.
  3. Right click on any game and select "Properties..."
  4. On left side, click "Installed Files"
  5. Notice the "Read the FAQ" links are out of place.

Other Info (Screenshots, etc):

Screenshot from 2023-08-10 14-24-53

Screenshot from 2023-08-10 14-26-09

Feature Request: libadwaita support

I changed the colors of libadwaita with gradience and it would looks really good if steam would also follow those colors!
image
Edit: if what i'm saying is really dumb thats possible, I don't really know how any of this works :)

Bug Report: Where are the logs

This issue is specific to AdwSteamGtk and not the upstream project:

  • Yes

Description of Issue:
I don't know, it just fails with some vague message. Where are the logs?

Steps to Reproduce:

  1. Install

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.