Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AppImage: add missing icons #25

Merged
merged 6 commits into from
Sep 21, 2024
Merged

Conversation

git-developer
Copy link

Currently, all AppImages rely on the host to provide GTK icons. If an AppImage is used on a host without the required icons, they are not shown. This can by reproduced by running an AppImage without environment variables, e.g.

env -i DISPLAY=:0 sc-controller-v0.4.8.21-1-bullseye-x86_64.AppImage

missing-icons

This PR adds the missing icons.

Implementation details

  1. The icons are provided by first adding an icon theme that contains all used icons and then removing all unused icons to minimize the AppImage size. A lot of icon themes (incl. the default themes Adwaita for Debian and Yaru for Ubuntu) do not include the steam icon. The current choice is Paper which is available for all supported AppImages (Focal requires a PPA). A different theme may be chosen in future by simply changing the dependency. There are some sanity checks which break the build when a used icon is missing.

  2. Some X11 dependencies (libx11, libxcb, libxext, libxfixes) that have been added in AppImage: increase compatibility & add tests #17 were removed because they may cause a segmentation fault dependeing on the host environment (at least on a Ubuntu Noble host). I think it is correct to remove them because the X server is already running on the host, and thus all X11 related libraries should be taken from the host. In addition to the ci test, all AppImages have been started on Ubuntu Jammy and Ubuntu Noble. The Noble and Trixie AppImage still segfault as reported in the earlier PR, but this should be a different topic.

A github CI build and release are available.

@C0rn3j
Copy link
Owner

C0rn3j commented Sep 21, 2024

Thanks, LGTM!


rsvg-convert --background-color none -o "${iconpath}/sc-controller.png" images/sc-controller.svg

Side note, we could oxipng (-o max --zopfli, iirc) to save a little on the filesizes, but it would add a brutal CPU cost which does not make any sense to do for frequent CI runs, just something to think about for when we handle PNGs that we save permanently in the repo.

@C0rn3j C0rn3j merged commit bff65d0 into C0rn3j:python3 Sep 21, 2024
1 check passed
@git-developer git-developer deleted the appimage branch September 21, 2024 13:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants