From e96d334426e35fd84d4bd2efb58cb663be6eb71a Mon Sep 17 00:00:00 2001 From: MoetaYuko Date: Thu, 2 May 2024 13:54:54 +0800 Subject: [PATCH 1/2] musiccontrols: skip updateCover if cover not exists --- .config/ags/modules/indicators/musiccontrols.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/ags/modules/indicators/musiccontrols.js b/.config/ags/modules/indicators/musiccontrols.js index 72e3f2648..d39b49b4c 100644 --- a/.config/ags/modules/indicators/musiccontrols.js +++ b/.config/ags/modules/indicators/musiccontrols.js @@ -180,7 +180,7 @@ const CoverArt = ({ player, ...rest }) => { // const player = Mpris.getPlayer(); // Maybe no need to re-get player.. can't remember why I had this // Player closed // Note that cover path still remains, so we're checking title - if (!player || player.trackTitle == "") { + if (!player || player.trackTitle == "" || !player.coverPath) { self.css = `background-image: none;`; // CSS image App.applyCss(`${COMPILED_STYLE_DIR}/style.css`); return; From 5bded685b2bb76bcda83cec58e5ecb188a19b290 Mon Sep 17 00:00:00 2001 From: MoetaYuko Date: Thu, 2 May 2024 15:23:20 +0800 Subject: [PATCH 2/2] fix `Child name 'us' not found in GtkStack` log spam --- .config/ags/modules/.commonwidgets/statusicons.js | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/.config/ags/modules/.commonwidgets/statusicons.js b/.config/ags/modules/.commonwidgets/statusicons.js index d74cf9979..fbfe7a861 100644 --- a/.config/ags/modules/.commonwidgets/statusicons.js +++ b/.config/ags/modules/.commonwidgets/statusicons.js @@ -204,16 +204,15 @@ export const NetworkIndicator = () => Widget.Stack({ const HyprlandXkbKeyboardLayout = async ({ useFlag } = {}) => { try { const Hyprland = (await import('resource:///com/github/Aylur/ags/service/hyprland.js')).default; - var initLangs = []; var languageStackArray = []; - var currentKeyboard; const updateCurrentKeyboards = () => { - currentKeyboard = JSON.parse(Utils.exec('hyprctl -j devices')).keyboards - .find(device => device.name === 'at-translated-set-2-keyboard'); - if (currentKeyboard) { - initLangs = currentKeyboard.layout.split(',').map(lang => lang.trim()); - } + var initLangs = []; + JSON.parse(Utils.exec('hyprctl -j devices')).keyboards + .forEach(keyboard => { + initLangs.push(...keyboard.layout.split(',').map(lang => lang.trim())); + }); + initLangs = [...new Set(initLangs)]; languageStackArray = Array.from({ length: initLangs.length }, (_, i) => { const lang = languages.find(lang => lang.layout == initLangs[i]); // if (!lang) return [