From 8bf59faf66eb8ae17e632a999289b326dbb7db25 Mon Sep 17 00:00:00 2001 From: Yosuke Nishiyama <141266522+Yunexiz@users.noreply.github.com> Date: Mon, 20 Oct 2025 18:38:45 +0100 Subject: [PATCH] add config option for smartTray --- dots/.config/quickshell/ii/modules/bar/SysTray.qml | 6 ++++-- dots/.config/quickshell/ii/modules/common/Config.qml | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/dots/.config/quickshell/ii/modules/bar/SysTray.qml b/dots/.config/quickshell/ii/modules/bar/SysTray.qml index 8ea7ca4e5..ef6833e38 100644 --- a/dots/.config/quickshell/ii/modules/bar/SysTray.qml +++ b/dots/.config/quickshell/ii/modules/bar/SysTray.qml @@ -17,8 +17,10 @@ Item { property bool showOverflowMenu: true property var activeMenu: null - property list itemsInUserList: SystemTray.items.values.filter(i => (Config.options.bar.tray.pinnedItems.includes(i.id))) - property list itemsNotInUserList: SystemTray.items.values.filter(i => (!Config.options.bar.tray.pinnedItems.includes(i.id))) + property bool smartTray: Config.options.bar.tray.smartTray + property list itemsInUserList: SystemTray.items.values.filter(i => (Config.options.bar.tray.pinnedItems.includes(i.id) && (!smartTray || i.status !== Status.Passive))) + property list itemsNotInUserList: SystemTray.items.values.filter(i => (!Config.options.bar.tray.pinnedItems.includes(i.id) && (!smartTray || i.status !== Status.Passive))) + property bool invertPins: Config.options.bar.tray.invertPinnedItems property list pinnedItems: invertPins ? itemsNotInUserList : itemsInUserList property list unpinnedItems: invertPins ? itemsInUserList : itemsNotInUserList diff --git a/dots/.config/quickshell/ii/modules/common/Config.qml b/dots/.config/quickshell/ii/modules/common/Config.qml index 44b262b96..6e67ebd79 100644 --- a/dots/.config/quickshell/ii/modules/common/Config.qml +++ b/dots/.config/quickshell/ii/modules/common/Config.qml @@ -219,6 +219,7 @@ Singleton { property bool showItemId: false property bool invertPinnedItems: true // Makes the below a whitelist for the tray and blacklist for the pinned area property list pinnedItems: [ ] + property boot smartTray: true // Filter passive tray icons or not } property JsonObject workspaces: JsonObject { property bool monochromeIcons: true