From 251a181465fab115c2eed583e3e32fb5dfc0ab19 Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Fri, 19 Jan 2024 21:51:20 +0700 Subject: [PATCH] fix parallax wall anim ws 1-2 --- .config/ags/widgets/bar/music.js | 1 + .config/ags/widgets/desktopbackground/wallpaper.js | 8 ++++++-- .config/ags/widgets/indicators/musiccontrols.js | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.config/ags/widgets/bar/music.js b/.config/ags/widgets/bar/music.js index 54257db6..65e4a195 100644 --- a/.config/ags/widgets/bar/music.js +++ b/.config/ags/widgets/bar/music.js @@ -6,6 +6,7 @@ import { AnimatedCircProg } from "../../lib/animatedcircularprogress.js"; import { showMusicControls } from '../../variables.js'; function trimTrackTitle(title) { + if(!title) return ''; const cleanRegexes = [ /【[^】]*】/, // Touhou n weeb stuff /\[FREE DOWNLOAD\]/, // F-777 diff --git a/.config/ags/widgets/desktopbackground/wallpaper.js b/.config/ags/widgets/desktopbackground/wallpaper.js index 54abdacd..87336ac6 100644 --- a/.config/ags/widgets/desktopbackground/wallpaper.js +++ b/.config/ags/widgets/desktopbackground/wallpaper.js @@ -16,13 +16,17 @@ const MAX_WORKSPACES = 10; const WALLPAPER_OFFSCREEN_X = (WALLPAPER_ZOOM_SCALE - 1) * SCREEN_WIDTH; const WALLPAPER_OFFSCREEN_Y = (WALLPAPER_ZOOM_SCALE - 1) * SCREEN_HEIGHT; +function clamp(x, min, max) { + return Math.min(Math.max(x, min), max); +} + export default (monitor = 0) => { const wallpaperImage = Widget.DrawingArea({ attribute: { pixbuf: undefined, }, css: `transition: 2000ms cubic-bezier(0.05, 0.7, 0.1, 1); font-size: 1px;`, - setup: (self) => { + setup: (self) => { self.set_size_request(SCREEN_WIDTH, SCREEN_HEIGHT); self .hook(Hyprland.active.workspace, (self) => @@ -33,7 +37,7 @@ export default (monitor = 0) => { const styleContext = self.get_style_context(); const workspace = styleContext.get_property('font-size', Gtk.StateFlags.NORMAL); Gdk.cairo_set_source_pixbuf(cr, self.attribute.pixbuf, - -(WALLPAPER_OFFSCREEN_X / (MAX_WORKSPACES - 1) * (workspace - 1)), + -(WALLPAPER_OFFSCREEN_X / (MAX_WORKSPACES - 1) * (clamp(workspace, 1, MAX_WORKSPACES) - 1)), -WALLPAPER_OFFSCREEN_Y / 2); cr.paint(); }) diff --git a/.config/ags/widgets/indicators/musiccontrols.js b/.config/ags/widgets/indicators/musiccontrols.js index 5d5b001c..1ae05ae8 100644 --- a/.config/ags/widgets/indicators/musiccontrols.js +++ b/.config/ags/widgets/indicators/musiccontrols.js @@ -69,6 +69,7 @@ function getTrackfont(player) { return DEFAULT_MUSIC_FONT; } function trimTrackTitle(title) { + if(!title) return ''; const cleanRegexes = [ /【[^】]*】/, // Touhou n weeb stuff /\[FREE DOWNLOAD\]/, // F-777