diff --git a/.config/quickshell/ii/modules/common/Config.qml b/.config/quickshell/ii/modules/common/Config.qml index 476047a6..bcbbd1e3 100644 --- a/.config/quickshell/ii/modules/common/Config.qml +++ b/.config/quickshell/ii/modules/common/Config.qml @@ -235,6 +235,7 @@ Singleton { } property JsonObject sidebar: JsonObject { + property bool keepRightSidebarLoaded: true property JsonObject translator: JsonObject { property int delay: 300 // Delay before sending request. Reduces (potential) rate limits and lag. } diff --git a/.config/quickshell/ii/modules/settings/InterfaceConfig.qml b/.config/quickshell/ii/modules/settings/InterfaceConfig.qml index c2790547..4d86ffff 100644 --- a/.config/quickshell/ii/modules/settings/InterfaceConfig.qml +++ b/.config/quickshell/ii/modules/settings/InterfaceConfig.qml @@ -335,6 +335,20 @@ ContentPage { } } + ContentSection { + title: Translation.tr("Sidebars") + ConfigSwitch { + text: Translation.tr('Keep right sidebar loaded') + checked: Config.options.sidebar.keepRightSidebarLoaded + onCheckedChanged: { + Config.options.sidebar.keepRightSidebarLoaded = checked; + } + StyledToolTip { + content: Translation.tr("When enabled keeps the content of the right sidebar loaded to reduce the delay when opening,\nat the cost of around 15MB of consistent RAM usage. Delay significance depends on your system's performance.\nUsing a different kernel might help with this delay") + } + } + } + ContentSection { title: Translation.tr("On-screen display") ConfigSpinBox { diff --git a/.config/quickshell/ii/modules/sidebarRight/SidebarRight.qml b/.config/quickshell/ii/modules/sidebarRight/SidebarRight.qml index ce0ff77a..3d2c406c 100644 --- a/.config/quickshell/ii/modules/sidebarRight/SidebarRight.qml +++ b/.config/quickshell/ii/modules/sidebarRight/SidebarRight.qml @@ -51,15 +51,10 @@ Scope { Loader { id: sidebarContentLoader - active: GlobalStates.sidebarRightOpen + active: GlobalStates.sidebarRightOpen || Config?.options.sidebar.keepRightSidebarLoaded anchors { - top: parent.top - bottom: parent.bottom - right: parent.right - left: parent.left - topMargin: Appearance.sizes.hyprlandGapsOut - rightMargin: Appearance.sizes.hyprlandGapsOut - bottomMargin: Appearance.sizes.hyprlandGapsOut + fill: parent + margins: Appearance.sizes.hyprlandGapsOut leftMargin: Appearance.sizes.elevationMargin } width: sidebarWidth - Appearance.sizes.hyprlandGapsOut - Appearance.sizes.elevationMargin