diff --git a/main.py b/main.py index 63aab9e..7d4df5a 100644 --- a/main.py +++ b/main.py @@ -18,7 +18,7 @@ from modules.switcher import ApplicationSwitcher for log in [ "fabric.hyprland.widgets", "fabric.audio.service", - "fabric.bluetooth.service", + "fabric.bluetooth.service", "services.network", "utils.wayland", "modules.notification.notification", diff --git a/modules/dock.py b/modules/dock.py index d7e2306..d1bfb54 100644 --- a/modules/dock.py +++ b/modules/dock.py @@ -541,8 +541,9 @@ class Dock(Window): super().__init__( layer="top", - title="modus", + title="modus-dock", anchor=anchor, + visible=False, # Start hidden until content is ready ) if data.DOCK_POSITION == "Left": transition_type = "slide-right" @@ -583,6 +584,7 @@ class Dock(Window): if not data.DOCK_ENABLED: self.set_visible(False) else: + # Show dock now that content is ready self.set_visible(True) # Set up occlusion checking diff --git a/modules/launcher/main.py b/modules/launcher/main.py index 81140b6..f6dcc7a 100644 --- a/modules/launcher/main.py +++ b/modules/launcher/main.py @@ -37,11 +37,12 @@ class Launcher(Window): def __init__(self, **kwargs): super().__init__( name="launcher-window", - title="launcher", + title="modus-launcher", layer="top", anchor="center", exclusivity="none", keyboard_mode="exclusive", + visible=False, # Start hidden until explicitly shown **kwargs, ) self._initializing = True diff --git a/modules/notification/notification.py b/modules/notification/notification.py index f46bd17..3d32b3f 100644 --- a/modules/notification/notification.py +++ b/modules/notification/notification.py @@ -882,9 +882,9 @@ class ModusNoti(Window): anchor="top right", child=self.notifications, layer="overlay", - title="noti", + title="modus-notifications", # More specific title for debugging all_visible=True, - visible=True, + visible=False, # Start hidden, show only when we have content exclusive=False, ) @@ -992,6 +992,10 @@ class ModusNoti(Window): pass self.notifications.children = [new_box] + + # Show the window now that we have content to display + self.set_visible(True) + new_box.show_all() self.notifications.queue_resize() @@ -1029,6 +1033,9 @@ class ModusNoti(Window): self.TRANSITION_DELAY, # Consistent smooth timing lambda: self._show_next_notification() or False, ) + else: + # Hide window when no more notifications to show + self.set_visible(False) def show_next_notification(self): # Legacy method for compatibility - redirect to new implementation diff --git a/modules/switcher.py b/modules/switcher.py index b3b7915..2b61dbb 100644 --- a/modules/switcher.py +++ b/modules/switcher.py @@ -16,10 +16,12 @@ class ApplicationSwitcher(Window): def __init__(self, **kwargs): super().__init__( name="application-switcher", + title="modus-switcher", layer="top", anchor="center", exclusivity="auto", keyboard_mode="exclusive", + visible=False, # Start hidden until explicitly shown **kwargs, ) diff --git a/modules/widget.py b/modules/widget.py index 5746307..ea2af48 100644 --- a/modules/widget.py +++ b/modules/widget.py @@ -601,8 +601,10 @@ class Deskwidgets(Window): def __init__(self, **kwargs): top_left = Window( anchor="top left", + title="modus-widgets-topleft", orientation="h", layer="bottom", + visible=False, # Start hidden until content ready child=Box( name="desktop-widgets-container", children=[ @@ -615,8 +617,10 @@ class Deskwidgets(Window): bottom_left = Window( anchor="bottom right", + title="modus-widgets-bottomright", orientation="h", layer="bottom", + visible=False, # Start hidden until content ready child=Box( name="desktop-widgets-container", children=[ @@ -637,9 +641,15 @@ class Deskwidgets(Window): super().__init__( name="desktop", layer="bottom", - title="desktop-widgets", + title="modus-desktop-widgets", orientation="v", exclusivity="none", + visible=False, # Start hidden until content ready child=container, **kwargs, ) + + # Show widgets after initialization is complete + self.set_visible(True) + top_left.set_visible(True) + bottom_left.set_visible(True)