commit 5471e3dc719e0d0d4d2d042f4a6dedae20812ca2 parent f7e4c13de303462f0bf61f5778d7a1024a11f733 Author: Damian Myrda <damian@prime8.dev> Date: Sat, 31 Jan 2026 21:57:58 -0600 add gdm-theme-whitesur rpm with compiled gresource Diffstat:
| M | autostart/albert.desktop | | | 2 | +- |
| A | install-gdm-theme.sh | | | 81 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| D | rpms/gdm-themes-1.0-3.fc43.noarch.rpm | | | 0 | |
| A | rpms/gdm-themes-1.0-4.fc43.noarch.rpm | | | 0 |
4 files changed, 82 insertions(+), 1 deletion(-)
diff --git a/autostart/albert.desktop b/autostart/albert.desktop @@ -2,7 +2,7 @@ [Desktop Entry] Categories=Utility; Comment=A desktop agnostic launcher -Exec=env QT_QPA_PLATFORMTHEME=gtk3 albert --platform xcb %u +Exec=sh -c "sleep 5 && env QT_QPA_PLATFORMTHEME=gtk3 QT_QPA_PLATFORM=xcb albert --platform xcb %u" GenericName=Launcher Icon=albert Name=Albert diff --git a/install-gdm-theme.sh b/install-gdm-theme.sh @@ -0,0 +1,81 @@ +#!/usr/bin/env bash +# Build and install GDM theme from WhiteSur theme files +# This creates a proper gresource file that GDM will use + +set -euo pipefail + +THEME_NAME="WhiteSur-Dark-yellow" +THEME_DIR="/usr/share/themes/${THEME_NAME}" +GDM_THEME_DIR="/usr/share/gnome-shell/theme/${THEME_NAME}" +GRESOURCE_FILE="/usr/share/gnome-shell/gnome-shell-theme.gresource" +TMP_DIR="/tmp/gdm-theme-build" + +if [[ $EUID -ne 0 ]]; then + echo "This script must be run as root (use sudo)" + exit 1 +fi + +# Check if theme exists +if [[ ! -d ${THEME_DIR} ]]; then + echo "Error: Theme not found at ${THEME_DIR}" + exit 1 +fi + +echo "Building GDM theme for ${THEME_NAME}..." + +# Clean up and create temp directory +rm -rf "${TMP_DIR}" +mkdir -p "${TMP_DIR}" + +# Copy theme files +cp -r "${THEME_DIR}/gnome-shell"/* "${TMP_DIR}/" + +# Create gresource XML file +cat >"${TMP_DIR}/gnome-shell-theme.gresource.xml" <<'EOF' +<?xml version="1.0" encoding="UTF-8"?> +<gresources> + <gresource prefix="/org/gnome/shell/theme"> + <file>gnome-shell.css</file> + <file>pad-osd.css</file> + <file>no-events.svg</file> + <file>no-notifications.svg</file> + <file>process-working.svg</file> +EOF + +# Add assets to XML +for file in "${TMP_DIR}/assets/"*.svg; do + if [[ -f $file ]]; then + filename=$(basename "$file") + echo " <file>assets/${filename}</file>" >>"${TMP_DIR}/gnome-shell-theme.gresource.xml" + fi +done + +# Close XML +echo " </gresource>" >>"${TMP_DIR}/gnome-shell-theme.gresource.xml" +echo "</gresources>" >>"${TMP_DIR}/gnome-shell-theme.gresource.xml" + +# Compile gresource +echo "Compiling gresource file..." +glib-compile-resources --sourcedir="${TMP_DIR}" \ + --target="${TMP_DIR}/gnome-shell-theme.gresource" \ + "${TMP_DIR}/gnome-shell-theme.gresource.xml" + +# Backup original +echo "Backing up original GDM theme..." +if [[ -f ${GRESOURCE_FILE} && ! -f "${GRESOURCE_FILE}.bak" ]]; then + cp "${GRESOURCE_FILE}" "${GRESOURCE_FILE}.bak" +fi + +# Install new theme +echo "Installing new GDM theme..." +cp "${TMP_DIR}/gnome-shell-theme.gresource" "${GRESOURCE_FILE}" + +# Also install to theme directory for consistency +mkdir -p "${GDM_THEME_DIR}" +cp -r "${TMP_DIR}"/* "${GDM_THEME_DIR}/" + +# Clean up +rm -rf "${TMP_DIR}" + +echo "GDM theme installed successfully!" +echo "Please reboot to see the changes." diff --git a/rpms/gdm-themes-1.0-3.fc43.noarch.rpm b/rpms/gdm-themes-1.0-3.fc43.noarch.rpm Binary files differ. diff --git a/rpms/gdm-themes-1.0-4.fc43.noarch.rpm b/rpms/gdm-themes-1.0-4.fc43.noarch.rpm Binary files differ.