From c4be3279481e06a758c5e746f0d69617b7492bfc Mon Sep 17 00:00:00 2001 From: S4NKALP Date: Sat, 26 Jul 2025 22:45:14 +0545 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(ui):=20add=20placeholder=20for?= =?UTF-8?q?=20player=20mini=20when=20no=20players=20are=20active?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/hypr/colors.conf | 30 +++++++++--------- modules/dashboard/main.py | 2 +- modules/dashboard/player_mini.py | 53 +++++++++++++++++++++++++++++--- 3 files changed, 65 insertions(+), 20 deletions(-) diff --git a/config/hypr/colors.conf b/config/hypr/colors.conf index 6d05899..7b1e021 100644 --- a/config/hypr/colors.conf +++ b/config/hypr/colors.conf @@ -1,27 +1,27 @@ -$wallpaper = /home/sankalp/Pictures/wallpapers/1.png -$background = 1a1110 -$foreground = f1dfdb +$wallpaper = /home/sankalp/Pictures/wallpapers/spidy2.jpg +$background = 161217 +$foreground = eae0e7 -$primary = ffb4a5 -$secondary = e7bdb5 -$tertiary = dcc48c -$surface = 1a1110 -$surface_bright = 423734 -$outline = a08c88 +$primary = e7b6f0 +$secondary = d5c0d6 +$tertiary = f5b7b2 +$surface = 161217 +$surface_bright = 3d373d +$outline = 988e97 $error = ff5945 $shadow = 000000 -$red = ffb4a7 +$red = ffb2b9 $green = b7d085 $yellow = dec56e $blue = cebdfe -$magenta = fcb0d5 -$cyan = 84d5c4 +$magenta = ecb4ec +$cyan = 82d3e2 $white = 82d3e0 -$red_dim = ff5d41 +$red_dim = ff4c5c $green_dim = 89ad42 $yellow_dim = bb9b2b $blue_dim = 8359fc -$magenta_dim = f84ea1 -$cyan_dim = 3eb59c +$magenta_dim = d763d7 +$cyan_dim = 30b5ce diff --git a/modules/dashboard/main.py b/modules/dashboard/main.py index dfc2315..eed5841 100644 --- a/modules/dashboard/main.py +++ b/modules/dashboard/main.py @@ -183,4 +183,4 @@ class DashboardWindow(Window): all_visible=True, ) - self.hide() + # self.hide() diff --git a/modules/dashboard/player_mini.py b/modules/dashboard/player_mini.py index 930568a..809bc12 100644 --- a/modules/dashboard/player_mini.py +++ b/modules/dashboard/player_mini.py @@ -96,7 +96,7 @@ class PlayerMini(Box): self.album_cover = Box(style_classes="album-image") self.album_cover.set_style( - f"background-image:url('{data.HOME_DIR}/.current_wall')" + f"background-image:url('{data.HOME_DIR}/.current.wall')" ) self.children = [ @@ -188,7 +188,7 @@ class PlayerMini(Box): def on_metadata(self, sender, metadata, player): keys = metadata.keys() if "xesam:artist" in keys and "xesam:title" in keys: - # _max_chars = 20 if not info.VERTICAL else 30 + # _max_chars = 20 if not data.VERTICAL else 30 song_title = metadata["xesam:title"] # if len(song_title) > _max_chars: # song_title = song_title[: _max_chars - 1] + "…" @@ -290,6 +290,45 @@ class PlayerMini(Box): shuffle_button.get_child().set_style("color: var(--outline)") +class PlacheholderMini(Box): + def __init__(self, **kwargs): + super().__init__(style_classes="player-mini", **kwargs) + + self.set_style(f"background-image:url('{data.HOME_DIR}/.current.wall')") + self.album_cover = Box(style_classes="album-image") + self.album_cover.set_style( + f"background-image:url('{data.HOME_DIR}/.current.wall')" + ) + self.player_name = Label( + style_classes=["player-icon", "mini"], markup=icons.disc + ) + + self.children = [ + self.album_cover, + Box( + name="source", + style_classes="mini", + v_align="end", + children=self.player_name, + ), + Box( + orientation="v", + v_expand=True, + h_expand=True, + style="padding-left:10px;", + v_align="center", + children=[ + CenterBox( + name="details", + center_children=Label( + label="Nothing Playing", style="color:black;" + ), + ) + ], + ), + ] + + class PlayerContainerMini(Box): def __init__(self, **kwargs): super().__init__(name="player-container", style_classes="mini", **kwargs) @@ -297,11 +336,12 @@ class PlayerContainerMini(Box): self.manager = PlayerManager() self.manager.connect("new-player", self.new_player) self.manager.connect("player-vanish", self.on_player_vanish) + self.placeholder = PlacheholderMini() self.stack = Stack( # name="player-container", transition_type="crossfade", transition_duration=100, - children=[], + children=[self.placeholder], ) self.player_stack = Stack( @@ -351,8 +391,10 @@ class PlayerContainerMini(Box): new_player.wiggly_bar.queue_draw() new_player.set_name(player.props.player_name) self.players.append(new_player) - print("stacking dis bitvch") + print("stacking mini", player.props.player_name) self.stack.add_named(new_player, player.props.player_name) + if len(self.players) == 1: + self.stack.remove(self.placeholder) self.player_switch_container.add_center( Button( @@ -381,6 +423,9 @@ class PlayerContainerMini(Box): self.update_player_list() break + if len(self.players) == 0: + self.stack.add_named(self.placeholder, "placeholder") + def update_player_list(self): curr = self.stack.get_visible_child() for btn in self.player_switch_container.center_children: