diff --git a/ubuntu_smoother/utils/configurator.py b/ubuntu_smoother/utils/configurator.py index cb98ad0..6e025d4 100644 --- a/ubuntu_smoother/utils/configurator.py +++ b/ubuntu_smoother/utils/configurator.py @@ -1,3 +1,5 @@ +import os +import time import logging from ubuntu_smoother.utils import checks @@ -20,59 +22,78 @@ class Configurator: self.__enable_flatpak() if self.config.flatpak else self.__disable_flatpak() self.__enable_apport() if self.config.apport else self.__disable_apport() + def __fake(self, msg: str): + time.sleep(1) + logger.info(f"Fake: {msg}") + def __enable_snap(self): if self.fake: - logger.info("Fake: Snap enabled") - return + return self.__fake("Fake: Snap enabled") - pkgs = [] if not checks.is_snap_installed(): - pkgs += ['snapd', 'gnome-software-plugin-snap'] - Apt.install(pkgs) - Apt.update() + Apt.install(['snapd', 'gnome-software-plugin-snap']) + Apt.update() if not self.config.flatpak: Snap.install(['snap-store']) def __disable_snap(self): if self.fake: - logger.info("Fake: Snap disabled") - return + return self.__fake("Fake: Snap disabled") if checks.is_snap_installed(): Apt.purge(['snapd']) def __enable_flatpak(self): if self.fake: - logger.info("Fake: Flatpak enabled") - return + return self.__fake("Fake: Flatpak enabled") if not checks.is_flatpak_installed(): Apt.install(['flatpak']) + Apt.update() Flatpak.add_repo("https://flathub.org/repo/flathub.flatpakrepo") - Apt.update() def __disable_flatpak(self): if self.fake: - logger.info("Fake: Flatpak disabled") - return + return self.__fake("Fake: Flatpak disabled") if checks.is_flatpak_installed(): Apt.purge(['flatpak']) def __enable_apport(self): if self.fake: - logger.info("Fake: Apport enabled") - return + return self.__fake("Fake: Apport enabled") if not checks.is_apport_installed(): Apt.install(['apport']) - Apt.update() + Apt.update() def __disable_apport(self): if self.fake: - logger.info("Fake: Apport disabled") - return + return self.__fake("Fake: Apport disabled") if checks.is_apport_installed(): Apt.purge(['apport']) + + def __disable_on_startup(self): + if self.fake: + return self.__fake("Fake: Disable on startup") + + autostart_file = os.path.expanduser("~/.config/autostart/ubuntu-smoother.desktop") + if os.path.exists(autostart_file): + os.remove(autostart_file) + + def __enable_on_startup(self): + if self.fake: + return self.__fake("Fake: Enable on startup") + + autostart_file = os.path.expanduser("~/.config/autostart/ubuntu-smoother.desktop") + if not os.path.exists(autostart_file): + with open(autostart_file, "w") as f: + f.write("[Desktop Entry]") + f.write("Type=Application") + f.write("Name=Ubuntu Smoother") + f.write("Exec=ubuntu-smoother") + f.write("Terminal=false") + f.write("X-GNOME-Autostart-enabled=true") + \ No newline at end of file