Files
Modus/main.py
T

60 lines
1.4 KiB
Python

from fabric import Application
from fabric.utils import get_relative_path, logger, monitor_file
from config.data import APP_NAME
from modules.desktop.widget import Deskwidgets
from modules.launcher.main import Launcher
from modules.notification.notification import ModusNoti
from modules.osd import OSD
from modules.panel.main import Panel
from modules.switcher import ApplicationSwitcher
from utils.functions import set_process_name
for log in [
"fabric.hyprland.widgets",
"fabric.audio.service",
"fabric.bluetooth.service",
"services.network",
"utils.wayland",
]:
logger.disable(log)
if __name__ == "__main__":
set_process_name(APP_NAME)
# Load configuration
from config.data import load_config
# About().toggle(None)
config = load_config()
switcher = ApplicationSwitcher()
panel = Panel()
modusnoti = ModusNoti()
launcher = Launcher()
deskwidget = Deskwidgets()
osd = OSD()
# Monitor CSS files for changes
css_file = monitor_file(get_relative_path("styles"))
_ = css_file.connect("changed", lambda *_: set_css())
app = Application(
f"{APP_NAME}",
panel,
modusnoti,
deskwidget,
osd,
launcher,
switcher,
)
def set_css():
app.set_stylesheet_from_file(
get_relative_path("styles/main.css"),
)
app.set_css = set_css
app.set_css()
app.run()