import sys sys.dont_write_bytecode = True import logging import os from config_paths import ( config_path, style_overlay_colors_scss, style_overlay_ignis_dir, style_overlay_lighttheme_scss, style_overlay_main_scss, ) from core.style_overlay import build_overlay from ignis.css_manager import CssInfoPath, CssManager from ignis.utils import Utils from modules import ( Bar, ) from modules.bar.styles import BarStyles from modules.wallpaper.auto_dark import start as start_auto_dark from modules.wallpaper.wallpaper import Wallpaper from user_settings import user_settings from ignis import utils log = logging.getLogger("exo") build_overlay( config_path("ignis"), config_path("ignis", "styles"), style_overlay_ignis_dir(), ) Wallpaper.generatePreviews() css_manager = CssManager.get_default() css_manager.widgets_style_priority = "user" css_manager.apply_css( CssInfoPath( name="main", path=style_overlay_main_scss(), compiler_function=lambda path: utils.sass_compile(path=path), priority="user", ) ) css_manager.apply_css( CssInfoPath( name="colors", path=style_overlay_colors_scss(), compiler_function=lambda path: utils.sass_compile(path=path), priority="user", ) ) if not user_settings.appearance.wallcolors.dark_mode: css_manager.apply_css( CssInfoPath( name="lightthemeoverrides", path=style_overlay_lighttheme_scss(), compiler_function=lambda path: utils.sass_compile(path=path), priority="user", ) ) for i in range(Utils.get_n_monitors()): bar = Bar(i) BarStyles.add_bar_instance(bar) BarStyles._apply_css(bar.build(), bar_id=0) BarStyles._apply_css(bar.build2(), bar_id=1) BarStyles.setFloating(user_settings.interface.bar.floating, bar_id=0) BarStyles.setFloating(user_settings.interface.bar2.floating, bar_id=1) if not user_settings.appearance.wallcolors.wallpaper_path: default_wallpaper_path = os.path.expanduser("~/Pictures/Wallpapers/default.png") if os.path.exists(default_wallpaper_path): print("No wallpaper set in user_settings, setting default wallpaper.") Wallpaper.setWall(default_wallpaper_path) else: print("No wallpaper set and default wallpaper file not found.") _migrated = ("corners", "launcher", "notifications", "osd", "m3test", "powermenu", "quickcenter", "bluetooth", "network", "settings", "bar", "wallpaper", "recorder") _old_setup_order = [module_id for module_id in _migrated] import user_settings as _user_settings_module from core.registry import ModuleRegistry _modules_dir = os.path.join(os.path.dirname(__file__), "modules") _modules_file = config_path("ignis", "modules.json") _registry = ModuleRegistry(modules_dir=_modules_dir, modules_file=_modules_file) _registry.discover() try: from ignis.app import IgnisApp IgnisApp.get_initialized().registry = _registry except Exception: log.debug("registry not attached to app", exc_info=True) _registry.load(skip_ids=_user_settings_module.invalid_settings_modules) _new_setup_order = [module.id for module in _registry.loaded if module.id in _migrated] if _new_setup_order != _old_setup_order: log.info( "migrated module setup order changed: old=%s new=%s", _old_setup_order, _new_setup_order, ) else: log.info("migrated module setup order unchanged: %s", _new_setup_order) # Auto Dark Mode (event/scheduled, no polling) start_auto_dark()