diff --git a/usr/share/snigdhaos-welcome/snigdhaos-welcome.py b/usr/share/snigdhaos-welcome/snigdhaos-welcome.py
index 6aef4d1..519845d 100644
--- a/usr/share/snigdhaos-welcome/snigdhaos-welcome.py
+++ b/usr/share/snigdhaos-welcome/snigdhaos-welcome.py
@@ -161,39 +161,43 @@ class Main(Gtk.Window):
return "#{r:02x}{g:02x}{b:02x}".format(r=red, g=green, b=blue)
def on_easy_install_clicked(self, widget):
+ """
+ Handles the "Easy Install" button click. Configures offline installation settings
+ and launches the appropriate installer based on system state.
+ """
+ # Check if the Pacman lockfile exists
if not os.path.exists(self.pacman_lockfile):
+ # Update the button's style and label to reflect the enabled state
widget.set_name("button_easy_install_enabled")
- widget.get_child().set_markup(
- "Offline Installation"
- )
- selected_bg_color = widget.get_style_context().lookup_color(
- "theme_selected_bg_color"
- )
- if selected_bg_color[0] is True:
+ widget.get_child().set_markup("Offline Installation")
+
+ # Retrieve the selected background color from the theme
+ selected_bg_color = widget.get_style_context().lookup_color("theme_selected_bg_color")
+ if selected_bg_color[0]: # If the color is successfully retrieved
+ # Convert the Gdk.Color to HEX format for custom CSS
theme_bg_hex_color = self.convert_to_hex(selected_bg_color[1])
custom_css = css.replace("@theme_base_color_button", theme_bg_hex_color)
self.style_provider.load_from_data(custom_css, len(custom_css))
+
+ # Set the default style for the "Advanced Install" button
self.button_adv_install.set_name("button_adv_install")
+
+ # Configuration files for the offline installation
settings_beginner_file = "/etc/calamares/settings-beginner.conf"
- packages_no_sys_update_file = (
- "/etc/calamares/modules/packages-no-system-update.conf"
- )
- app_cmd = [
- "sudo",
- "cp",
- settings_beginner_file,
- "/etc/calamares/settings.conf",
- ]
+ packages_no_sys_update_file = "/etc/calamares/modules/packages-no-system-update.conf"
+
+ # Copy configuration file for beginner mode
+ app_cmd = ["sudo", "cp", settings_beginner_file, "/etc/calamares/settings.conf"]
threading.Thread(target=self.run_app, args=(app_cmd,), daemon=True).start()
- app_cmd = [
- "sudo",
- "cp",
- packages_no_sys_update_file,
- "/etc/calamares/modules/packages.conf",
- ]
+
+ # Copy the packages configuration for offline mode
+ app_cmd = ["sudo", "cp", packages_no_sys_update_file, "/etc/calamares/modules/packages.conf"]
threading.Thread(target=self.run_app, args=(app_cmd,), daemon=True).start()
+
+ # Check for EFI bootloader support
efi_file_check = self.file_check("/sys/firmware/efi/fw_platform_size")
- if efi_file_check is True:
+ if efi_file_check:
+ # If EFI is supported, display the bootloader selection dialog
md = MessageDialogBootloader(
title="Choose Bootloader",
install_method="Offline Installation",
@@ -203,24 +207,25 @@ class Main(Gtk.Window):
)
md.show_all()
else:
+ # Launch the Calamares installer directly if not an EFI system
subprocess.Popen([self.calamares_polkit, "-d"], shell=False)
else:
- print(
- "[ERROR]: Pacman lockfile found %s, is another pacman process running ?"
- % self.pacman_lockfile
- )
+ # Handle the case where a Pacman lockfile exists
+ print(f"[ERROR]: Pacman lockfile found {self.pacman_lockfile}, is another pacman process running?")
+
+ # Display a warning dialog about the lockfile
md = Gtk.MessageDialog(
parent=self,
flags=0,
message_type=Gtk.MessageType.WARNING,
buttons=Gtk.ButtonsType.OK,
- text="Pacman lockfile found %s, is another pacman process running ?"
- % self.pacman_lockfile,
+ text=f"Pacman lockfile found {self.pacman_lockfile}, is another pacman process running?",
title="Warning",
)
md.run()
md.destroy()
+
def on_adv_install_clicked(self, widget):
if not os.path.exists(self.pacman_lockfile):
widget.set_name("button_adv_install_enabled")