Compare commits
3 Commits
26757288c4
...
759b4c4007
| Author | SHA1 | Date | |
|---|---|---|---|
| 759b4c4007 | |||
| 9958b9a65b | |||
| 1afdf99a6f |
@@ -1,4 +1,8 @@
|
||||
# Iridium OS Installer
|
||||
<div align="center">
|
||||
<img src="data/icons/org.iridium.Installer.svg" alt="Iridium OS Installer Icon" width="128" height="128">
|
||||
|
||||
# Iridium OS Installer
|
||||
</div>
|
||||
|
||||
> [!WARNING]
|
||||
> For now this is only a mockup and not actually functional.
|
||||
|
||||
5
data/icons/org.iridium.Installer-symbolic.svg
Normal file
5
data/icons/org.iridium.Installer-symbolic.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M 8 1 C 4.132812 1 1 4.132812 1 8 C 1 11.867188 4.132812 15 8 15 C 11.867188 15 15 11.867188 15 8 C 15 4.132812 11.867188 1 8 1 Z M 8 3 C 10.761719 3 13 5.238281 13 8 C 13 10.761719 10.761719 13 8 13 C 5.238281 13 3 10.761719 3 8 C 3 5.238281 5.238281 3 8 3 Z M 8 3" fill="#2e3436"/>
|
||||
<path d="M 8 5 C 6.34375 5 5 6.34375 5 8 C 5 9.65625 6.34375 11 8 11 C 9.65625 11 11 9.65625 11 8 C 11 6.34375 9.65625 5 8 5 Z M 8 6 C 9.105469 6 10 6.894531 10 8 C 10 9.105469 9.105469 10 8 10 C 6.894531 10 6 9.105469 6 8 C 6 6.894531 6.894531 6 8 6 Z M 8 6" fill="#2e3436"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 711 B |
22
data/icons/org.iridium.Installer.svg
Normal file
22
data/icons/org.iridium.Installer.svg
Normal file
@@ -0,0 +1,22 @@
|
||||
<svg width="128" height="128" viewBox="0 0 128 128" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs>
|
||||
<linearGradient id="circle-bg" x1="0%" y1="0%" x2="0%" y2="100%">
|
||||
<stop offset="0%" stop-color="#5E5C64"/>
|
||||
<stop offset="100%" stop-color="#3D3846"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
|
||||
<!-- Background circle (dark gray) -->
|
||||
<circle cx="64" cy="64" r="56" fill="url(#circle-bg)"/>
|
||||
|
||||
<!-- Yellow rings (GNOME yellow) -->
|
||||
<circle cx="64" cy="64" r="40" fill="none" stroke="#F6D32D" stroke-width="8"
|
||||
stroke-dasharray="75 25" stroke-linecap="round" opacity="0.9"/>
|
||||
|
||||
<!-- Inner ring -->
|
||||
<circle cx="64" cy="64" r="28" fill="none" stroke="#F5C211" stroke-width="4"
|
||||
stroke-dasharray="45 20" stroke-linecap="round" opacity="0.8"/>
|
||||
|
||||
<!-- Center dot -->
|
||||
<circle cx="64" cy="64" r="10" fill="#F6D32D"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 853 B |
9
data/org.iridium.Installer.desktop
Normal file
9
data/org.iridium.Installer.desktop
Normal file
@@ -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
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
28
run.sh
28
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 "$@"
|
||||
|
||||
Reference in New Issue
Block a user