From d80d231d8be8d63d4a1ce22a3cf09c73b04b934b Mon Sep 17 00:00:00 2001 From: Luya Tshimbalanga Date: Mon, 19 Oct 2026 21:23:14 -0700 Subject: Refresh Design Suite launchers and GNOME defaults Add a Penpot web launcher and include it in GNOME favorites. Improve documentation launcher descriptions and use symbolic icons available in adwaita-icon-theme. Overwrite generated files instead of appending, quote heredocs, and set desktop files to mode 0644. Restrict Powerline initialization to interactive Bash sessions with runtime availability checks. Move GNOME favorites into a dedicated Design Suite schema override and validate schemas before rebuilding the cache. --- config.sh | 130 ++++++++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 84 insertions(+), 46 deletions(-) (limited to 'config.sh') diff --git a/config.sh b/config.sh index c342f4b..6862f75 100755 --- a/config.sh +++ b/config.sh @@ -342,66 +342,104 @@ EOF fi if [[ "$kiwi_profiles" == *"Design_suite"* ]]; then -# Add link to lists of tutorials -cat >> /usr/share/applications/list-design-tutorials.desktop << FOE + # Add a launcher for Design Suite tutorials. + cat > /usr/share/applications/list-design-tutorials.desktop << 'EOF' [Desktop Entry] -Name=List of design tutorials -GenericName=List of Tutorials for Designers -Comment=Reference of Design Related Tutorials -Exec=xdg-open https://fedoraproject.org/wiki/Design_Suite/Tutorials Type=Application -Icon=applications-graphics +Name=Design Suite Tutorials +Comment=Explore tutorials for creative applications +Exec=xdg-open https://fedoraproject.org/wiki/Design_Suite/Tutorials +TryExec=xdg-open +Icon=help-browser-symbolic +Terminal=false Categories=Graphics;Documentation; -FOE -chmod a+x /usr/share/applications/list-design-tutorials.desktop +Keywords=Design;Tutorials;Learning;Fedora; +EOF -# Add information about Fedora Design Suite -cat >> /usr/share/applications/fedora-design-suite.desktop << FOE + # Add a launcher for information about Fedora Design Suite. + cat > /usr/share/applications/fedora-design-suite.desktop << 'EOF' [Desktop Entry] -Name=Design Suite Info -GenericName=About Design Suite -Comment=Wiki page of Design Suite -Exec=xdg-open https://fedoraproject.org/wiki/Design_Suite Type=Application -Icon=applications-internet -Categories=Documentation; -FOE -chmod a+x /usr/share/applications/fedora-design-suite.desktop +Name=Fedora Design Suite +Comment=Learn about the creative tools included in Fedora Design Suite +Exec=xdg-open https://fedoraproject.org/wiki/Design_Suite +TryExec=xdg-open +Icon=applications-graphics-symbolic +Terminal=false +Categories=Graphics;Documentation; +Keywords=Design;Creative;Fedora; +EOF -# Add information about Fedora Design Team -cat >> /usr/share/applications/fedora-design-team.desktop << FOE + # Add a launcher for Fedora Design Team documentation. + cat > /usr/share/applications/fedora-design-team.desktop << 'EOF' [Desktop Entry] -Name=Design Team Info -GenericName=About Design Team -Comment=Documentation about Design Team +Type=Application +Name=Fedora Design Team +Comment=Explore Fedora design documentation and contribution opportunities Exec=xdg-open https://docs.fedoraproject.org/en-US/design/ +TryExec=xdg-open +Icon=system-users-symbolic +Terminal=false +Categories=Graphics;Documentation; +Keywords=Design;Contribute;Community;Fedora; +EOF + + # Add a launcher for Penpot's web application. + cat > /usr/share/applications/penpot.desktop << 'EOF' +[Desktop Entry] Type=Application -Icon=applications-internet -Categories=Documentation; -FOE -chmod a+x /usr/share/applications/fedora-design-team.desktop - -# Use Powerline in bash -cat >> /etc/profile.d/powerline-shell.sh << FOE -# Enable powerline daemon -if [ -f `which powerline-daemon` ]; then - powerline-daemon -q - POWERLINE_BASH_CONTINUATION=1 - POWERLINE_BASH_SELECT=1 - . /usr/share/powerline/bash/powerline.sh +Name=Penpot +GenericName=Interface Design +Comment=Collaborate on interface designs, wireframes, and prototypes +Exec=xdg-open https://penpot.app/ +TryExec=xdg-open +Icon=applications-graphics-symbolic +Terminal=false +Categories=Graphics;Development;WebDevelopment; +Keywords=Design;Interface;Wireframe;Prototype;Collaboration; +EOF + + chmod 0644 \ + /usr/share/applications/list-design-tutorials.desktop \ + /usr/share/applications/fedora-design-suite.desktop \ + /usr/share/applications/fedora-design-team.desktop \ + /usr/share/applications/penpot.desktop + + # Enable Powerline only for interactive Bash sessions. + # Keep runtime checks literal while generating the profile script. + cat > /etc/profile.d/powerline-shell.sh << 'EOF' +# Configure Powerline for interactive Bash sessions. +if [ -n "${BASH_VERSION:-}" ]; then + case $- in + *i*) + if command -v powerline-daemon >/dev/null 2>&1 && + [ -r /usr/share/powerline/bash/powerline.sh ]; then + powerline-daemon -q + POWERLINE_BASH_CONTINUATION=1 + POWERLINE_BASH_SELECT=1 + . /usr/share/powerline/bash/powerline.sh + fi + ;; + esac fi -FOE -chmod 644 /etc/profile.d/powerline-shell.sh -# End powerline override +EOF + + chmod 0644 /etc/profile.d/powerline-shell.sh -# Override the favorite desktop application in Dash -cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE + # Configure default GNOME Shell favorites. + cat > /usr/share/glib-2.0/schemas/90-design-suite.gschema.override << 'EOF' [org.gnome.shell] -favorite-apps=['org.mozilla.firefox.desktop', 'shotwell.desktop', 'gimp.desktop', 'darktable.desktop', 'krita.desktop', 'inkscape.desktop', 'blender.desktop', 'libreoffice-writer.desktop', 'scribus.desktop', 'kdenlive.desktop', 'nautilus.desktop', 'anaconda.desktop', 'list-design-tutorials.desktop'] -FOE +favorite-apps=['org.mozilla.firefox.desktop', 'shotwell.desktop', 'gimp.desktop', 'darktable.desktop', 'krita.desktop', 'inkscape.desktop', 'penpot.desktop', 'blender.desktop', 'libreoffice-writer.desktop', 'scribus.desktop', 'kdenlive.desktop', 'nautilus.desktop', 'anaconda.desktop', 'list-design-tutorials.desktop'] +EOF + + chmod 0644 \ + /usr/share/glib-2.0/schemas/90-design-suite.gschema.override -# Rebuild schema cache with any overrides we installed -glib-compile-schemas /usr/share/glib-2.0/schemas + # Validate schema definitions and overrides, then rebuild the cache. + glib-compile-schemas --strict --dry-run \ + /usr/share/glib-2.0/schemas + glib-compile-schemas \ + /usr/share/glib-2.0/schemas fi if [[ "$kiwi_profiles" == *"SoaS"* ]]; then -- cgit v1.3.1+17