From 759b4c4007c49f10b9855b869f73dc6ee61422cd Mon Sep 17 00:00:00 2001 From: "N0\\A" Date: Tue, 3 Feb 2026 01:26:30 +0100 Subject: [PATCH] Use the icon --- README.md | 6 +++++- data/org.iridium.Installer.desktop | 9 +++++++++ iridium_installer/ui/pages/welcome.py | 26 +++++++++++++++++++++---- iridium_installer/ui/window.py | 1 + run.sh | 28 +++++++++++++++++++++++++++ 5 files changed, 65 insertions(+), 5 deletions(-) create mode 100644 data/org.iridium.Installer.desktop diff --git a/README.md b/README.md index 17fd521..e7b7602 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,8 @@ -# Iridium OS Installer +
+ Iridium OS Installer Icon + + # Iridium OS Installer +
> [!WARNING] > For now this is only a mockup and not actually functional. diff --git a/data/org.iridium.Installer.desktop b/data/org.iridium.Installer.desktop new file mode 100644 index 0000000..336ad71 --- /dev/null +++ b/data/org.iridium.Installer.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=Iridium Installer +Comment=Install Iridium OS on your computer +Exec=iridium-installer +Icon=org.iridium.Installer +Type=Application +Categories=System;Settings; +StartupNotify=true +Terminal=false diff --git a/iridium_installer/ui/pages/welcome.py b/iridium_installer/ui/pages/welcome.py index 412b55b..906b376 100644 --- a/iridium_installer/ui/pages/welcome.py +++ b/iridium_installer/ui/pages/welcome.py @@ -1,8 +1,10 @@ +import os + import gi gi.require_version("Gtk", "4.0") gi.require_version("Adw", "1") -from gi.repository import Adw, Gtk +from gi.repository import Adw, Gdk, Gtk class WelcomePage(Adw.Bin): @@ -12,13 +14,30 @@ class WelcomePage(Adw.Bin): page = Adw.StatusPage() page.set_title("Welcome to Iridium OS") page.set_description("The installation will begin shortly") - page.set_icon_name("system-software-install-symbolic") + + # Load custom icon + icon_path = os.path.join( + os.path.dirname(__file__), + "..", + "..", + "..", + "data", + "icons", + "org.iridium.Installer.svg", + ) + if os.path.exists(icon_path): + try: + paintable = Gdk.Texture.new_from_filename(icon_path) + page.set_paintable(paintable) + except Exception: + page.set_icon_name("system-software-install-symbolic") + else: + page.set_icon_name("system-software-install-symbolic") # Content Box box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) box.set_spacing(12) box.set_halign(Gtk.Align.CENTER) - box.set_valign(Gtk.Align.CENTER) lbl = Gtk.Label(label="Select your language:") lbl.add_css_class("heading") @@ -29,7 +48,6 @@ class WelcomePage(Adw.Bin): "English", ] dropdown = Gtk.DropDown.new_from_strings(languages) - dropdown.set_margin_bottom(20) box.append(dropdown) page.set_child(box) diff --git a/iridium_installer/ui/window.py b/iridium_installer/ui/window.py index abf1daf..fc94331 100644 --- a/iridium_installer/ui/window.py +++ b/iridium_installer/ui/window.py @@ -21,6 +21,7 @@ class InstallerWindow(Adw.ApplicationWindow): self.set_default_size(900, 650) self.set_title("Iridium Installer" + (" (MOCK MODE)" if mock_mode else "")) + self.set_icon_name("org.iridium.Installer") self.toolbar_view = Adw.ToolbarView() self.set_content(self.toolbar_view) diff --git a/run.sh b/run.sh index 2bff674..f762fbe 100755 --- a/run.sh +++ b/run.sh @@ -1,4 +1,32 @@ #!/bin/bash + +# Install icons to ~/.local/share/icons if not already installed +ICON_DIR="$HOME/.local/share/icons/hicolor/128x128/apps" +SYMBOLIC_DIR="$HOME/.local/share/icons/hicolor/symbolic/apps" + +mkdir -p "$ICON_DIR" +mkdir -p "$SYMBOLIC_DIR" + +# Get script directory +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +# Copy main icon if not exists or if source is newer +if [ ! -f "$ICON_DIR/org.iridium.Installer.svg" ] || [ "${SCRIPT_DIR}/data/icons/org.iridium.Installer.svg" -nt "$ICON_DIR/org.iridium.Installer.svg" ]; then + cp "${SCRIPT_DIR}/data/icons/org.iridium.Installer.svg" "$ICON_DIR/" + echo "Installed 128x128 icon" +fi + +# Copy symbolic icon if not exists or if source is newer +if [ ! -f "$SYMBOLIC_DIR/org.iridium.Installer-symbolic.svg" ] || [ "${SCRIPT_DIR}/data/icons/org.iridium.Installer-symbolic.svg" -nt "$SYMBOLIC_DIR/org.iridium.Installer-symbolic.svg" ]; then + cp "${SCRIPT_DIR}/data/icons/org.iridium.Installer-symbolic.svg" "$SYMBOLIC_DIR/org.iridium.Installer-symbolic.svg" + echo "Installed symbolic icon" +fi + +# Update icon cache if gtk-update-icon-cache exists +if command -v gtk-update-icon-cache &> /dev/null; then + gtk-update-icon-cache -f -t "$HOME/.local/share/icons/hicolor" 2>/dev/null || true +fi + export GSETTINGS_SCHEMA_DIR=. python3 -m iridium_installer.main "$@"