From 6f5781564c6c647286a96f23476885a8b344a69e Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Thu, 17 Jul 2025 19:56:39 +0700 Subject: [PATCH 1/6] hyprlock: bolder clock --- .config/matugen/templates/hyprland/hyprlock.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/matugen/templates/hyprland/hyprlock.conf b/.config/matugen/templates/hyprland/hyprlock.conf index d557f7069..d9b69cf17 100644 --- a/.config/matugen/templates/hyprland/hyprlock.conf +++ b/.config/matugen/templates/hyprland/hyprlock.conf @@ -3,7 +3,7 @@ $entry_background_color = rgba({{colors.on_primary_fixed.default.hex_stripped}}1 $entry_border_color = rgba({{colors.outline.default.hex_stripped}}55) $entry_color = rgba({{colors.primary_fixed.default.hex_stripped}}FF) $font_family = Rubik -$font_family_clock = Space Grotesk +$font_family_clock = Space Grotesk DemiBold $font_material_symbols = Material Symbols Rounded background { From 6d9e4ad2fa092f7ef0956164423dd2e84ffefadd Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Thu, 17 Jul 2025 20:23:03 +0700 Subject: [PATCH 2/6] more quickshell.execdetached instead of hyprland dispatch trick --- .config/quickshell/ii/modules/bar/UtilButtons.qml | 6 +++--- .config/quickshell/ii/modules/session/Session.qml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.config/quickshell/ii/modules/bar/UtilButtons.qml b/.config/quickshell/ii/modules/bar/UtilButtons.qml index 706ba6f6b..2db3e96df 100644 --- a/.config/quickshell/ii/modules/bar/UtilButtons.qml +++ b/.config/quickshell/ii/modules/bar/UtilButtons.qml @@ -24,7 +24,7 @@ Item { visible: Config.options.bar.utilButtons.showScreenSnip sourceComponent: CircleUtilButton { Layout.alignment: Qt.AlignVCenter - onClicked: Hyprland.dispatch("exec hyprshot --freeze --clipboard-only --mode region --silent") + onClicked: Quickshell.execDetached(["qs", "-p", Quickshell.configPath("screenshot.qml")]) MaterialSymbol { horizontalAlignment: Qt.AlignHCenter fill: 1 @@ -40,7 +40,7 @@ Item { visible: Config.options.bar.utilButtons.showColorPicker sourceComponent: CircleUtilButton { Layout.alignment: Qt.AlignVCenter - onClicked: Hyprland.dispatch("exec hyprpicker -a") + onClicked: Quickshell.execDetached(["hyprpicker", "-a"]) MaterialSymbol { horizontalAlignment: Qt.AlignHCenter fill: 1 @@ -72,7 +72,7 @@ Item { visible: Config.options.bar.utilButtons.showMicToggle sourceComponent: CircleUtilButton { Layout.alignment: Qt.AlignVCenter - onClicked: Hyprland.dispatch("exec wpctl set-mute @DEFAULT_SOURCE@ toggle") + onClicked: Quickshell.execDetached(["wpctl", "set-mute", "@DEFAULT_SOURCE@", "toggle"]) MaterialSymbol { horizontalAlignment: Qt.AlignHCenter fill: 0 diff --git a/.config/quickshell/ii/modules/session/Session.qml b/.config/quickshell/ii/modules/session/Session.qml index b6f030f9a..8b98e7f93 100644 --- a/.config/quickshell/ii/modules/session/Session.qml +++ b/.config/quickshell/ii/modules/session/Session.qml @@ -93,7 +93,7 @@ Scope { focus: sessionRoot.visible buttonIcon: "lock" buttonText: Translation.tr("Lock") - onClicked: { Hyprland.dispatch("exec loginctl lock-session"); sessionRoot.hide() } + onClicked: { Quickshell.execDetached(["loginctl", "lock-session"]); sessionRoot.hide() } onFocusChanged: { if (focus) sessionRoot.subtitle = buttonText } KeyNavigation.right: sessionSleep KeyNavigation.down: sessionHibernate @@ -102,7 +102,7 @@ Scope { id: sessionSleep buttonIcon: "dark_mode" buttonText: Translation.tr("Sleep") - onClicked: { Hyprland.dispatch("exec systemctl suspend || loginctl suspend"); sessionRoot.hide() } + onClicked: { Quickshell.execDetached(["bash", "-c", "systemctl suspend || loginctl suspend"]); sessionRoot.hide() } onFocusChanged: { if (focus) sessionRoot.subtitle = buttonText } KeyNavigation.left: sessionLock KeyNavigation.right: sessionLogout @@ -112,7 +112,7 @@ Scope { id: sessionLogout buttonIcon: "logout" buttonText: Translation.tr("Logout") - onClicked: { Hyprland.dispatch("exec pkill Hyprland"); sessionRoot.hide() } + onClicked: { Quickshell.execDetached(["pkill", "Hyprland"]); sessionRoot.hide() } onFocusChanged: { if (focus) sessionRoot.subtitle = buttonText } KeyNavigation.left: sessionSleep KeyNavigation.right: sessionTaskManager From fb6721e3482d838532414dcd161f5ab2ee5e0a98 Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Thu, 17 Jul 2025 20:23:43 +0700 Subject: [PATCH 3/6] sidebar: ai chat: think block: fix undefined easing type --- .../sidebarLeft/aiChat/MessageThinkBlock.qml | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/.config/quickshell/ii/modules/sidebarLeft/aiChat/MessageThinkBlock.qml b/.config/quickshell/ii/modules/sidebarLeft/aiChat/MessageThinkBlock.qml index c05d33cfd..9d0555925 100644 --- a/.config/quickshell/ii/modules/sidebarLeft/aiChat/MessageThinkBlock.qml +++ b/.config/quickshell/ii/modules/sidebarLeft/aiChat/MessageThinkBlock.qml @@ -1,19 +1,12 @@ pragma ComponentBehavior: Bound -import "root:/" -import "root:/services" -import "root:/modules/common/" -import "root:/modules/common/widgets" -import "../" -import "root:/modules/common/functions/string_utils.js" as StringUtils -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import QtQuick -import QtQuick.Controls import QtQuick.Layouts -import Quickshell.Io -import Quickshell -import Quickshell.Widgets -import Quickshell.Hyprland import Qt5Compat.GraphicalEffects Item { @@ -147,7 +140,7 @@ Item { enabled: root.completed ?? false NumberAnimation { duration: collapseAnimation.duration - easing.type: collapseAnimation.easing + easing.type: collapseAnimation.type easing.bezierCurve: collapseAnimation.bezierCurve } } From 254870c9ab7c928ae33bb465ca7ca8b2d67333da Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Thu, 17 Jul 2025 20:24:01 +0700 Subject: [PATCH 4/6] quickshell: use qs imports instead of root:/ --- .config/quickshell/ii/GlobalStates.qml | 4 +- .config/quickshell/ii/Translation.qml | 2 +- .../ii/modules/background/Background.qml | 19 +- .../ii/modules/bar/ActiveWindow.qml | 8 +- .config/quickshell/ii/modules/bar/Bar.qml | 12 +- .../quickshell/ii/modules/bar/BarGroup.qml | 6 +- .../ii/modules/bar/BatteryIndicator.qml | 9 +- .../ii/modules/bar/CircleUtilButton.qml | 9 +- .../quickshell/ii/modules/bar/ClockWidget.qml | 6 +- .config/quickshell/ii/modules/bar/Media.qml | 13 +- .../quickshell/ii/modules/bar/Resource.qml | 6 +- .../quickshell/ii/modules/bar/Resources.qml | 9 +- .../quickshell/ii/modules/bar/ScrollHint.qml | 7 +- .config/quickshell/ii/modules/bar/SysTray.qml | 7 +- .../quickshell/ii/modules/bar/SysTrayItem.qml | 4 +- .../quickshell/ii/modules/bar/UtilButtons.qml | 5 +- .../quickshell/ii/modules/bar/Workspaces.qml | 11 +- .../ii/modules/bar/weather/WeatherBar.qml | 6 +- .../ii/modules/bar/weather/WeatherCard.qml | 4 +- .../ii/modules/bar/weather/WeatherPopup.qml | 6 +- .../ii/modules/cheatsheet/Cheatsheet.qml | 11 +- .../modules/cheatsheet/CheatsheetKeybinds.qml | 15 +- .../cheatsheet/CheatsheetPeriodicTable.qml | 15 +- .../ii/modules/cheatsheet/ElementTile.qml | 8 +- .../ii/modules/common/Appearance.qml | 2 +- .../ii/modules/common/Directories.qml | 3 +- .../modules/common/functions/ColorUtils.qml | 114 +++++++++ .../ii/modules/common/functions/FileUtils.qml | 41 ++++ .../modules/common/functions/ObjectUtils.qml | 98 ++++++++ .../modules/common/functions/StringUtils.qml | 221 ++++++++++++++++++ .../modules/common/functions/color_utils.js | 109 --------- .../ii/modules/common/functions/file_utils.js | 34 --- .../modules/common/functions/object_utils.js | 91 -------- .../modules/common/functions/string_utils.js | 188 --------------- .../ii/modules/common/widgets/ButtonGroup.qml | 6 +- .../common/widgets/CircularProgress.qml | 2 +- .../modules/common/widgets/CliphistImage.qml | 14 +- .../common/widgets/ConfigSelectionArray.qml | 13 +- .../modules/common/widgets/ConfigSpinBox.qml | 5 +- .../modules/common/widgets/ConfigSwitch.qml | 4 +- .../ii/modules/common/widgets/ContentPage.qml | 5 +- .../modules/common/widgets/ContentSection.qml | 4 +- .../common/widgets/ContentSubsection.qml | 5 +- .../common/widgets/ContentSubsectionLabel.qml | 4 +- .../ii/modules/common/widgets/CustomIcon.qml | 7 +- .../modules/common/widgets/DialogButton.qml | 7 +- .../ii/modules/common/widgets/DragManager.qml | 6 +- .../ii/modules/common/widgets/Favicon.qml | 13 +- .../common/widgets/FloatingActionButton.qml | 5 +- .../ii/modules/common/widgets/GroupButton.qml | 9 +- .../ii/modules/common/widgets/KeyboardKey.qml | 6 +- .../widgets/LightDarkPreferenceButton.qml | 11 +- .../modules/common/widgets/MaterialSymbol.qml | 3 +- .../common/widgets/MaterialTextField.qml | 3 +- .../ii/modules/common/widgets/MenuButton.qml | 7 +- .../modules/common/widgets/NavigationRail.qml | 5 +- .../common/widgets/NavigationRailButton.qml | 7 +- .../widgets/NavigationRailExpandButton.qml | 5 +- .../common/widgets/NavigationRailTabArray.qml | 7 +- .../widgets/NotificationActionButton.qml | 7 +- .../common/widgets/NotificationAppIcon.qml | 4 +- .../common/widgets/NotificationGroup.qml | 14 +- .../widgets/NotificationGroupExpandButton.qml | 10 +- .../common/widgets/NotificationItem.qml | 14 +- .../common/widgets/NotificationListView.qml | 12 +- .../modules/common/widgets/PrimaryTabBar.qml | 5 +- .../common/widgets/PrimaryTabButton.qml | 8 +- .../ii/modules/common/widgets/Revealer.qml | 3 +- .../modules/common/widgets/RippleButton.qml | 9 +- .../common/widgets/RippleButtonWithIcon.qml | 5 +- .../common/widgets/SecondaryTabButton.qml | 8 +- .../common/widgets/SelectionDialog.qml | 10 +- .../common/widgets/SelectionGroupButton.qml | 6 +- .../ii/modules/common/widgets/StyledLabel.qml | 3 +- .../modules/common/widgets/StyledListView.qml | 13 +- .../common/widgets/StyledProgressBar.qml | 6 +- .../common/widgets/StyledRadioButton.qml | 6 +- .../widgets/StyledRectangularShadow.qml | 2 +- .../modules/common/widgets/StyledSlider.qml | 6 +- .../modules/common/widgets/StyledSpinBox.qml | 4 +- .../modules/common/widgets/StyledSwitch.qml | 2 +- .../ii/modules/common/widgets/StyledText.qml | 2 +- .../modules/common/widgets/StyledTextArea.qml | 2 +- .../common/widgets/StyledTextInput.qml | 2 +- .../modules/common/widgets/StyledToolTip.qml | 4 +- .../common/widgets/VerticalButtonGroup.qml | 6 +- .../modules/common/widgets/WaveVisualizer.qml | 11 +- .config/quickshell/ii/modules/dock/Dock.qml | 8 +- .../ii/modules/dock/DockAppButton.qml | 14 +- .../quickshell/ii/modules/dock/DockApps.qml | 13 +- .../quickshell/ii/modules/dock/DockButton.qml | 6 +- .../ii/modules/dock/DockSeparator.qml | 4 +- .../modules/mediaControls/MediaControls.qml | 14 +- .../modules/mediaControls/PlayerControl.qml | 14 +- .../notificationPopup/NotificationPopup.qml | 8 +- .../OnScreenDisplayBrightness.qml | 8 +- .../onScreenDisplay/OnScreenDisplayVolume.qml | 8 +- .../onScreenDisplay/OsdValueIndicator.qml | 6 +- .../onScreenKeyboard/OnScreenKeyboard.qml | 11 +- .../modules/onScreenKeyboard/OskContent.qml | 8 +- .../ii/modules/onScreenKeyboard/OskKey.qml | 12 +- .../ii/modules/overview/Overview.qml | 8 +- .../ii/modules/overview/OverviewWidget.qml | 13 +- .../ii/modules/overview/OverviewWindow.qml | 14 +- .../ii/modules/overview/SearchItem.qml | 12 +- .../ii/modules/overview/SearchWidget.qml | 10 +- .../modules/screenCorners/ScreenCorners.qml | 4 +- .../quickshell/ii/modules/session/Session.qml | 11 +- .../modules/session/SessionActionButton.qml | 8 +- .../quickshell/ii/modules/settings/About.qml | 10 +- .../ii/modules/settings/AdvancedConfig.qml | 10 +- .../ii/modules/settings/InterfaceConfig.qml | 9 +- .../ii/modules/settings/ServicesConfig.qml | 9 +- .../ii/modules/settings/StyleConfig.qml | 13 +- .../ii/modules/sidebarLeft/AiChat.qml | 13 +- .../ii/modules/sidebarLeft/Anime.qml | 11 +- .../modules/sidebarLeft/ApiCommandButton.qml | 9 +- .../ii/modules/sidebarLeft/DescriptionBox.qml | 8 +- .../ii/modules/sidebarLeft/SidebarLeft.qml | 13 +- .../sidebarLeft/SidebarLeftContent.qml | 16 +- .../ii/modules/sidebarLeft/Translator.qml | 12 +- .../modules/sidebarLeft/aiChat/AiMessage.qml | 16 +- .../aiChat/AiMessageControlButton.qml | 10 +- .../aiChat/AnnotationSourceButton.qml | 13 +- .../sidebarLeft/aiChat/MessageCodeBlock.qml | 16 +- .../sidebarLeft/aiChat/MessageTextBlock.qml | 15 +- .../modules/sidebarLeft/anime/BooruImage.qml | 11 +- .../sidebarLeft/anime/BooruResponse.qml | 15 +- .../translator/LanguageSelectorButton.qml | 14 +- .../sidebarLeft/translator/TextCanvas.qml | 13 +- .../sidebarRight/BottomWidgetGroup.qml | 10 +- .../sidebarRight/CenterWidgetGroup.qml | 11 +- .../ii/modules/sidebarRight/SidebarRight.qml | 13 +- .../calendar/CalendarDayButton.qml | 6 +- .../calendar/CalendarHeaderButton.qml | 6 +- .../sidebarRight/calendar/CalendarWidget.qml | 6 +- .../notifications/NotificationList.qml | 10 +- .../NotificationStatusButton.qml | 5 +- .../quickToggles/BluetoothToggle.qml | 11 +- .../quickToggles/CloudflareWarp.qml | 7 +- .../sidebarRight/quickToggles/GameMode.qml | 8 +- .../quickToggles/IdleInhibitor.qml | 8 +- .../quickToggles/NetworkToggle.qml | 10 +- .../sidebarRight/quickToggles/NightLight.qml | 8 +- .../quickToggles/QuickToggleButton.qml | 8 +- .../ii/modules/sidebarRight/todo/TaskList.qml | 6 +- .../todo/TodoItemActionButton.qml | 7 +- .../modules/sidebarRight/todo/TodoWidget.qml | 10 +- .../volumeMixer/AudioDeviceSelectorButton.qml | 11 +- .../sidebarRight/volumeMixer/VolumeMixer.qml | 9 +- .../volumeMixer/VolumeMixerEntry.qml | 9 +- .config/quickshell/ii/screenshot.qml | 8 +- .config/quickshell/ii/services/Ai.qml | 20 +- .../quickshell/ii/services/AiMessageData.qml | 2 +- .config/quickshell/ii/services/AppSearch.qml | 3 +- .config/quickshell/ii/services/Audio.qml | 2 +- .config/quickshell/ii/services/Battery.qml | 5 +- .config/quickshell/ii/services/Booru.qml | 6 +- .../ii/services/BooruResponseData.qml | 2 +- .config/quickshell/ii/services/Brightness.qml | 2 +- .config/quickshell/ii/services/Cliphist.qml | 4 +- .config/quickshell/ii/services/DateTime.qml | 2 +- .config/quickshell/ii/services/Emojis.qml | 2 +- .../ii/services/FirstRunExperience.qml | 5 +- .../quickshell/ii/services/HyprlandData.qml | 1 - .../ii/services/HyprlandKeybinds.qml | 5 +- .../quickshell/ii/services/KeyringStorage.qml | 7 +- .../quickshell/ii/services/LatexRenderer.qml | 8 +- .../ii/services/MaterialThemeLoader.qml | 2 +- .../ii/services/MprisController.qml | 2 +- .../quickshell/ii/services/Notifications.qml | 4 +- .../quickshell/ii/services/ResourceUsage.qml | 2 +- .config/quickshell/ii/services/Todo.qml | 3 +- .config/quickshell/ii/services/Weather.qml | 2 +- .config/quickshell/ii/services/Ydotool.qml | 10 +- .config/quickshell/ii/settings.qml | 17 +- .config/quickshell/ii/welcome.qml | 10 +- 177 files changed, 983 insertions(+), 1252 deletions(-) create mode 100644 .config/quickshell/ii/modules/common/functions/ColorUtils.qml create mode 100644 .config/quickshell/ii/modules/common/functions/FileUtils.qml create mode 100644 .config/quickshell/ii/modules/common/functions/ObjectUtils.qml create mode 100644 .config/quickshell/ii/modules/common/functions/StringUtils.qml delete mode 100644 .config/quickshell/ii/modules/common/functions/color_utils.js delete mode 100644 .config/quickshell/ii/modules/common/functions/file_utils.js delete mode 100644 .config/quickshell/ii/modules/common/functions/object_utils.js delete mode 100644 .config/quickshell/ii/modules/common/functions/string_utils.js diff --git a/.config/quickshell/ii/GlobalStates.qml b/.config/quickshell/ii/GlobalStates.qml index d114d9a50..55f71fd63 100644 --- a/.config/quickshell/ii/GlobalStates.qml +++ b/.config/quickshell/ii/GlobalStates.qml @@ -1,5 +1,5 @@ -import "root:/modules/common/" -import "root:/" +import qs.modules.common +import qs import QtQuick import Quickshell import Quickshell.Hyprland diff --git a/.config/quickshell/ii/Translation.qml b/.config/quickshell/ii/Translation.qml index 74a3e6ba8..3cfdce116 100644 --- a/.config/quickshell/ii/Translation.qml +++ b/.config/quickshell/ii/Translation.qml @@ -3,7 +3,7 @@ pragma Singleton import QtQuick import Quickshell import Quickshell.Io -import "root:/modules/common/" +import qs.modules.common Singleton { id: root diff --git a/.config/quickshell/ii/modules/background/Background.qml b/.config/quickshell/ii/modules/background/Background.qml index 8c41e926d..cf01078c9 100644 --- a/.config/quickshell/ii/modules/background/Background.qml +++ b/.config/quickshell/ii/modules/background/Background.qml @@ -1,12 +1,11 @@ pragma ComponentBehavior: Bound -import "root:/" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions as CF import QtQuick -import QtQuick.Controls import QtQuick.Layouts import Quickshell import Quickshell.Io @@ -48,7 +47,7 @@ Scope { // Colors property color dominantColor: Appearance.colors.colPrimary property bool dominantColorIsDark: dominantColor.hslLightness < 0.5 - property color colText: ColorUtils.colorWithLightness(Appearance.colors.colPrimary, (dominantColorIsDark ? 0.8 : 0.12)) + property color colText: CF.ColorUtils.colorWithLightness(Appearance.colors.colPrimary, (dominantColorIsDark ? 0.8 : 0.12)) // Layer props screen: modelData @@ -194,8 +193,8 @@ Scope { horizontalAlignment: bgRoot.textHorizontalAlignment font { family: Appearance.font.family.expressive - pixelSize: 85 - weight: Font.Medium + pixelSize: 90 + weight: Font.Bold } color: bgRoot.colText style: Text.Raised @@ -208,7 +207,7 @@ Scope { font { family: Appearance.font.family.expressive pixelSize: 20 - weight: Font.Medium + weight: Font.DemiBold } color: bgRoot.colText style: Text.Raised diff --git a/.config/quickshell/ii/modules/bar/ActiveWindow.qml b/.config/quickshell/ii/modules/bar/ActiveWindow.qml index 9187848e6..a4105dd4b 100644 --- a/.config/quickshell/ii/modules/bar/ActiveWindow.qml +++ b/.config/quickshell/ii/modules/bar/ActiveWindow.qml @@ -1,7 +1,7 @@ -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/" +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs import QtQuick import QtQuick.Layouts import Quickshell.Wayland diff --git a/.config/quickshell/ii/modules/bar/Bar.qml b/.config/quickshell/ii/modules/bar/Bar.qml index 4824bea8c..45c62be94 100644 --- a/.config/quickshell/ii/modules/bar/Bar.qml +++ b/.config/quickshell/ii/modules/bar/Bar.qml @@ -1,18 +1,16 @@ -import "root:/" -import "root:/services" -import "root:/modules/common/" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/color_utils.js" as ColorUtils import "./weather" import QtQuick -import QtQuick.Controls import QtQuick.Layouts -import Qt5Compat.GraphicalEffects import Quickshell import Quickshell.Io import Quickshell.Wayland import Quickshell.Hyprland import Quickshell.Services.UPower +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions Scope { id: bar diff --git a/.config/quickshell/ii/modules/bar/BarGroup.qml b/.config/quickshell/ii/modules/bar/BarGroup.qml index f6d4c7248..04e64eb70 100644 --- a/.config/quickshell/ii/modules/bar/BarGroup.qml +++ b/.config/quickshell/ii/modules/bar/BarGroup.qml @@ -1,6 +1,6 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" +import qs.modules.common +import qs.modules.common.widgets +import qs.services import QtQuick import QtQuick.Layouts diff --git a/.config/quickshell/ii/modules/bar/BatteryIndicator.qml b/.config/quickshell/ii/modules/bar/BatteryIndicator.qml index f58d08676..0f0a86a0c 100644 --- a/.config/quickshell/ii/modules/bar/BatteryIndicator.qml +++ b/.config/quickshell/ii/modules/bar/BatteryIndicator.qml @@ -1,11 +1,8 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" +import qs.modules.common +import qs.modules.common.widgets +import qs.services import QtQuick import QtQuick.Layouts -import Quickshell -import Quickshell.Io -import Quickshell.Services.UPower Item { id: root diff --git a/.config/quickshell/ii/modules/bar/CircleUtilButton.qml b/.config/quickshell/ii/modules/bar/CircleUtilButton.qml index 3027c130c..bd80a6c42 100644 --- a/.config/quickshell/ii/modules/bar/CircleUtilButton.qml +++ b/.config/quickshell/ii/modules/bar/CircleUtilButton.qml @@ -1,11 +1,6 @@ -import "root:/modules/common" -import "root:/modules/common/widgets/" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs.modules.common +import qs.modules.common.widgets import QtQuick -import QtQuick.Controls -import QtQuick.Layouts -import Quickshell -import Quickshell.Io RippleButton { id: button diff --git a/.config/quickshell/ii/modules/bar/ClockWidget.qml b/.config/quickshell/ii/modules/bar/ClockWidget.qml index 925faac73..9f45aa0af 100644 --- a/.config/quickshell/ii/modules/bar/ClockWidget.qml +++ b/.config/quickshell/ii/modules/bar/ClockWidget.qml @@ -1,6 +1,6 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" +import qs.modules.common +import qs.modules.common.widgets +import qs.services import QtQuick import QtQuick.Layouts diff --git a/.config/quickshell/ii/modules/bar/Media.qml b/.config/quickshell/ii/modules/bar/Media.qml index 9d5486230..0d5731e12 100644 --- a/.config/quickshell/ii/modules/bar/Media.qml +++ b/.config/quickshell/ii/modules/bar/Media.qml @@ -1,12 +1,11 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" -import "root:/" -import "root:/modules/common/functions/string_utils.js" as StringUtils +import qs.modules.common +import qs.modules.common.widgets +import qs.services +import qs +import qs.modules.common.functions + import QtQuick import QtQuick.Layouts -import Quickshell -import Quickshell.Io import Quickshell.Services.Mpris import Quickshell.Hyprland diff --git a/.config/quickshell/ii/modules/bar/Resource.qml b/.config/quickshell/ii/modules/bar/Resource.qml index fed7a153c..734329af6 100644 --- a/.config/quickshell/ii/modules/bar/Resource.qml +++ b/.config/quickshell/ii/modules/bar/Resource.qml @@ -1,9 +1,7 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" +import qs.modules.common +import qs.modules.common.widgets import QtQuick import QtQuick.Layouts -import Quickshell -import Quickshell.Io Item { required property string iconName diff --git a/.config/quickshell/ii/modules/bar/Resources.qml b/.config/quickshell/ii/modules/bar/Resources.qml index e0c0d51e4..f57372a18 100644 --- a/.config/quickshell/ii/modules/bar/Resources.qml +++ b/.config/quickshell/ii/modules/bar/Resources.qml @@ -1,11 +1,8 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" +import qs.modules.common +import qs.modules.common.widgets +import qs.services import QtQuick import QtQuick.Layouts -import Quickshell -import Quickshell.Io -import Quickshell.Services.Mpris Item { id: root diff --git a/.config/quickshell/ii/modules/bar/ScrollHint.qml b/.config/quickshell/ii/modules/bar/ScrollHint.qml index f5f47c748..a8e1c8dfe 100644 --- a/.config/quickshell/ii/modules/bar/ScrollHint.qml +++ b/.config/quickshell/ii/modules/bar/ScrollHint.qml @@ -1,8 +1,7 @@ -import "root:/" -import "root:/modules/common" -import "root:/modules/common/widgets" +import qs +import qs.modules.common +import qs.modules.common.widgets import QtQuick -import QtQuick.Controls import QtQuick.Layouts Revealer { // Scroll hint diff --git a/.config/quickshell/ii/modules/bar/SysTray.qml b/.config/quickshell/ii/modules/bar/SysTray.qml index 4f76ddfa8..34919a3ce 100644 --- a/.config/quickshell/ii/modules/bar/SysTray.qml +++ b/.config/quickshell/ii/modules/bar/SysTray.qml @@ -1,11 +1,8 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" +import qs.modules.common +import qs.modules.common.widgets import QtQuick import QtQuick.Layouts -import Quickshell.Hyprland import Quickshell.Services.SystemTray -import Quickshell.Wayland -import Quickshell.Widgets // TODO: More fancy animation Item { diff --git a/.config/quickshell/ii/modules/bar/SysTrayItem.qml b/.config/quickshell/ii/modules/bar/SysTrayItem.qml index 55dd867c7..a3d70cecd 100644 --- a/.config/quickshell/ii/modules/bar/SysTrayItem.qml +++ b/.config/quickshell/ii/modules/bar/SysTrayItem.qml @@ -1,5 +1,5 @@ -import "root:/modules/common/" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs.modules.common +import qs.modules.common.functions import QtQuick import QtQuick.Layouts import Quickshell diff --git a/.config/quickshell/ii/modules/bar/UtilButtons.qml b/.config/quickshell/ii/modules/bar/UtilButtons.qml index 2db3e96df..fe5b534c8 100644 --- a/.config/quickshell/ii/modules/bar/UtilButtons.qml +++ b/.config/quickshell/ii/modules/bar/UtilButtons.qml @@ -1,9 +1,8 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" +import qs.modules.common +import qs.modules.common.widgets import QtQuick import QtQuick.Layouts import Quickshell -import Quickshell.Io import Quickshell.Hyprland import Quickshell.Services.Pipewire diff --git a/.config/quickshell/ii/modules/bar/Workspaces.qml b/.config/quickshell/ii/modules/bar/Workspaces.qml index f4d7c73d0..8758fe52a 100644 --- a/.config/quickshell/ii/modules/bar/Workspaces.qml +++ b/.config/quickshell/ii/modules/bar/Workspaces.qml @@ -1,15 +1,14 @@ -import "root:/" -import "root:/services/" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import QtQuick import QtQuick.Controls import QtQuick.Layouts import Quickshell import Quickshell.Wayland import Quickshell.Hyprland -import Quickshell.Io import Quickshell.Widgets import Qt5Compat.GraphicalEffects diff --git a/.config/quickshell/ii/modules/bar/weather/WeatherBar.qml b/.config/quickshell/ii/modules/bar/weather/WeatherBar.qml index a77a2a43f..363d9ba53 100644 --- a/.config/quickshell/ii/modules/bar/weather/WeatherBar.qml +++ b/.config/quickshell/ii/modules/bar/weather/WeatherBar.qml @@ -1,7 +1,7 @@ pragma ComponentBehavior: Bound -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" +import qs.modules.common +import qs.modules.common.widgets +import qs.services import Quickshell import QtQuick import QtQuick.Layouts diff --git a/.config/quickshell/ii/modules/bar/weather/WeatherCard.qml b/.config/quickshell/ii/modules/bar/weather/WeatherCard.qml index 7b81fe543..a85ed8ca3 100644 --- a/.config/quickshell/ii/modules/bar/weather/WeatherCard.qml +++ b/.config/quickshell/ii/modules/bar/weather/WeatherCard.qml @@ -1,8 +1,8 @@ import QtQuick import QtQuick.Layouts -import "root:/modules/common" -import "root:/modules/common/widgets" +import qs.modules.common +import qs.modules.common.widgets Rectangle { id: root diff --git a/.config/quickshell/ii/modules/bar/weather/WeatherPopup.qml b/.config/quickshell/ii/modules/bar/weather/WeatherPopup.qml index b39fffd37..23ebcf833 100644 --- a/.config/quickshell/ii/modules/bar/weather/WeatherPopup.qml +++ b/.config/quickshell/ii/modules/bar/weather/WeatherPopup.qml @@ -1,6 +1,6 @@ -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" +import qs.services +import qs.modules.common +import qs.modules.common.widgets import QtQuick import QtQuick.Layouts diff --git a/.config/quickshell/ii/modules/cheatsheet/Cheatsheet.qml b/.config/quickshell/ii/modules/cheatsheet/Cheatsheet.qml index 5b956841f..9eef904c4 100644 --- a/.config/quickshell/ii/modules/cheatsheet/Cheatsheet.qml +++ b/.config/quickshell/ii/modules/cheatsheet/Cheatsheet.qml @@ -1,16 +1,13 @@ -import "root:/" -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets import QtQuick import QtQuick.Controls -import QtQuick.Effects import QtQuick.Layouts import Qt5Compat.GraphicalEffects import Quickshell.Io import Quickshell -import Quickshell.Widgets import Quickshell.Wayland import Quickshell.Hyprland diff --git a/.config/quickshell/ii/modules/cheatsheet/CheatsheetKeybinds.qml b/.config/quickshell/ii/modules/cheatsheet/CheatsheetKeybinds.qml index 03b031153..e0e8ce6cd 100644 --- a/.config/quickshell/ii/modules/cheatsheet/CheatsheetKeybinds.qml +++ b/.config/quickshell/ii/modules/cheatsheet/CheatsheetKeybinds.qml @@ -1,15 +1,10 @@ -import "root:/" -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/file_utils.js" as FileUtils +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import QtQuick -import QtQuick.Controls import QtQuick.Layouts -import Quickshell -import Quickshell.Io -import Quickshell.Widgets -import Quickshell.Hyprland Item { id: root diff --git a/.config/quickshell/ii/modules/cheatsheet/CheatsheetPeriodicTable.qml b/.config/quickshell/ii/modules/cheatsheet/CheatsheetPeriodicTable.qml index 774c522e3..a0a8ecf3f 100644 --- a/.config/quickshell/ii/modules/cheatsheet/CheatsheetPeriodicTable.qml +++ b/.config/quickshell/ii/modules/cheatsheet/CheatsheetPeriodicTable.qml @@ -1,16 +1,11 @@ -import "root:/" -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/file_utils.js" as FileUtils +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import "periodic_table.js" as PTable import QtQuick -import QtQuick.Controls import QtQuick.Layouts -import Quickshell -import Quickshell.Io -import Quickshell.Widgets -import Quickshell.Hyprland Item { id: root diff --git a/.config/quickshell/ii/modules/cheatsheet/ElementTile.qml b/.config/quickshell/ii/modules/cheatsheet/ElementTile.qml index baeb72ad6..70e7b4d69 100644 --- a/.config/quickshell/ii/modules/cheatsheet/ElementTile.qml +++ b/.config/quickshell/ii/modules/cheatsheet/ElementTile.qml @@ -1,10 +1,6 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" +import qs.modules.common +import qs.modules.common.widgets import QtQuick -import QtQuick.Controls -import QtQuick.Layouts -import Quickshell -import Quickshell.Io RippleButton { id: root diff --git a/.config/quickshell/ii/modules/common/Appearance.qml b/.config/quickshell/ii/modules/common/Appearance.qml index 7cc555ec8..72cc78e32 100644 --- a/.config/quickshell/ii/modules/common/Appearance.qml +++ b/.config/quickshell/ii/modules/common/Appearance.qml @@ -1,6 +1,6 @@ import QtQuick import Quickshell -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs.modules.common.functions pragma Singleton pragma ComponentBehavior: Bound diff --git a/.config/quickshell/ii/modules/common/Directories.qml b/.config/quickshell/ii/modules/common/Directories.qml index 38cfd73d7..629d00c27 100644 --- a/.config/quickshell/ii/modules/common/Directories.qml +++ b/.config/quickshell/ii/modules/common/Directories.qml @@ -1,11 +1,10 @@ pragma Singleton pragma ComponentBehavior: Bound -import "root:/modules/common/functions/file_utils.js" as FileUtils +import qs.modules.common.functions import Qt.labs.platform import QtQuick import Quickshell -import Quickshell.Hyprland Singleton { // XDG Dirs, with "file://" diff --git a/.config/quickshell/ii/modules/common/functions/ColorUtils.qml b/.config/quickshell/ii/modules/common/functions/ColorUtils.qml new file mode 100644 index 000000000..27d48187a --- /dev/null +++ b/.config/quickshell/ii/modules/common/functions/ColorUtils.qml @@ -0,0 +1,114 @@ +pragma Singleton +import Quickshell + +Singleton { + id: root + + /** + * Returns a color with the hue of color2 and the saturation, value, and alpha of color1. + * + * @param {string} color1 - The base color (any Qt.color-compatible string). + * @param {string} color2 - The color to take hue from. + * @returns {Qt.rgba} The resulting color. + */ + function colorWithHueOf(color1, color2) { + var c1 = Qt.color(color1); + var c2 = Qt.color(color2); + + // Qt.color hsvHue/hsvSaturation/hsvValue/alpha return 0-1 + var hue = c2.hsvHue; + var sat = c1.hsvSaturation; + var val = c1.hsvValue; + var alpha = c1.a; + + return Qt.hsva(hue, sat, val, alpha); + } + + /** + * Returns a color with the saturation of color2 and the hue/value/alpha of color1. + * + * @param {string} color1 - The base color (any Qt.color-compatible string). + * @param {string} color2 - The color to take saturation from. + * @returns {Qt.rgba} The resulting color. + */ + function colorWithSaturationOf(color1, color2) { + var c1 = Qt.color(color1); + var c2 = Qt.color(color2); + + var hue = c1.hsvHue; + var sat = c2.hsvSaturation; + var val = c1.hsvValue; + var alpha = c1.a; + + return Qt.hsva(hue, sat, val, alpha); + } + + /** + * Returns a color with the given lightness and the hue, saturation, and alpha of the input color (using HSL). + * + * @param {string} color - The base color (any Qt.color-compatible string). + * @param {number} lightness - The lightness value to use (0-1). + * @returns {Qt.rgba} The resulting color. + */ + function colorWithLightness(color, lightness) { + var c = Qt.color(color); + return Qt.hsla(c.hslHue, c.hslSaturation, lightness, c.a); + } + + /** + * Returns a color with the lightness of color2 and the hue, saturation, and alpha of color1 (using HSL). + * + * @param {string} color1 - The base color (any Qt.color-compatible string). + * @param {string} color2 - The color to take lightness from. + * @returns {Qt.rgba} The resulting color. + */ + function colorWithLightnessOf(color1, color2) { + var c2 = Qt.color(color2); + return colorWithLightness(color1, c2.hslLightness); + } + + /** + * Adapts color1 to the accent (hue and saturation) of color2 using HSL, keeping lightness and alpha from color1. + * + * @param {string} color1 - The base color (any Qt.color-compatible string). + * @param {string} color2 - The accent color. + * @returns {Qt.rgba} The resulting color. + */ + function adaptToAccent(color1, color2) { + var c1 = Qt.color(color1); + var c2 = Qt.color(color2); + + var hue = c2.hslHue; + var sat = c2.hslSaturation; + var light = c1.hslLightness; + var alpha = c1.a; + + return Qt.hsla(hue, sat, light, alpha); + } + + /** + * Mixes two colors by a given percentage. + * + * @param {string} color1 - The first color (any Qt.color-compatible string). + * @param {string} color2 - The second color. + * @param {number} percentage - The mix ratio (0-1). 1 = all color1, 0 = all color2. + * @returns {Qt.rgba} The resulting mixed color. + */ + function mix(color1, color2, percentage = 0.5) { + var c1 = Qt.color(color1); + var c2 = Qt.color(color2); + return Qt.rgba(percentage * c1.r + (1 - percentage) * c2.r, percentage * c1.g + (1 - percentage) * c2.g, percentage * c1.b + (1 - percentage) * c2.b, percentage * c1.a + (1 - percentage) * c2.a); + } + + /** + * Transparentizes a color by a given percentage. + * + * @param {string} color - The color (any Qt.color-compatible string). + * @param {number} percentage - The amount to transparentize (0-1). + * @returns {Qt.rgba} The resulting color. + */ + function transparentize(color, percentage = 1) { + var c = Qt.color(color); + return Qt.rgba(c.r, c.g, c.b, c.a * (1 - percentage)); + } +} diff --git a/.config/quickshell/ii/modules/common/functions/FileUtils.qml b/.config/quickshell/ii/modules/common/functions/FileUtils.qml new file mode 100644 index 000000000..c051674ea --- /dev/null +++ b/.config/quickshell/ii/modules/common/functions/FileUtils.qml @@ -0,0 +1,41 @@ +pragma Singleton +import Quickshell + +Singleton { + id: root + + /** + * Trims the File protocol off the input string + * @param {string} str + * @returns {string} + */ + function trimFileProtocol(str) { + return str.startsWith("file://") ? str.slice(7) : str; + } + + /** + * Extracts the file name from a file path + * @param {string} str + * @returns {string} + */ + function fileNameForPath(str) { + if (typeof str !== "string") return ""; + const trimmed = trimFileProtocol(str); + return trimmed.split(/[\\/]/).pop(); + } + + /** + * Removes the file extension from a file path or name + * @param {string} str + * @returns {string} + */ + function trimFileExt(str) { + if (typeof str !== "string") return ""; + const trimmed = trimFileProtocol(str); + const lastDot = trimmed.lastIndexOf("."); + if (lastDot > -1 && lastDot > trimmed.lastIndexOf("/")) { + return trimmed.slice(0, lastDot); + } + return trimmed; + } +} diff --git a/.config/quickshell/ii/modules/common/functions/ObjectUtils.qml b/.config/quickshell/ii/modules/common/functions/ObjectUtils.qml new file mode 100644 index 000000000..d1204cddc --- /dev/null +++ b/.config/quickshell/ii/modules/common/functions/ObjectUtils.qml @@ -0,0 +1,98 @@ +pragma Singleton +import Quickshell + +Singleton { + id: root + + function toPlainObject(qtObj) { + if (qtObj === null || typeof qtObj !== "object") return qtObj; + + // Handle true arrays + if (Array.isArray(qtObj)) { + return qtObj.map(item => toPlainObject(item)); + } + + // Handle array-like Qt objects (e.g., have length and numeric keys) + if ( + typeof qtObj.length === "number" && + qtObj.length > 0 && + Object.keys(qtObj).every( + key => !isNaN(key) || key === "length" + ) + ) { + let arr = []; + for (let i = 0; i < qtObj.length; i++) { + arr.push(toPlainObject(qtObj[i])); + } + return arr; + } + + const result = ({}); + for (let key in qtObj) { + if ( + typeof qtObj[key] !== "function" && + !key.startsWith("objectName") && + !key.startsWith("children") && + !key.startsWith("object") && + !key.startsWith("parent") && + !key.startsWith("metaObject") && + !key.startsWith("destroyed") && + !key.startsWith("reloadableId") + ) { + result[key] = toPlainObject(qtObj[key]); + } + } + // console.log(JSON.stringify(result)) + return result; + } + + function applyToQtObject(qtObj, jsonObj) { + // console.log("applyToQtObject", JSON.stringify(qtObj, null, 2), "<<", JSON.stringify(jsonObj, null, 2)); + if (!qtObj || typeof jsonObj !== "object" || jsonObj === null) return; + + // Detect array-like Qt objects + const isQtArrayLike = obj => { + return obj && typeof obj === "object" && + typeof obj.length === "number" && + obj.length > 0 && + Object.keys(obj).every(key => !isNaN(key) || key === "length"); + }; + + // If both are arrays or array-like, update in place or replace + if ((Array.isArray(qtObj) || isQtArrayLike(qtObj)) && Array.isArray(jsonObj)) { + qtObj.length = 0; + for (let i = 0; i < jsonObj.length; i++) { + qtObj.push(jsonObj[i]); + } + return; + } + + // If target is array or array-like but source is not, clear + if ((Array.isArray(qtObj) || isQtArrayLike(qtObj)) && !Array.isArray(jsonObj)) { + qtObj.length = 0; + return; + } + + // If source is array but target is not, assign directly if possible + if (!(Array.isArray(qtObj) || isQtArrayLike(qtObj)) && Array.isArray(jsonObj)) { + return jsonObj; + } + + for (let key in jsonObj) { + if (!qtObj.hasOwnProperty(key)) continue; + const value = qtObj[key]; + const jsonValue = jsonObj[key]; + // console.log("applying to qt obj key:", value, "jsonValue:", jsonValue); + if ((Array.isArray(value) || isQtArrayLike(value)) && Array.isArray(jsonValue)) { + value.length = 0; + for (let i = 0; i < jsonValue.length; i++) { + value.push(jsonValue[i]); + } + } else if (value && typeof value === "object" && !Array.isArray(value) && !isQtArrayLike(value)) { + applyToQtObject(value, jsonValue); + } else { + qtObj[key] = jsonValue; + } + } + } +} diff --git a/.config/quickshell/ii/modules/common/functions/StringUtils.qml b/.config/quickshell/ii/modules/common/functions/StringUtils.qml new file mode 100644 index 000000000..e82418311 --- /dev/null +++ b/.config/quickshell/ii/modules/common/functions/StringUtils.qml @@ -0,0 +1,221 @@ +pragma Singleton +import Quickshell + +Singleton { + id: root + + /** + * Formats a string according to the args that are passed inc + * @param { string } str + * @param {...any} args + * @returns + */ + function format(str, ...args) { + return str.replace(/{(\d+)}/g, (match, index) => typeof args[index] !== 'undefined' ? args[index] : match); + } + + /** + * Returns the domain of the passed in url or null + * @param { string } url + * @returns { string| null } + */ + function getDomain(url) { + const match = url.match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/); + return match ? match[1] : null; + } + + /** + * Returns the base url of the passed in url or null + * @param { string } url + * @returns { string | null } + */ + function getBaseUrl(url) { + const match = url.match(/^(https?:\/\/[^\/]+)(\/.*)?$/); + return match ? match[1] : null; + } + + /** + * Escapes single quotes in shell commands + * @param { string } str + * @returns { string } + */ + function shellSingleQuoteEscape(str) { + // escape single quotes + return String(str) + // .replace(/\\/g, '\\\\') + .replace(/'/g, "'\\''"); + } + + /** + * Splits markdown blocks into three different types: text, think, and code. + * @param { string } markdown + */ + function splitMarkdownBlocks(markdown) { + const regex = /```(\w+)?\n([\s\S]*?)```|([\s\S]*?)<\/think>/g; + /** + * @type {{type: "text" | "think" | "code"; content: string; lang: string | undefined; completed: boolean | undefined}[]} + */ + let result = []; + let lastIndex = 0; + let match; + while ((match = regex.exec(markdown)) !== null) { + if (match.index > lastIndex) { + const text = markdown.slice(lastIndex, match.index); + if (text.trim()) { + result.push({ + type: "text", + content: text + }); + } + } + if (match[0].startsWith('```')) { + if (match[2] && match[2].trim()) { + result.push({ + type: "code", + lang: match[1] || "", + content: match[2], + completed: true + }); + } + } else if (match[0].startsWith('')) { + if (match[3] && match[3].trim()) { + result.push({ + type: "think", + content: match[3], + completed: true + }); + } + } + lastIndex = regex.lastIndex; + } + // Handle any remaining text after the last match + if (lastIndex < markdown.length) { + const text = markdown.slice(lastIndex); + // Check for unfinished block + const thinkStart = text.indexOf(''); + const codeStart = text.indexOf('```'); + if (thinkStart !== -1 && (codeStart === -1 || thinkStart < codeStart)) { + const beforeThink = text.slice(0, thinkStart); + if (beforeThink.trim()) { + result.push({ + type: "text", + content: beforeThink + }); + } + const thinkContent = text.slice(thinkStart + 7); + if (thinkContent.trim()) { + result.push({ + type: "think", + content: thinkContent, + completed: false + }); + } + } else if (codeStart !== -1) { + const beforeCode = text.slice(0, codeStart); + if (beforeCode.trim()) { + result.push({ + type: "text", + content: beforeCode + }); + } + // Try to detect language after ``` + const codeLangMatch = text.slice(codeStart + 3).match(/^(\w+)?\n/); + let lang = ""; + let codeContentStart = codeStart + 3; + if (codeLangMatch) { + lang = codeLangMatch[1] || ""; + codeContentStart += codeLangMatch[0].length; + } else if (text[codeStart + 3] === '\n') { + codeContentStart += 1; + } + const codeContent = text.slice(codeContentStart); + if (codeContent.trim()) { + result.push({ + type: "code", + lang, + content: codeContent, + completed: false + }); + } + } else if (text.trim()) { + result.push({ + type: "text", + content: text + }); + } + } + // console.log(JSON.stringify(result, null, 2)); + return result; + } + + /** + * Returns the original string with backslashes escaped + * @param { string } str + * @returns { string } + */ + function escapeBackslashes(str) { + return str.replace(/\\/g, '\\\\'); + } + + /** + * Wraps words to supplied maximum length + * @param { string | null } str + * @param { number } maxLen + * @returns { string } + */ + function wordWrap(str, maxLen) { + if (!str) + return ""; + let words = str.split(" "); + let lines = []; + let current = ""; + for (let i = 0; i < words.length; ++i) { + if ((current + (current.length > 0 ? " " : "") + words[i]).length > maxLen) { + if (current.length > 0) + lines.push(current); + current = words[i]; + } else { + current += (current.length > 0 ? " " : "") + words[i]; + } + } + if (current.length > 0) + lines.push(current); + return lines.join("\n"); + } + + function cleanMusicTitle(title) { + if (!title) + return ""; + // Brackets + title = title.replace(/^ *\([^)]*\) */g, " "); // Round brackets + title = title.replace(/^ *\[[^\]]*\] */g, " "); // Square brackets + title = title.replace(/^ *\{[^\}]*\} */g, " "); // Curly brackets + // Japenis brackets + title = title.replace(/^ *【[^】]*】/, ""); // Touhou + title = title.replace(/^ *《[^》]*》/, ""); // ?? + title = title.replace(/^ *「[^」]*」/, ""); // OP/ED thingie + title = title.replace(/^ *『[^』]*』/, ""); // OP/ED thingie + + return title.trim(); + } + + function friendlyTimeForSeconds(seconds) { + if (isNaN(seconds) || seconds < 0) + return "0:00"; + seconds = Math.floor(seconds); + const h = Math.floor(seconds / 3600); + const m = Math.floor((seconds % 3600) / 60); + const s = seconds % 60; + if (h > 0) { + return `${h}:${m.toString().padStart(2, '0')}:${s.toString().padStart(2, '0')}`; + } else { + return `${m}:${s.toString().padStart(2, '0')}`; + } + } + + function escapeHtml(str) { + if (typeof str !== 'string') + return str; + return str.replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"').replace(/'/g, '''); + } +} diff --git a/.config/quickshell/ii/modules/common/functions/color_utils.js b/.config/quickshell/ii/modules/common/functions/color_utils.js deleted file mode 100644 index eb0fc0c2f..000000000 --- a/.config/quickshell/ii/modules/common/functions/color_utils.js +++ /dev/null @@ -1,109 +0,0 @@ -// This module provides high level utility functions for color manipulation. - -/** - * Returns a color with the hue of color2 and the saturation, value, and alpha of color1. - * - * @param {string} color1 - The base color (any Qt.color-compatible string). - * @param {string} color2 - The color to take hue from. - * @returns {Qt.rgba} The resulting color. - */ -function colorWithHueOf(color1, color2) { - var c1 = Qt.color(color1); - var c2 = Qt.color(color2); - - // Qt.color hsvHue/hsvSaturation/hsvValue/alpha return 0-1 - var hue = c2.hsvHue; - var sat = c1.hsvSaturation; - var val = c1.hsvValue; - var alpha = c1.a; - - return Qt.hsva(hue, sat, val, alpha); -} - -/** - * Returns a color with the saturation of color2 and the hue/value/alpha of color1. - * - * @param {string} color1 - The base color (any Qt.color-compatible string). - * @param {string} color2 - The color to take saturation from. - * @returns {Qt.rgba} The resulting color. - */ -function colorWithSaturationOf(color1, color2) { - var c1 = Qt.color(color1); - var c2 = Qt.color(color2); - - var hue = c1.hsvHue; - var sat = c2.hsvSaturation; - var val = c1.hsvValue; - var alpha = c1.a; - - return Qt.hsva(hue, sat, val, alpha); -} - -/** - * Returns a color with the given lightness and the hue, saturation, and alpha of the input color (using HSL). - * - * @param {string} color - The base color (any Qt.color-compatible string). - * @param {number} lightness - The lightness value to use (0-1). - * @returns {Qt.rgba} The resulting color. - */ -function colorWithLightness(color, lightness) { - var c = Qt.color(color); - return Qt.hsla(c.hslHue, c.hslSaturation, lightness, c.a); -} - -/** - * Returns a color with the lightness of color2 and the hue, saturation, and alpha of color1 (using HSL). - * - * @param {string} color1 - The base color (any Qt.color-compatible string). - * @param {string} color2 - The color to take lightness from. - * @returns {Qt.rgba} The resulting color. - */ -function colorWithLightnessOf(color1, color2) { - var c2 = Qt.color(color2); - return colorWithLightness(color1, c2.hslLightness); -} - -/** - * Adapts color1 to the accent (hue and saturation) of color2 using HSL, keeping lightness and alpha from color1. - * - * @param {string} color1 - The base color (any Qt.color-compatible string). - * @param {string} color2 - The accent color. - * @returns {Qt.rgba} The resulting color. - */ -function adaptToAccent(color1, color2) { - var c1 = Qt.color(color1); - var c2 = Qt.color(color2); - - var hue = c2.hslHue; - var sat = c2.hslSaturation; - var light = c1.hslLightness; - var alpha = c1.a; - - return Qt.hsla(hue, sat, light, alpha); -} - -/** - * Mixes two colors by a given percentage. - * - * @param {string} color1 - The first color (any Qt.color-compatible string). - * @param {string} color2 - The second color. - * @param {number} percentage - The mix ratio (0-1). 1 = all color1, 0 = all color2. - * @returns {Qt.rgba} The resulting mixed color. - */ -function mix(color1, color2, percentage = 0.5) { - var c1 = Qt.color(color1); - var c2 = Qt.color(color2); - return Qt.rgba(percentage * c1.r + (1 - percentage) * c2.r, percentage * c1.g + (1 - percentage) * c2.g, percentage * c1.b + (1 - percentage) * c2.b, percentage * c1.a + (1 - percentage) * c2.a); -} - -/** - * Transparentizes a color by a given percentage. - * - * @param {string} color - The color (any Qt.color-compatible string). - * @param {number} percentage - The amount to transparentize (0-1). - * @returns {Qt.rgba} The resulting color. - */ -function transparentize(color, percentage = 1) { - var c = Qt.color(color); - return Qt.rgba(c.r, c.g, c.b, c.a * (1 - percentage)); -} diff --git a/.config/quickshell/ii/modules/common/functions/file_utils.js b/.config/quickshell/ii/modules/common/functions/file_utils.js deleted file mode 100644 index 074640098..000000000 --- a/.config/quickshell/ii/modules/common/functions/file_utils.js +++ /dev/null @@ -1,34 +0,0 @@ -/** - * Trims the File protocol off the input string - * @param {string} str - * @returns {string} - */ -function trimFileProtocol(str) { - return str.startsWith("file://") ? str.slice(7) : str; -} - -/** - * Extracts the file name from a file path - * @param {string} str - * @returns {string} - */ -function fileNameForPath(str) { - if (typeof str !== "string") return ""; - const trimmed = trimFileProtocol(str); - return trimmed.split(/[\\/]/).pop(); -} - -/** - * Removes the file extension from a file path or name - * @param {string} str - * @returns {string} - */ -function trimFileExt(str) { - if (typeof str !== "string") return ""; - const trimmed = trimFileProtocol(str); - const lastDot = trimmed.lastIndexOf("."); - if (lastDot > -1 && lastDot > trimmed.lastIndexOf("/")) { - return trimmed.slice(0, lastDot); - } - return trimmed; -} \ No newline at end of file diff --git a/.config/quickshell/ii/modules/common/functions/object_utils.js b/.config/quickshell/ii/modules/common/functions/object_utils.js deleted file mode 100644 index e65a45404..000000000 --- a/.config/quickshell/ii/modules/common/functions/object_utils.js +++ /dev/null @@ -1,91 +0,0 @@ -function toPlainObject(qtObj) { - if (qtObj === null || typeof qtObj !== "object") return qtObj; - - // Handle true arrays - if (Array.isArray(qtObj)) { - return qtObj.map(item => toPlainObject(item)); - } - - // Handle array-like Qt objects (e.g., have length and numeric keys) - if ( - typeof qtObj.length === "number" && - qtObj.length > 0 && - Object.keys(qtObj).every( - key => !isNaN(key) || key === "length" - ) - ) { - let arr = []; - for (let i = 0; i < qtObj.length; i++) { - arr.push(toPlainObject(qtObj[i])); - } - return arr; - } - - const result = ({}); - for (let key in qtObj) { - if ( - typeof qtObj[key] !== "function" && - !key.startsWith("objectName") && - !key.startsWith("children") && - !key.startsWith("object") && - !key.startsWith("parent") && - !key.startsWith("metaObject") && - !key.startsWith("destroyed") && - !key.startsWith("reloadableId") - ) { - result[key] = toPlainObject(qtObj[key]); - } - } - // console.log(JSON.stringify(result)) - return result; -} - -function applyToQtObject(qtObj, jsonObj) { - // console.log("applyToQtObject", JSON.stringify(qtObj, null, 2), "<<", JSON.stringify(jsonObj, null, 2)); - if (!qtObj || typeof jsonObj !== "object" || jsonObj === null) return; - - // Detect array-like Qt objects - const isQtArrayLike = obj => { - return obj && typeof obj === "object" && - typeof obj.length === "number" && - obj.length > 0 && - Object.keys(obj).every(key => !isNaN(key) || key === "length"); - }; - - // If both are arrays or array-like, update in place or replace - if ((Array.isArray(qtObj) || isQtArrayLike(qtObj)) && Array.isArray(jsonObj)) { - qtObj.length = 0; - for (let i = 0; i < jsonObj.length; i++) { - qtObj.push(jsonObj[i]); - } - return; - } - - // If target is array or array-like but source is not, clear - if ((Array.isArray(qtObj) || isQtArrayLike(qtObj)) && !Array.isArray(jsonObj)) { - qtObj.length = 0; - return; - } - - // If source is array but target is not, assign directly if possible - if (!(Array.isArray(qtObj) || isQtArrayLike(qtObj)) && Array.isArray(jsonObj)) { - return jsonObj; - } - - for (let key in jsonObj) { - if (!qtObj.hasOwnProperty(key)) continue; - const value = qtObj[key]; - const jsonValue = jsonObj[key]; - // console.log("applying to qt obj key:", value, "jsonValue:", jsonValue); - if ((Array.isArray(value) || isQtArrayLike(value)) && Array.isArray(jsonValue)) { - value.length = 0; - for (let i = 0; i < jsonValue.length; i++) { - value.push(jsonValue[i]); - } - } else if (value && typeof value === "object" && !Array.isArray(value) && !isQtArrayLike(value)) { - applyToQtObject(value, jsonValue); - } else { - qtObj[key] = jsonValue; - } - } -} diff --git a/.config/quickshell/ii/modules/common/functions/string_utils.js b/.config/quickshell/ii/modules/common/functions/string_utils.js deleted file mode 100644 index 0819dbfb9..000000000 --- a/.config/quickshell/ii/modules/common/functions/string_utils.js +++ /dev/null @@ -1,188 +0,0 @@ -/** - * Formats a string according to the args that are passed in - * @param { string } str - * @param {...any} args - * @returns - */ -function format(str, ...args) { - return str.replace(/{(\d+)}/g, (match, index) => - typeof args[index] !== 'undefined' ? args[index] : match - ); -} - -/** - * Returns the domain of the passed in url or null - * @param { string } url - * @returns { string| null } - */ -function getDomain(url) { - const match = url.match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/); - return match ? match[1] : null; -} - -/** - * Returns the base url of the passed in url or null - * @param { string } url - * @returns { string | null } - */ -function getBaseUrl(url) { - const match = url.match(/^(https?:\/\/[^\/]+)(\/.*)?$/); - return match ? match[1] : null; -} - -/** - * Escapes single quotes in shell commands - * @param { string } str - * @returns { string } - */ -function shellSingleQuoteEscape(str) { - // escape single quotes - return String(str) - // .replace(/\\/g, '\\\\') - .replace(/'/g, "'\\''"); -} - -/** - * Splits markdown blocks into three different types: text, think, and code. - * @param { string } markdown - */ -function splitMarkdownBlocks(markdown) { - const regex = /```(\w+)?\n([\s\S]*?)```|([\s\S]*?)<\/think>/g; - /** - * @type {{type: "text" | "think" | "code"; content: string; lang: string | undefined; completed: boolean | undefined}[]} - */ - let result = []; - let lastIndex = 0; - let match; - while ((match = regex.exec(markdown)) !== null) { - if (match.index > lastIndex) { - const text = markdown.slice(lastIndex, match.index); - if (text.trim()) { - result.push({ type: "text", content: text }); - } - } - if (match[0].startsWith('```')) { - if (match[2] && match[2].trim()) { - result.push({ type: "code", lang: match[1] || "", content: match[2], completed: true }); - } - } else if (match[0].startsWith('')) { - if (match[3] && match[3].trim()) { - result.push({ type: "think", content: match[3], completed: true }); - } - } - lastIndex = regex.lastIndex; - } - // Handle any remaining text after the last match - if (lastIndex < markdown.length) { - const text = markdown.slice(lastIndex); - // Check for unfinished block - const thinkStart = text.indexOf(''); - const codeStart = text.indexOf('```'); - if ( - thinkStart !== -1 && - (codeStart === -1 || thinkStart < codeStart) - ) { - const beforeThink = text.slice(0, thinkStart); - if (beforeThink.trim()) { - result.push({ type: "text", content: beforeThink }); - } - const thinkContent = text.slice(thinkStart + 7); - if (thinkContent.trim()) { - result.push({ type: "think", content: thinkContent, completed: false }); - } - } else if (codeStart !== -1) { - const beforeCode = text.slice(0, codeStart); - if (beforeCode.trim()) { - result.push({ type: "text", content: beforeCode }); - } - // Try to detect language after ``` - const codeLangMatch = text.slice(codeStart + 3).match(/^(\w+)?\n/); - let lang = ""; - let codeContentStart = codeStart + 3; - if (codeLangMatch) { - lang = codeLangMatch[1] || ""; - codeContentStart += codeLangMatch[0].length; - } else if (text[codeStart + 3] === '\n') { - codeContentStart += 1; - } - const codeContent = text.slice(codeContentStart); - if (codeContent.trim()) { - result.push({ type: "code", lang, content: codeContent, completed: false }); - } - } else if (text.trim()) { - result.push({ type: "text", content: text }); - } - } - // console.log(JSON.stringify(result, null, 2)); - return result; -} - -/** - * Returns the original string with backslashes escaped - * @param { string } str - * @returns { string } - */ -function escapeBackslashes(str) { - return str.replace(/\\/g, '\\\\'); -} - -/** - * Wraps words to supplied maximum length - * @param { string | null } str - * @param { number } maxLen - * @returns { string } - */ -function wordWrap(str, maxLen) { - if (!str) return ""; - let words = str.split(" "); - let lines = []; - let current = ""; - for (let i = 0; i < words.length; ++i) { - if ((current + (current.length > 0 ? " " : "") + words[i]).length > maxLen) { - if (current.length > 0) lines.push(current); - current = words[i]; - } else { - current += (current.length > 0 ? " " : "") + words[i]; - } - } - if (current.length > 0) lines.push(current); - return lines.join("\n"); -} - -function cleanMusicTitle(title) { - if (!title) return ""; - // Brackets - title = title.replace(/^ *\([^)]*\) */g, " "); // Round brackets - title = title.replace(/^ *\[[^\]]*\] */g, " "); // Square brackets - title = title.replace(/^ *\{[^\}]*\} */g, " "); // Curly brackets - // Japenis brackets - title = title.replace(/^ *【[^】]*】/, "") // Touhou - title = title.replace(/^ *《[^》]*》/, "") // ?? - title = title.replace(/^ *「[^」]*」/, "") // OP/ED thingie - title = title.replace(/^ *『[^』]*』/, "") // OP/ED thingie - - return title.trim(); -} - -function friendlyTimeForSeconds(seconds) { - if (isNaN(seconds) || seconds < 0) return "0:00"; - seconds = Math.floor(seconds); - const h = Math.floor(seconds / 3600); - const m = Math.floor((seconds % 3600) / 60); - const s = seconds % 60; - if (h > 0) { - return `${h}:${m.toString().padStart(2, '0')}:${s.toString().padStart(2, '0')}`; - } else { - return `${m}:${s.toString().padStart(2, '0')}`; - } -} - -function escapeHtml(str) { - if (typeof str !== 'string') return str; - return str - .replace(/&/g, '&') - .replace(//g, '>') - .replace(/"/g, '"') - .replace(/'/g, '''); -} diff --git a/.config/quickshell/ii/modules/common/widgets/ButtonGroup.qml b/.config/quickshell/ii/modules/common/widgets/ButtonGroup.qml index 4b8676f40..7dc7a5913 100644 --- a/.config/quickshell/ii/modules/common/widgets/ButtonGroup.qml +++ b/.config/quickshell/ii/modules/common/widgets/ButtonGroup.qml @@ -1,8 +1,6 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs.modules.common +import qs.modules.common.widgets import QtQuick -import QtQuick.Controls import QtQuick.Layouts /** diff --git a/.config/quickshell/ii/modules/common/widgets/CircularProgress.qml b/.config/quickshell/ii/modules/common/widgets/CircularProgress.qml index c3731e64e..9a84bb1ee 100644 --- a/.config/quickshell/ii/modules/common/widgets/CircularProgress.qml +++ b/.config/quickshell/ii/modules/common/widgets/CircularProgress.qml @@ -2,7 +2,7 @@ // License: LGPL-3.0 - A copy can be found in `licenses` folder of repo import QtQuick -import "root:/modules/common" +import qs.modules.common /** * Material 3 circular progress. See https://m3.material.io/components/progress-indicators/specs diff --git a/.config/quickshell/ii/modules/common/widgets/CliphistImage.qml b/.config/quickshell/ii/modules/common/widgets/CliphistImage.qml index 62d948cf3..ce15ef3ea 100644 --- a/.config/quickshell/ii/modules/common/widgets/CliphistImage.qml +++ b/.config/quickshell/ii/modules/common/widgets/CliphistImage.qml @@ -1,17 +1,11 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" -import "root:/modules/common/functions/string_utils.js" as StringUtils -import "root:/modules/common/functions/file_utils.js" as FileUtils +import qs.modules.common +import qs.modules.common.widgets +import qs.services +import qs.modules.common.functions import Qt5Compat.GraphicalEffects -import Qt.labs.platform import QtQuick -import QtQuick.Controls -import QtQuick.Layouts import Quickshell import Quickshell.Io -import Quickshell.Widgets -import Quickshell.Hyprland Rectangle { id: root diff --git a/.config/quickshell/ii/modules/common/widgets/ConfigSelectionArray.qml b/.config/quickshell/ii/modules/common/widgets/ConfigSelectionArray.qml index e62831a48..318ffe1cb 100644 --- a/.config/quickshell/ii/modules/common/widgets/ConfigSelectionArray.qml +++ b/.config/quickshell/ii/modules/common/widgets/ConfigSelectionArray.qml @@ -1,14 +1,9 @@ import QtQuick -import QtQuick.Controls import QtQuick.Layouts -import Quickshell -import Quickshell.Io -import Quickshell.Hyprland -import "root:/services/" -import "root:/modules/common/" -import "root:/modules/common/widgets/" -import "root:/modules/common/functions/color_utils.js" as ColorUtils -import "root:/modules/common/functions/file_utils.js" as FileUtils +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions Flow { id: root diff --git a/.config/quickshell/ii/modules/common/widgets/ConfigSpinBox.qml b/.config/quickshell/ii/modules/common/widgets/ConfigSpinBox.qml index 972c221df..375f78edd 100644 --- a/.config/quickshell/ii/modules/common/widgets/ConfigSpinBox.qml +++ b/.config/quickshell/ii/modules/common/widgets/ConfigSpinBox.qml @@ -1,8 +1,7 @@ -import "root:/modules/common/widgets/" -import "root:/modules/common/" +import qs.modules.common.widgets +import qs.modules.common import QtQuick import QtQuick.Layouts -import QtQuick.Controls RowLayout { id: root diff --git a/.config/quickshell/ii/modules/common/widgets/ConfigSwitch.qml b/.config/quickshell/ii/modules/common/widgets/ConfigSwitch.qml index 51f82a727..e10f74d60 100644 --- a/.config/quickshell/ii/modules/common/widgets/ConfigSwitch.qml +++ b/.config/quickshell/ii/modules/common/widgets/ConfigSwitch.qml @@ -1,5 +1,5 @@ -import "root:/modules/common/widgets/" -import "root:/modules/common/" +import qs.modules.common.widgets +import qs.modules.common import QtQuick import QtQuick.Layouts import QtQuick.Controls diff --git a/.config/quickshell/ii/modules/common/widgets/ContentPage.qml b/.config/quickshell/ii/modules/common/widgets/ContentPage.qml index d23922c71..dc87179fe 100644 --- a/.config/quickshell/ii/modules/common/widgets/ContentPage.qml +++ b/.config/quickshell/ii/modules/common/widgets/ContentPage.qml @@ -1,8 +1,7 @@ import QtQuick -import QtQuick.Controls import QtQuick.Layouts -import "root:/modules/common/" -import "root:/modules/common/widgets/" +import qs.modules.common +import qs.modules.common.widgets Flickable { id: root diff --git a/.config/quickshell/ii/modules/common/widgets/ContentSection.qml b/.config/quickshell/ii/modules/common/widgets/ContentSection.qml index 01eab5cbf..2f038e1fe 100644 --- a/.config/quickshell/ii/modules/common/widgets/ContentSection.qml +++ b/.config/quickshell/ii/modules/common/widgets/ContentSection.qml @@ -1,8 +1,8 @@ import QtQuick import QtQuick.Controls import QtQuick.Layouts -import "root:/modules/common/" -import "root:/modules/common/widgets/" +import qs.modules.common +import qs.modules.common.widgets ColumnLayout { id: root diff --git a/.config/quickshell/ii/modules/common/widgets/ContentSubsection.qml b/.config/quickshell/ii/modules/common/widgets/ContentSubsection.qml index 0eb3b3b50..b78f3aa81 100644 --- a/.config/quickshell/ii/modules/common/widgets/ContentSubsection.qml +++ b/.config/quickshell/ii/modules/common/widgets/ContentSubsection.qml @@ -1,8 +1,7 @@ import QtQuick -import QtQuick.Controls import QtQuick.Layouts -import "root:/modules/common/" -import "root:/modules/common/widgets/" +import qs.modules.common +import qs.modules.common.widgets ColumnLayout { id: root diff --git a/.config/quickshell/ii/modules/common/widgets/ContentSubsectionLabel.qml b/.config/quickshell/ii/modules/common/widgets/ContentSubsectionLabel.qml index 549ccae27..5d29e0e12 100644 --- a/.config/quickshell/ii/modules/common/widgets/ContentSubsectionLabel.qml +++ b/.config/quickshell/ii/modules/common/widgets/ContentSubsectionLabel.qml @@ -1,7 +1,7 @@ import QtQuick import QtQuick.Layouts -import "root:/modules/common/" -import "root:/modules/common/widgets/" +import qs.modules.common +import qs.modules.common.widgets StyledText { text: "Subsection" diff --git a/.config/quickshell/ii/modules/common/widgets/CustomIcon.qml b/.config/quickshell/ii/modules/common/widgets/CustomIcon.qml index 285196156..e5bbe39a3 100644 --- a/.config/quickshell/ii/modules/common/widgets/CustomIcon.qml +++ b/.config/quickshell/ii/modules/common/widgets/CustomIcon.qml @@ -9,7 +9,7 @@ Item { property bool colorize: false property color color property string source: "" - property string iconFolder: "root:/assets/icons" // The folder to check first + property string iconFolder: Qt.resolvedUrl(Quickshell.configPath("assets/icons")) // The folder to check first width: 30 height: 30 @@ -17,8 +17,9 @@ Item { id: iconImage anchors.fill: parent source: { - if (iconFolder && iconFolder + "/" + root.source) { - return iconFolder + "/" + root.source + const fullPathWhenSourceIsIconName = iconFolder + "/" + root.source; + if (iconFolder && fullPathWhenSourceIsIconName) { + return fullPathWhenSourceIsIconName } return root.source } diff --git a/.config/quickshell/ii/modules/common/widgets/DialogButton.qml b/.config/quickshell/ii/modules/common/widgets/DialogButton.qml index 86150c502..972c29b29 100644 --- a/.config/quickshell/ii/modules/common/widgets/DialogButton.qml +++ b/.config/quickshell/ii/modules/common/widgets/DialogButton.qml @@ -1,10 +1,5 @@ -import "root:/modules/common" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs.modules.common import QtQuick -import QtQuick.Controls -import QtQuick.Layouts -import Quickshell -import Quickshell.Io /** * Material 3 dialog button. See https://m3.material.io/components/dialogs/overview diff --git a/.config/quickshell/ii/modules/common/widgets/DragManager.qml b/.config/quickshell/ii/modules/common/widgets/DragManager.qml index 087729edb..9a430d93b 100644 --- a/.config/quickshell/ii/modules/common/widgets/DragManager.qml +++ b/.config/quickshell/ii/modules/common/widgets/DragManager.qml @@ -1,8 +1,6 @@ -import "root:/modules/common" -import "root:/services" +import qs.modules.common +import qs.services import QtQuick -import QtQuick.Controls -import QtQuick.Layouts /** * A convenience MouseArea for handling drag events. diff --git a/.config/quickshell/ii/modules/common/widgets/Favicon.qml b/.config/quickshell/ii/modules/common/widgets/Favicon.qml index 8b9b2596b..04e928592 100644 --- a/.config/quickshell/ii/modules/common/widgets/Favicon.qml +++ b/.config/quickshell/ii/modules/common/widgets/Favicon.qml @@ -1,16 +1,11 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" -import "root:/modules/common/functions/string_utils.js" as StringUtils -import "root:/modules/common/functions/file_utils.js" as FileUtils +import qs.modules.common +import qs.modules.common.widgets +import qs.services +import qs.modules.common.functions import Qt5Compat.GraphicalEffects -import Qt.labs.platform import QtQuick -import QtQuick.Controls -import QtQuick.Layouts import Quickshell.Io import Quickshell.Widgets -import Quickshell.Hyprland IconImage { id: root diff --git a/.config/quickshell/ii/modules/common/widgets/FloatingActionButton.qml b/.config/quickshell/ii/modules/common/widgets/FloatingActionButton.qml index bc6031e79..14702aad9 100644 --- a/.config/quickshell/ii/modules/common/widgets/FloatingActionButton.qml +++ b/.config/quickshell/ii/modules/common/widgets/FloatingActionButton.qml @@ -1,8 +1,7 @@ import QtQuick -import QtQuick.Controls import QtQuick.Layouts -import "root:/modules/common/" -import "root:/modules/common/widgets/" +import qs.modules.common +import qs.modules.common.widgets /** * Material 3 FAB. diff --git a/.config/quickshell/ii/modules/common/widgets/GroupButton.qml b/.config/quickshell/ii/modules/common/widgets/GroupButton.qml index 362ae39e9..a64cd0630 100644 --- a/.config/quickshell/ii/modules/common/widgets/GroupButton.qml +++ b/.config/quickshell/ii/modules/common/widgets/GroupButton.qml @@ -1,12 +1,9 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/color_utils.js" as ColorUtils -import Qt5Compat.GraphicalEffects +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import QtQuick import QtQuick.Controls import QtQuick.Layouts -import Quickshell.Io -import Quickshell.Widgets /** * Material 3 button with expressive bounciness. diff --git a/.config/quickshell/ii/modules/common/widgets/KeyboardKey.qml b/.config/quickshell/ii/modules/common/widgets/KeyboardKey.qml index 1a5ab0025..14c75c62d 100644 --- a/.config/quickshell/ii/modules/common/widgets/KeyboardKey.qml +++ b/.config/quickshell/ii/modules/common/widgets/KeyboardKey.qml @@ -1,9 +1,5 @@ -import "root:/modules/common" +import qs.modules.common import QtQuick -import QtQuick.Controls -import QtQuick.Layouts -import Quickshell -import Quickshell.Io Rectangle { id: root diff --git a/.config/quickshell/ii/modules/common/widgets/LightDarkPreferenceButton.qml b/.config/quickshell/ii/modules/common/widgets/LightDarkPreferenceButton.qml index 69db75674..63dbd2c85 100644 --- a/.config/quickshell/ii/modules/common/widgets/LightDarkPreferenceButton.qml +++ b/.config/quickshell/ii/modules/common/widgets/LightDarkPreferenceButton.qml @@ -1,13 +1,10 @@ -import "root:/" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import QtQuick -import QtQuick.Controls import QtQuick.Layouts import Quickshell -import Quickshell.Io -import Quickshell.Hyprland GroupButton { id: lightDarkButtonRoot diff --git a/.config/quickshell/ii/modules/common/widgets/MaterialSymbol.qml b/.config/quickshell/ii/modules/common/widgets/MaterialSymbol.qml index 7b41333a5..92da9918e 100644 --- a/.config/quickshell/ii/modules/common/widgets/MaterialSymbol.qml +++ b/.config/quickshell/ii/modules/common/widgets/MaterialSymbol.qml @@ -1,6 +1,5 @@ -import "root:/modules/common/" +import qs.modules.common import QtQuick -import QtQuick.Layouts Text { id: root diff --git a/.config/quickshell/ii/modules/common/widgets/MaterialTextField.qml b/.config/quickshell/ii/modules/common/widgets/MaterialTextField.qml index 1129c6d8d..241cc90f7 100644 --- a/.config/quickshell/ii/modules/common/widgets/MaterialTextField.qml +++ b/.config/quickshell/ii/modules/common/widgets/MaterialTextField.qml @@ -1,5 +1,4 @@ -import "root:/modules/common" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs.modules.common import QtQuick import QtQuick.Controls.Material import QtQuick.Controls diff --git a/.config/quickshell/ii/modules/common/widgets/MenuButton.qml b/.config/quickshell/ii/modules/common/widgets/MenuButton.qml index 0c4c4f411..9185bc9d4 100644 --- a/.config/quickshell/ii/modules/common/widgets/MenuButton.qml +++ b/.config/quickshell/ii/modules/common/widgets/MenuButton.qml @@ -1,10 +1,5 @@ -import "root:/modules/common" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs.modules.common import QtQuick -import QtQuick.Controls -import QtQuick.Layouts -import Quickshell -import Quickshell.Io RippleButton { id: root diff --git a/.config/quickshell/ii/modules/common/widgets/NavigationRail.qml b/.config/quickshell/ii/modules/common/widgets/NavigationRail.qml index fe3c64a20..11082a707 100644 --- a/.config/quickshell/ii/modules/common/widgets/NavigationRail.qml +++ b/.config/quickshell/ii/modules/common/widgets/NavigationRail.qml @@ -1,8 +1,7 @@ import QtQuick -import QtQuick.Controls import QtQuick.Layouts -import "root:/modules/common/" -import "root:/modules/common/widgets/" +import qs.modules.common +import qs.modules.common.widgets ColumnLayout { // Window content with navigation rail and content pane id: root diff --git a/.config/quickshell/ii/modules/common/widgets/NavigationRailButton.qml b/.config/quickshell/ii/modules/common/widgets/NavigationRailButton.qml index 615cb35eb..0b83b45b7 100644 --- a/.config/quickshell/ii/modules/common/widgets/NavigationRailButton.qml +++ b/.config/quickshell/ii/modules/common/widgets/NavigationRailButton.qml @@ -1,10 +1,9 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import QtQuick import QtQuick.Controls import QtQuick.Layouts -import Quickshell.Io TabButton { id: root diff --git a/.config/quickshell/ii/modules/common/widgets/NavigationRailExpandButton.qml b/.config/quickshell/ii/modules/common/widgets/NavigationRailExpandButton.qml index 11fe37bc3..57e15f044 100644 --- a/.config/quickshell/ii/modules/common/widgets/NavigationRailExpandButton.qml +++ b/.config/quickshell/ii/modules/common/widgets/NavigationRailExpandButton.qml @@ -1,8 +1,7 @@ import QtQuick -import QtQuick.Controls import QtQuick.Layouts -import "root:/modules/common/" -import "root:/modules/common/widgets/" +import qs.modules.common +import qs.modules.common.widgets RippleButton { id: root diff --git a/.config/quickshell/ii/modules/common/widgets/NavigationRailTabArray.qml b/.config/quickshell/ii/modules/common/widgets/NavigationRailTabArray.qml index e13ea76c9..6596141db 100644 --- a/.config/quickshell/ii/modules/common/widgets/NavigationRailTabArray.qml +++ b/.config/quickshell/ii/modules/common/widgets/NavigationRailTabArray.qml @@ -1,10 +1,7 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs.modules.common +import qs.modules.common.widgets import QtQuick -import QtQuick.Controls import QtQuick.Layouts -import Quickshell.Io Item { id: root diff --git a/.config/quickshell/ii/modules/common/widgets/NotificationActionButton.qml b/.config/quickshell/ii/modules/common/widgets/NotificationActionButton.qml index e85735a71..2a737255e 100644 --- a/.config/quickshell/ii/modules/common/widgets/NotificationActionButton.qml +++ b/.config/quickshell/ii/modules/common/widgets/NotificationActionButton.qml @@ -1,9 +1,6 @@ -import "root:/modules/common" -import "root:/services" +import qs.modules.common +import qs.services import QtQuick -import QtQuick.Controls -import QtQuick.Layouts -import Quickshell import Quickshell.Services.Notifications RippleButton { diff --git a/.config/quickshell/ii/modules/common/widgets/NotificationAppIcon.qml b/.config/quickshell/ii/modules/common/widgets/NotificationAppIcon.qml index 81505aff6..5158d6438 100644 --- a/.config/quickshell/ii/modules/common/widgets/NotificationAppIcon.qml +++ b/.config/quickshell/ii/modules/common/widgets/NotificationAppIcon.qml @@ -1,9 +1,7 @@ -import "root:/modules/common" +import qs.modules.common import "./notification_utils.js" as NotificationUtils import Qt5Compat.GraphicalEffects import QtQuick -import QtQuick.Controls -import QtQuick.Layouts import Quickshell import Quickshell.Widgets import Quickshell.Services.Notifications diff --git a/.config/quickshell/ii/modules/common/widgets/NotificationGroup.qml b/.config/quickshell/ii/modules/common/widgets/NotificationGroup.qml index e79f400ae..22b226565 100644 --- a/.config/quickshell/ii/modules/common/widgets/NotificationGroup.qml +++ b/.config/quickshell/ii/modules/common/widgets/NotificationGroup.qml @@ -1,18 +1,10 @@ -import "root:/modules/common" -import "root:/services" -import "root:/modules/common/functions/string_utils.js" as StringUtils -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs.modules.common +import qs.services +import qs.modules.common.functions import "./notification_utils.js" as NotificationUtils -import Qt5Compat.GraphicalEffects import QtQuick -import QtQuick.Controls -import QtQuick.Effects import QtQuick.Layouts import Quickshell -import Quickshell.Io -import Quickshell.Widgets -import Quickshell.Hyprland -import Quickshell.Services.Notifications /** * A group of notifications from the same app. diff --git a/.config/quickshell/ii/modules/common/widgets/NotificationGroupExpandButton.qml b/.config/quickshell/ii/modules/common/widgets/NotificationGroupExpandButton.qml index bd1a8e96d..ba2b7e10b 100644 --- a/.config/quickshell/ii/modules/common/widgets/NotificationGroupExpandButton.qml +++ b/.config/quickshell/ii/modules/common/widgets/NotificationGroupExpandButton.qml @@ -1,12 +1,8 @@ -import "root:/modules/common" -import "root:/services" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs.services +import qs.modules.common +import qs.modules.common.functions import QtQuick -import QtQuick.Controls -import QtQuick.Effects import QtQuick.Layouts -import Quickshell -import Quickshell.Services.Notifications RippleButton { // Expand button id: root diff --git a/.config/quickshell/ii/modules/common/widgets/NotificationItem.qml b/.config/quickshell/ii/modules/common/widgets/NotificationItem.qml index 07c7f35b3..e660041e2 100644 --- a/.config/quickshell/ii/modules/common/widgets/NotificationItem.qml +++ b/.config/quickshell/ii/modules/common/widgets/NotificationItem.qml @@ -1,16 +1,10 @@ -import "root:/modules/common" -import "root:/services" -import "root:/modules/common/functions/string_utils.js" as StringUtils -import "root:/modules/common/functions/color_utils.js" as ColorUtils -import "./notification_utils.js" as NotificationUtils -import Qt5Compat.GraphicalEffects +import qs +import qs.modules.common +import qs.services +import qs.modules.common.functions import QtQuick -import QtQuick.Controls -import QtQuick.Effects import QtQuick.Layouts import Quickshell -import Quickshell.Io -import Quickshell.Widgets import Quickshell.Hyprland import Quickshell.Services.Notifications diff --git a/.config/quickshell/ii/modules/common/widgets/NotificationListView.qml b/.config/quickshell/ii/modules/common/widgets/NotificationListView.qml index 087e4a403..389a5a8bf 100644 --- a/.config/quickshell/ii/modules/common/widgets/NotificationListView.qml +++ b/.config/quickshell/ii/modules/common/widgets/NotificationListView.qml @@ -1,13 +1,9 @@ -import "root:/" -import "root:/modules/common/" -import "root:/modules/common/widgets" -import "root:/services" +import qs +import qs.modules.common +import qs.modules.common.widgets +import qs.services import QtQuick -import QtQuick.Controls -import QtQuick.Layouts import Quickshell -import Quickshell.Wayland -import Quickshell.Hyprland StyledListView { // Scrollable window id: root diff --git a/.config/quickshell/ii/modules/common/widgets/PrimaryTabBar.qml b/.config/quickshell/ii/modules/common/widgets/PrimaryTabBar.qml index 8cb4804a9..63f5e1759 100644 --- a/.config/quickshell/ii/modules/common/widgets/PrimaryTabBar.qml +++ b/.config/quickshell/ii/modules/common/widgets/PrimaryTabBar.qml @@ -1,9 +1,8 @@ -import "root:/modules/common" -import "root:/" +import qs.modules.common +import qs import QtQuick import QtQuick.Controls import QtQuick.Layouts -import Quickshell ColumnLayout { id: root diff --git a/.config/quickshell/ii/modules/common/widgets/PrimaryTabButton.qml b/.config/quickshell/ii/modules/common/widgets/PrimaryTabButton.qml index a47f108b7..0b4b6f8fb 100644 --- a/.config/quickshell/ii/modules/common/widgets/PrimaryTabButton.qml +++ b/.config/quickshell/ii/modules/common/widgets/PrimaryTabButton.qml @@ -1,12 +1,10 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import Qt5Compat.GraphicalEffects import QtQuick import QtQuick.Controls import QtQuick.Layouts -import Quickshell.Io -import Quickshell.Widgets TabButton { id: button diff --git a/.config/quickshell/ii/modules/common/widgets/Revealer.qml b/.config/quickshell/ii/modules/common/widgets/Revealer.qml index 620b8d6ef..bbbe2efae 100644 --- a/.config/quickshell/ii/modules/common/widgets/Revealer.qml +++ b/.config/quickshell/ii/modules/common/widgets/Revealer.qml @@ -1,6 +1,5 @@ -import "root:/modules/common" +import qs.modules.common import QtQuick -import Quickshell /** * Recreation of GTK revealer. Expects one single child. diff --git a/.config/quickshell/ii/modules/common/widgets/RippleButton.qml b/.config/quickshell/ii/modules/common/widgets/RippleButton.qml index 9931cd02a..7487203ae 100644 --- a/.config/quickshell/ii/modules/common/widgets/RippleButton.qml +++ b/.config/quickshell/ii/modules/common/widgets/RippleButton.qml @@ -1,12 +1,9 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import Qt5Compat.GraphicalEffects import QtQuick import QtQuick.Controls -import QtQuick.Layouts -import Quickshell.Io -import Quickshell.Widgets /** * A button with ripple effect similar to in Material Design. diff --git a/.config/quickshell/ii/modules/common/widgets/RippleButtonWithIcon.qml b/.config/quickshell/ii/modules/common/widgets/RippleButtonWithIcon.qml index 8e5fb6f2d..f84ae4da5 100644 --- a/.config/quickshell/ii/modules/common/widgets/RippleButtonWithIcon.qml +++ b/.config/quickshell/ii/modules/common/widgets/RippleButtonWithIcon.qml @@ -1,8 +1,7 @@ import QtQuick -import QtQuick.Controls import QtQuick.Layouts -import "root:/modules/common/" -import "root:/modules/common/widgets/" +import qs.modules.common +import qs.modules.common.widgets RippleButton { id: buttonWithIconRoot diff --git a/.config/quickshell/ii/modules/common/widgets/SecondaryTabButton.qml b/.config/quickshell/ii/modules/common/widgets/SecondaryTabButton.qml index 1d3b6381f..983dd02bc 100644 --- a/.config/quickshell/ii/modules/common/widgets/SecondaryTabButton.qml +++ b/.config/quickshell/ii/modules/common/widgets/SecondaryTabButton.qml @@ -1,12 +1,10 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import Qt5Compat.GraphicalEffects import QtQuick import QtQuick.Controls import QtQuick.Layouts -import Quickshell.Io -import Quickshell.Widgets TabButton { id: root diff --git a/.config/quickshell/ii/modules/common/widgets/SelectionDialog.qml b/.config/quickshell/ii/modules/common/widgets/SelectionDialog.qml index 5170c6c7f..5f9b871a3 100644 --- a/.config/quickshell/ii/modules/common/widgets/SelectionDialog.qml +++ b/.config/quickshell/ii/modules/common/widgets/SelectionDialog.qml @@ -1,10 +1,8 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" -import "root:/" -import Qt5Compat.GraphicalEffects +import qs.modules.common +import qs.modules.common.widgets +import qs.services +import qs import QtQuick -import QtQuick.Controls import QtQuick.Layouts import Quickshell diff --git a/.config/quickshell/ii/modules/common/widgets/SelectionGroupButton.qml b/.config/quickshell/ii/modules/common/widgets/SelectionGroupButton.qml index 77695ce3b..6a225ebbe 100644 --- a/.config/quickshell/ii/modules/common/widgets/SelectionGroupButton.qml +++ b/.config/quickshell/ii/modules/common/widgets/SelectionGroupButton.qml @@ -3,9 +3,9 @@ import QtQuick.Layouts import Quickshell import Quickshell.Io import Quickshell.Hyprland -import "root:/services/" -import "root:/modules/common/" -import "root:/modules/common/widgets/" +import qs.services +import qs.modules.common +import qs.modules.common.widgets GroupButton { id: root diff --git a/.config/quickshell/ii/modules/common/widgets/StyledLabel.qml b/.config/quickshell/ii/modules/common/widgets/StyledLabel.qml index f5201baea..35b3cbf41 100644 --- a/.config/quickshell/ii/modules/common/widgets/StyledLabel.qml +++ b/.config/quickshell/ii/modules/common/widgets/StyledLabel.qml @@ -1,7 +1,6 @@ -import "root:/modules/common" +import qs.modules.common import QtQuick import QtQuick.Controls -import QtQuick.Layouts Label { renderType: Text.NativeRendering diff --git a/.config/quickshell/ii/modules/common/widgets/StyledListView.qml b/.config/quickshell/ii/modules/common/widgets/StyledListView.qml index 76d9782b4..96874b865 100644 --- a/.config/quickshell/ii/modules/common/widgets/StyledListView.qml +++ b/.config/quickshell/ii/modules/common/widgets/StyledListView.qml @@ -1,13 +1,8 @@ -import "root:/" -import "root:/modules/common/" -import "root:/modules/common/widgets" -import "root:/services" +import qs +import qs.modules.common +import qs.modules.common.widgets +import qs.services import QtQuick -import QtQuick.Controls -import QtQuick.Layouts -import Quickshell -import Quickshell.Wayland -import Quickshell.Hyprland /** * A ListView with animations. diff --git a/.config/quickshell/ii/modules/common/widgets/StyledProgressBar.qml b/.config/quickshell/ii/modules/common/widgets/StyledProgressBar.qml index c36f31e2b..fa1cd0be7 100644 --- a/.config/quickshell/ii/modules/common/widgets/StyledProgressBar.qml +++ b/.config/quickshell/ii/modules/common/widgets/StyledProgressBar.qml @@ -1,6 +1,6 @@ -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" +import qs.services +import qs.modules.common +import qs.modules.common.widgets import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/.config/quickshell/ii/modules/common/widgets/StyledRadioButton.qml b/.config/quickshell/ii/modules/common/widgets/StyledRadioButton.qml index 3ef1ee8ad..79797e5b6 100644 --- a/.config/quickshell/ii/modules/common/widgets/StyledRadioButton.qml +++ b/.config/quickshell/ii/modules/common/widgets/StyledRadioButton.qml @@ -1,6 +1,6 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" +import qs.modules.common +import qs.modules.common.widgets +import qs.services import Qt5Compat.GraphicalEffects import QtQuick import QtQuick.Controls diff --git a/.config/quickshell/ii/modules/common/widgets/StyledRectangularShadow.qml b/.config/quickshell/ii/modules/common/widgets/StyledRectangularShadow.qml index 66a626f1e..a3c842c4b 100644 --- a/.config/quickshell/ii/modules/common/widgets/StyledRectangularShadow.qml +++ b/.config/quickshell/ii/modules/common/widgets/StyledRectangularShadow.qml @@ -1,6 +1,6 @@ import QtQuick import QtQuick.Effects -import "root:/modules/common" +import qs.modules.common RectangularShadow { required property var target diff --git a/.config/quickshell/ii/modules/common/widgets/StyledSlider.qml b/.config/quickshell/ii/modules/common/widgets/StyledSlider.qml index 93fe43f33..e940f1a41 100644 --- a/.config/quickshell/ii/modules/common/widgets/StyledSlider.qml +++ b/.config/quickshell/ii/modules/common/widgets/StyledSlider.qml @@ -1,6 +1,6 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" +import qs.modules.common +import qs.modules.common.widgets +import qs.services import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/.config/quickshell/ii/modules/common/widgets/StyledSpinBox.qml b/.config/quickshell/ii/modules/common/widgets/StyledSpinBox.qml index 9dac2544d..c11f241a0 100644 --- a/.config/quickshell/ii/modules/common/widgets/StyledSpinBox.qml +++ b/.config/quickshell/ii/modules/common/widgets/StyledSpinBox.qml @@ -1,5 +1,5 @@ -import "root:/modules/common" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs.modules.common +import qs.modules.common.functions import QtQuick import QtQuick.Controls diff --git a/.config/quickshell/ii/modules/common/widgets/StyledSwitch.qml b/.config/quickshell/ii/modules/common/widgets/StyledSwitch.qml index 453806f31..f16e213fd 100644 --- a/.config/quickshell/ii/modules/common/widgets/StyledSwitch.qml +++ b/.config/quickshell/ii/modules/common/widgets/StyledSwitch.qml @@ -1,4 +1,4 @@ -import "root:/modules/common/" +import qs.modules.common import QtQuick import QtQuick.Layouts import QtQuick.Controls diff --git a/.config/quickshell/ii/modules/common/widgets/StyledText.qml b/.config/quickshell/ii/modules/common/widgets/StyledText.qml index 7750456e0..6024fc67a 100644 --- a/.config/quickshell/ii/modules/common/widgets/StyledText.qml +++ b/.config/quickshell/ii/modules/common/widgets/StyledText.qml @@ -1,4 +1,4 @@ -import "root:/modules/common" +import qs.modules.common import QtQuick import QtQuick.Layouts diff --git a/.config/quickshell/ii/modules/common/widgets/StyledTextArea.qml b/.config/quickshell/ii/modules/common/widgets/StyledTextArea.qml index 447ae41c3..e0abba3db 100644 --- a/.config/quickshell/ii/modules/common/widgets/StyledTextArea.qml +++ b/.config/quickshell/ii/modules/common/widgets/StyledTextArea.qml @@ -1,4 +1,4 @@ -import "root:/modules/common" +import qs.modules.common import QtQuick import QtQuick.Controls diff --git a/.config/quickshell/ii/modules/common/widgets/StyledTextInput.qml b/.config/quickshell/ii/modules/common/widgets/StyledTextInput.qml index 9ca242f19..57d0c7262 100644 --- a/.config/quickshell/ii/modules/common/widgets/StyledTextInput.qml +++ b/.config/quickshell/ii/modules/common/widgets/StyledTextInput.qml @@ -1,4 +1,4 @@ -import "root:/modules/common" +import qs.modules.common import QtQuick import QtQuick.Controls diff --git a/.config/quickshell/ii/modules/common/widgets/StyledToolTip.qml b/.config/quickshell/ii/modules/common/widgets/StyledToolTip.qml index 1b4bd033a..813c9ed14 100644 --- a/.config/quickshell/ii/modules/common/widgets/StyledToolTip.qml +++ b/.config/quickshell/ii/modules/common/widgets/StyledToolTip.qml @@ -1,5 +1,5 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" +import qs.modules.common +import qs.modules.common.widgets import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/.config/quickshell/ii/modules/common/widgets/VerticalButtonGroup.qml b/.config/quickshell/ii/modules/common/widgets/VerticalButtonGroup.qml index 7d8fc29fe..b1ca845aa 100644 --- a/.config/quickshell/ii/modules/common/widgets/VerticalButtonGroup.qml +++ b/.config/quickshell/ii/modules/common/widgets/VerticalButtonGroup.qml @@ -1,8 +1,6 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs.modules.common +import qs.modules.common.widgets import QtQuick -import QtQuick.Controls import QtQuick.Layouts /** diff --git a/.config/quickshell/ii/modules/common/widgets/WaveVisualizer.qml b/.config/quickshell/ii/modules/common/widgets/WaveVisualizer.qml index 571e71838..64559c147 100644 --- a/.config/quickshell/ii/modules/common/widgets/WaveVisualizer.qml +++ b/.config/quickshell/ii/modules/common/widgets/WaveVisualizer.qml @@ -1,13 +1,8 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs.services +import qs.modules.common +import qs.modules.common.widgets import QtQuick import QtQuick.Effects -import QtQuick.Layouts -import QtQuick.Controls -import Quickshell -import Quickshell.Io Canvas { // Visualizer id: root diff --git a/.config/quickshell/ii/modules/dock/Dock.qml b/.config/quickshell/ii/modules/dock/Dock.qml index 5b8e1b198..2f4d5d631 100644 --- a/.config/quickshell/ii/modules/dock/Dock.qml +++ b/.config/quickshell/ii/modules/dock/Dock.qml @@ -1,7 +1,7 @@ -import "root:/" -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets import QtQuick import QtQuick.Controls import QtQuick.Effects diff --git a/.config/quickshell/ii/modules/dock/DockAppButton.qml b/.config/quickshell/ii/modules/dock/DockAppButton.qml index 31e94855a..1ebbffa42 100644 --- a/.config/quickshell/ii/modules/dock/DockAppButton.qml +++ b/.config/quickshell/ii/modules/dock/DockAppButton.qml @@ -1,18 +1,14 @@ -import "root:/" -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import Qt5Compat.GraphicalEffects import QtQuick import QtQuick.Controls -import QtQuick.Effects import QtQuick.Layouts -import Quickshell.Io import Quickshell import Quickshell.Widgets -import Quickshell.Wayland -import Quickshell.Hyprland DockButton { id: root diff --git a/.config/quickshell/ii/modules/dock/DockApps.qml b/.config/quickshell/ii/modules/dock/DockApps.qml index 4135c6da5..81aedc1ad 100644 --- a/.config/quickshell/ii/modules/dock/DockApps.qml +++ b/.config/quickshell/ii/modules/dock/DockApps.qml @@ -1,18 +1,15 @@ -import "root:/" -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import Qt5Compat.GraphicalEffects import QtQuick import QtQuick.Controls -import QtQuick.Effects import QtQuick.Layouts -import Quickshell.Io import Quickshell import Quickshell.Widgets import Quickshell.Wayland -import Quickshell.Hyprland Item { id: root diff --git a/.config/quickshell/ii/modules/dock/DockButton.qml b/.config/quickshell/ii/modules/dock/DockButton.qml index 577cbcdc7..616557829 100644 --- a/.config/quickshell/ii/modules/dock/DockButton.qml +++ b/.config/quickshell/ii/modules/dock/DockButton.qml @@ -1,6 +1,6 @@ -import "root:/" -import "root:/modules/common" -import "root:/modules/common/widgets" +import qs +import qs.modules.common +import qs.modules.common.widgets import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/.config/quickshell/ii/modules/dock/DockSeparator.qml b/.config/quickshell/ii/modules/dock/DockSeparator.qml index abb45d1da..419b0fedc 100644 --- a/.config/quickshell/ii/modules/dock/DockSeparator.qml +++ b/.config/quickshell/ii/modules/dock/DockSeparator.qml @@ -1,5 +1,5 @@ -import "root:/" -import "root:/modules/common" +import qs +import qs.modules.common import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/.config/quickshell/ii/modules/mediaControls/MediaControls.qml b/.config/quickshell/ii/modules/mediaControls/MediaControls.qml index d9507265e..67c1fe0ad 100644 --- a/.config/quickshell/ii/modules/mediaControls/MediaControls.qml +++ b/.config/quickshell/ii/modules/mediaControls/MediaControls.qml @@ -1,17 +1,13 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" -import "root:/" -import "root:/modules/common/functions/string_utils.js" as StringUtils -import "root:/modules/common/functions/file_utils.js" as FileUtils -import Qt5Compat.GraphicalEffects +import qs.modules.common +import qs.modules.common.widgets +import qs.services +import qs +import qs.modules.common.functions import QtQuick import QtQuick.Layouts -import QtQuick.Controls import Quickshell import Quickshell.Io import Quickshell.Services.Mpris -import Quickshell.Widgets import Quickshell.Wayland import Quickshell.Hyprland diff --git a/.config/quickshell/ii/modules/mediaControls/PlayerControl.qml b/.config/quickshell/ii/modules/mediaControls/PlayerControl.qml index 0da91a99a..6f63c8369 100644 --- a/.config/quickshell/ii/modules/mediaControls/PlayerControl.qml +++ b/.config/quickshell/ii/modules/mediaControls/PlayerControl.qml @@ -1,20 +1,14 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" -import "root:/modules/common/functions/string_utils.js" as StringUtils -import "root:/modules/common/functions/color_utils.js" as ColorUtils -import "root:/modules/common/functions/file_utils.js" as FileUtils +import qs.modules.common +import qs.modules.common.widgets +import qs.services +import qs.modules.common.functions import Qt5Compat.GraphicalEffects import QtQuick import QtQuick.Effects import QtQuick.Layouts -import QtQuick.Controls import Quickshell import Quickshell.Io import Quickshell.Services.Mpris -import Quickshell.Widgets -import Quickshell.Wayland -import Quickshell.Hyprland Item { // Player instance id: playerController diff --git a/.config/quickshell/ii/modules/notificationPopup/NotificationPopup.qml b/.config/quickshell/ii/modules/notificationPopup/NotificationPopup.qml index 3f10a92f4..5e18a1738 100644 --- a/.config/quickshell/ii/modules/notificationPopup/NotificationPopup.qml +++ b/.config/quickshell/ii/modules/notificationPopup/NotificationPopup.qml @@ -1,7 +1,7 @@ -import "root:/" -import "root:/modules/common/" -import "root:/modules/common/widgets" -import "root:/services" +import qs +import qs.modules.common +import qs.modules.common.widgets +import qs.services import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/.config/quickshell/ii/modules/onScreenDisplay/OnScreenDisplayBrightness.qml b/.config/quickshell/ii/modules/onScreenDisplay/OnScreenDisplayBrightness.qml index 51f809e88..c4edfded1 100644 --- a/.config/quickshell/ii/modules/onScreenDisplay/OnScreenDisplayBrightness.qml +++ b/.config/quickshell/ii/modules/onScreenDisplay/OnScreenDisplayBrightness.qml @@ -1,7 +1,7 @@ -import "root:/" -import "root:/services/" -import "root:/modules/common" -import "root:/modules/common/widgets" +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/.config/quickshell/ii/modules/onScreenDisplay/OnScreenDisplayVolume.qml b/.config/quickshell/ii/modules/onScreenDisplay/OnScreenDisplayVolume.qml index db29eee3c..48970d2e9 100644 --- a/.config/quickshell/ii/modules/onScreenDisplay/OnScreenDisplayVolume.qml +++ b/.config/quickshell/ii/modules/onScreenDisplay/OnScreenDisplayVolume.qml @@ -1,7 +1,7 @@ -import "root:/" -import "root:/services/" -import "root:/modules/common" -import "root:/modules/common/widgets" +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/.config/quickshell/ii/modules/onScreenDisplay/OsdValueIndicator.qml b/.config/quickshell/ii/modules/onScreenDisplay/OsdValueIndicator.qml index dfbf4a6b8..c6fc78380 100644 --- a/.config/quickshell/ii/modules/onScreenDisplay/OsdValueIndicator.qml +++ b/.config/quickshell/ii/modules/onScreenDisplay/OsdValueIndicator.qml @@ -1,6 +1,6 @@ -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" +import qs.services +import qs.modules.common +import qs.modules.common.widgets import QtQuick import QtQuick.Controls import QtQuick.Effects diff --git a/.config/quickshell/ii/modules/onScreenKeyboard/OnScreenKeyboard.qml b/.config/quickshell/ii/modules/onScreenKeyboard/OnScreenKeyboard.qml index 199cde639..996546c57 100644 --- a/.config/quickshell/ii/modules/onScreenKeyboard/OnScreenKeyboard.qml +++ b/.config/quickshell/ii/modules/onScreenKeyboard/OnScreenKeyboard.qml @@ -1,15 +1,12 @@ -import "root:/" -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets import QtQuick import QtQuick.Controls -import QtQuick.Effects import QtQuick.Layouts import Quickshell.Io import Quickshell -import Quickshell.Widgets import Quickshell.Wayland import Quickshell.Hyprland diff --git a/.config/quickshell/ii/modules/onScreenKeyboard/OskContent.qml b/.config/quickshell/ii/modules/onScreenKeyboard/OskContent.qml index bc0f3b8d0..f505b597e 100644 --- a/.config/quickshell/ii/modules/onScreenKeyboard/OskContent.qml +++ b/.config/quickshell/ii/modules/onScreenKeyboard/OskContent.qml @@ -1,7 +1,7 @@ -import "root:/" -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets import "layouts.js" as Layouts import QtQuick import QtQuick.Controls diff --git a/.config/quickshell/ii/modules/onScreenKeyboard/OskKey.qml b/.config/quickshell/ii/modules/onScreenKeyboard/OskKey.qml index 1f28a9e57..5ae53b94b 100644 --- a/.config/quickshell/ii/modules/onScreenKeyboard/OskKey.qml +++ b/.config/quickshell/ii/modules/onScreenKeyboard/OskKey.qml @@ -1,13 +1,9 @@ -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import QtQuick -import QtQuick.Controls import QtQuick.Layouts -import Quickshell -import Quickshell.Io -import Quickshell.Hyprland RippleButton { id: root diff --git a/.config/quickshell/ii/modules/overview/Overview.qml b/.config/quickshell/ii/modules/overview/Overview.qml index 50a4f57be..9061b5b69 100644 --- a/.config/quickshell/ii/modules/overview/Overview.qml +++ b/.config/quickshell/ii/modules/overview/Overview.qml @@ -1,7 +1,7 @@ -import "root:/" -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/.config/quickshell/ii/modules/overview/OverviewWidget.qml b/.config/quickshell/ii/modules/overview/OverviewWidget.qml index 18e60c2f9..7f28c378a 100644 --- a/.config/quickshell/ii/modules/overview/OverviewWidget.qml +++ b/.config/quickshell/ii/modules/overview/OverviewWidget.qml @@ -1,14 +1,11 @@ -import "root:/" -import "root:/services/" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import QtQuick -import QtQuick.Effects import QtQuick.Layouts import Quickshell -import Quickshell.Io -import Quickshell.Widgets import Quickshell.Wayland import Quickshell.Hyprland diff --git a/.config/quickshell/ii/modules/overview/OverviewWindow.qml b/.config/quickshell/ii/modules/overview/OverviewWindow.qml index bf023a09d..fbda94071 100644 --- a/.config/quickshell/ii/modules/overview/OverviewWindow.qml +++ b/.config/quickshell/ii/modules/overview/OverviewWindow.qml @@ -1,17 +1,13 @@ -import "root:/" -import "root:/services/" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import Qt5Compat.GraphicalEffects import QtQuick -import QtQuick.Controls import QtQuick.Layouts import Quickshell -import Quickshell.Widgets -import Quickshell.Io import Quickshell.Wayland -import Quickshell.Hyprland Item { // Window id: root diff --git a/.config/quickshell/ii/modules/overview/SearchItem.qml b/.config/quickshell/ii/modules/overview/SearchItem.qml index 54f8e7c73..e7b33acea 100644 --- a/.config/quickshell/ii/modules/overview/SearchItem.qml +++ b/.config/quickshell/ii/modules/overview/SearchItem.qml @@ -1,15 +1,11 @@ // pragma NativeMethodBehavior: AcceptThisObject -import "root:/" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/color_utils.js" as ColorUtils -import "root:/modules/common/functions/string_utils.js" as StringUtils -import "root:/modules/common/functions/fuzzysort.js" as Fuzzy +import qs +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import QtQuick -import QtQuick.Controls import QtQuick.Layouts import Quickshell -import Quickshell.Io import Quickshell.Widgets import Quickshell.Hyprland diff --git a/.config/quickshell/ii/modules/overview/SearchWidget.qml b/.config/quickshell/ii/modules/overview/SearchWidget.qml index fa29291d0..3ec0b0bdd 100644 --- a/.config/quickshell/ii/modules/overview/SearchWidget.qml +++ b/.config/quickshell/ii/modules/overview/SearchWidget.qml @@ -1,8 +1,8 @@ -import "root:/" -import "root:/services/" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/string_utils.js" as StringUtils +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import Qt5Compat.GraphicalEffects import QtQuick import QtQuick.Controls diff --git a/.config/quickshell/ii/modules/screenCorners/ScreenCorners.qml b/.config/quickshell/ii/modules/screenCorners/ScreenCorners.qml index b7d9ee679..5bfed5cde 100644 --- a/.config/quickshell/ii/modules/screenCorners/ScreenCorners.qml +++ b/.config/quickshell/ii/modules/screenCorners/ScreenCorners.qml @@ -1,5 +1,5 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" +import qs.modules.common +import qs.modules.common.widgets import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/.config/quickshell/ii/modules/session/Session.qml b/.config/quickshell/ii/modules/session/Session.qml index 8b98e7f93..fc22e3303 100644 --- a/.config/quickshell/ii/modules/session/Session.qml +++ b/.config/quickshell/ii/modules/session/Session.qml @@ -1,14 +1,13 @@ -import "root:/modules/common" -import "root:/" -import "root:/services/" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs.modules.common +import qs +import qs.services +import qs.modules.common.widgets +import qs.modules.common.functions import QtQuick import QtQuick.Controls import QtQuick.Layouts import Quickshell import Quickshell.Io -import Quickshell.Widgets import Quickshell.Wayland import Quickshell.Hyprland diff --git a/.config/quickshell/ii/modules/session/SessionActionButton.qml b/.config/quickshell/ii/modules/session/SessionActionButton.qml index becda60c1..199f2abed 100644 --- a/.config/quickshell/ii/modules/session/SessionActionButton.qml +++ b/.config/quickshell/ii/modules/session/SessionActionButton.qml @@ -1,11 +1,7 @@ -import "root:/modules/common" -import "root:/modules/common/widgets/" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs.modules.common +import qs.modules.common.widgets import QtQuick -import QtQuick.Controls import QtQuick.Layouts -import Quickshell -import Quickshell.Io RippleButton { id: button diff --git a/.config/quickshell/ii/modules/settings/About.qml b/.config/quickshell/ii/modules/settings/About.qml index e2937dfe5..f9369c823 100644 --- a/.config/quickshell/ii/modules/settings/About.qml +++ b/.config/quickshell/ii/modules/settings/About.qml @@ -1,13 +1,11 @@ import QtQuick -import QtQuick.Controls import QtQuick.Layouts import Quickshell -import Quickshell.Io import Quickshell.Widgets -import "root:/" -import "root:/services/" -import "root:/modules/common/" -import "root:/modules/common/widgets/" +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets ContentPage { forceWidth: true diff --git a/.config/quickshell/ii/modules/settings/AdvancedConfig.qml b/.config/quickshell/ii/modules/settings/AdvancedConfig.qml index cd256f38b..a40f19125 100644 --- a/.config/quickshell/ii/modules/settings/AdvancedConfig.qml +++ b/.config/quickshell/ii/modules/settings/AdvancedConfig.qml @@ -1,10 +1,8 @@ import QtQuick -import QtQuick.Controls -import QtQuick.Layouts -import "root:/" -import "root:/services/" -import "root:/modules/common/" -import "root:/modules/common/widgets/" +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets ContentPage { forceWidth: true diff --git a/.config/quickshell/ii/modules/settings/InterfaceConfig.qml b/.config/quickshell/ii/modules/settings/InterfaceConfig.qml index 30a2a37b1..326339964 100644 --- a/.config/quickshell/ii/modules/settings/InterfaceConfig.qml +++ b/.config/quickshell/ii/modules/settings/InterfaceConfig.qml @@ -1,10 +1,9 @@ import QtQuick -import QtQuick.Controls import QtQuick.Layouts -import "root:/" -import "root:/services/" -import "root:/modules/common/" -import "root:/modules/common/widgets/" +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets ContentPage { forceWidth: true diff --git a/.config/quickshell/ii/modules/settings/ServicesConfig.qml b/.config/quickshell/ii/modules/settings/ServicesConfig.qml index 550a36f19..02b3a3d23 100644 --- a/.config/quickshell/ii/modules/settings/ServicesConfig.qml +++ b/.config/quickshell/ii/modules/settings/ServicesConfig.qml @@ -1,10 +1,9 @@ import QtQuick -import QtQuick.Controls import QtQuick.Layouts -import "root:/" -import "root:/services/" -import "root:/modules/common/" -import "root:/modules/common/widgets/" +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets ContentPage { forceWidth: true diff --git a/.config/quickshell/ii/modules/settings/StyleConfig.qml b/.config/quickshell/ii/modules/settings/StyleConfig.qml index b710abcea..ec37c7eb8 100644 --- a/.config/quickshell/ii/modules/settings/StyleConfig.qml +++ b/.config/quickshell/ii/modules/settings/StyleConfig.qml @@ -3,14 +3,11 @@ import QtQuick.Controls import QtQuick.Layouts import Quickshell import Quickshell.Io -import Quickshell.Widgets -import Quickshell.Hyprland -import "root:/" -import "root:/services/" -import "root:/modules/common/" -import "root:/modules/common/widgets/" -import "root:/modules/common/functions/color_utils.js" as ColorUtils -import "root:/modules/common/functions/file_utils.js" as FileUtils +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions ContentPage { baseWidth: lightDarkButtonGroup.implicitWidth diff --git a/.config/quickshell/ii/modules/sidebarLeft/AiChat.qml b/.config/quickshell/ii/modules/sidebarLeft/AiChat.qml index 06ceb07bb..756961350 100644 --- a/.config/quickshell/ii/modules/sidebarLeft/AiChat.qml +++ b/.config/quickshell/ii/modules/sidebarLeft/AiChat.qml @@ -1,18 +1,15 @@ -import "root:/" -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets import "./aiChat/" import "root:/modules/common/functions/fuzzysort.js" as Fuzzy -import "root:/modules/common/functions/string_utils.js" as StringUtils -import "root:/modules/common/functions/file_utils.js" as FileUtils +import qs.modules.common.functions import QtQuick import QtQuick.Controls import QtQuick.Layouts import Qt5Compat.GraphicalEffects -import Quickshell.Io import Quickshell -import Quickshell.Hyprland Item { id: root diff --git a/.config/quickshell/ii/modules/sidebarLeft/Anime.qml b/.config/quickshell/ii/modules/sidebarLeft/Anime.qml index 304d8f32d..266a84320 100644 --- a/.config/quickshell/ii/modules/sidebarLeft/Anime.qml +++ b/.config/quickshell/ii/modules/sidebarLeft/Anime.qml @@ -1,10 +1,9 @@ -import "root:/" -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import "root:/modules/common/functions/fuzzysort.js" as Fuzzy -import "root:/modules/common/functions/string_utils.js" as StringUtils -import "root:/modules/common/functions/file_utils.js" as FileUtils import "./anime/" import QtQuick import QtQuick.Controls diff --git a/.config/quickshell/ii/modules/sidebarLeft/ApiCommandButton.qml b/.config/quickshell/ii/modules/sidebarLeft/ApiCommandButton.qml index 39e8d7428..7ee398469 100644 --- a/.config/quickshell/ii/modules/sidebarLeft/ApiCommandButton.qml +++ b/.config/quickshell/ii/modules/sidebarLeft/ApiCommandButton.qml @@ -1,10 +1,7 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" +import qs.modules.common +import qs.modules.common.widgets +import qs.services import QtQuick -import QtQuick.Controls -import QtQuick.Layouts -import Quickshell GroupButton { id: button diff --git a/.config/quickshell/ii/modules/sidebarLeft/DescriptionBox.qml b/.config/quickshell/ii/modules/sidebarLeft/DescriptionBox.qml index 835b679da..5287ecc4d 100644 --- a/.config/quickshell/ii/modules/sidebarLeft/DescriptionBox.qml +++ b/.config/quickshell/ii/modules/sidebarLeft/DescriptionBox.qml @@ -1,7 +1,7 @@ -import "root:/" -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets import QtQuick import QtQuick.Layouts diff --git a/.config/quickshell/ii/modules/sidebarLeft/SidebarLeft.qml b/.config/quickshell/ii/modules/sidebarLeft/SidebarLeft.qml index 0bc00c24b..e5a661eb9 100644 --- a/.config/quickshell/ii/modules/sidebarLeft/SidebarLeft.qml +++ b/.config/quickshell/ii/modules/sidebarLeft/SidebarLeft.qml @@ -1,15 +1,10 @@ -import "root:/" -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets import QtQuick -import QtQuick.Controls -import QtQuick.Layouts -import QtQuick.Effects -import Qt5Compat.GraphicalEffects import Quickshell.Io import Quickshell -import Quickshell.Widgets import Quickshell.Wayland import Quickshell.Hyprland diff --git a/.config/quickshell/ii/modules/sidebarLeft/SidebarLeftContent.qml b/.config/quickshell/ii/modules/sidebarLeft/SidebarLeftContent.qml index a40b855ae..fc60618e0 100644 --- a/.config/quickshell/ii/modules/sidebarLeft/SidebarLeftContent.qml +++ b/.config/quickshell/ii/modules/sidebarLeft/SidebarLeftContent.qml @@ -1,18 +1,12 @@ -import "root:/" -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services/" +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.services import QtQuick import QtQuick.Controls import QtQuick.Layouts -import QtQuick.Effects import Qt5Compat.GraphicalEffects -import Quickshell.Io -import Quickshell -import Quickshell.Widgets -import Quickshell.Wayland -import Quickshell.Hyprland Item { id: root diff --git a/.config/quickshell/ii/modules/sidebarLeft/Translator.qml b/.config/quickshell/ii/modules/sidebarLeft/Translator.qml index 03bfa2b72..e9e3d6fe9 100644 --- a/.config/quickshell/ii/modules/sidebarLeft/Translator.qml +++ b/.config/quickshell/ii/modules/sidebarLeft/Translator.qml @@ -1,15 +1,13 @@ -import "root:/" -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/string_utils.js" as StringUtils +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import "./translator/" import QtQuick -import QtQuick.Controls import QtQuick.Layouts import Quickshell import Quickshell.Io -import Quickshell.Hyprland /** * Translator widget with the `trans` commandline tool. diff --git a/.config/quickshell/ii/modules/sidebarLeft/aiChat/AiMessage.qml b/.config/quickshell/ii/modules/sidebarLeft/aiChat/AiMessage.qml index 9933851c6..872c38ef4 100644 --- a/.config/quickshell/ii/modules/sidebarLeft/aiChat/AiMessage.qml +++ b/.config/quickshell/ii/modules/sidebarLeft/aiChat/AiMessage.qml @@ -1,19 +1,13 @@ -import "root:/" -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "../" -import "root:/modules/common/functions/string_utils.js" as StringUtils +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import QtQuick import QtQuick.Controls import QtQuick.Layouts import Quickshell.Io import Quickshell -import Quickshell.Widgets -import Quickshell.Wayland -import Quickshell.Hyprland -import Qt5Compat.GraphicalEffects -import org.kde.syntaxhighlighting Rectangle { id: root diff --git a/.config/quickshell/ii/modules/sidebarLeft/aiChat/AiMessageControlButton.qml b/.config/quickshell/ii/modules/sidebarLeft/aiChat/AiMessageControlButton.qml index 2d7cb82df..64fc77239 100644 --- a/.config/quickshell/ii/modules/sidebarLeft/aiChat/AiMessageControlButton.qml +++ b/.config/quickshell/ii/modules/sidebarLeft/aiChat/AiMessageControlButton.qml @@ -1,11 +1,7 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs.modules.common +import qs.modules.common.widgets +import qs.services import QtQuick -import QtQuick.Controls -import QtQuick.Layouts -import Quickshell GroupButton { id: button diff --git a/.config/quickshell/ii/modules/sidebarLeft/aiChat/AnnotationSourceButton.qml b/.config/quickshell/ii/modules/sidebarLeft/aiChat/AnnotationSourceButton.qml index a253a291e..83288fdab 100644 --- a/.config/quickshell/ii/modules/sidebarLeft/aiChat/AnnotationSourceButton.qml +++ b/.config/quickshell/ii/modules/sidebarLeft/aiChat/AnnotationSourceButton.qml @@ -1,14 +1,9 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" -import "root:/modules/common/functions/string_utils.js" as StringUtils -import Qt5Compat.GraphicalEffects -import Qt.labs.platform +import qs.modules.common +import qs.modules.common.widgets +import qs.services +import qs.modules.common.functions import QtQuick -import QtQuick.Controls import QtQuick.Layouts -import Quickshell.Io -import Quickshell.Widgets import Quickshell.Hyprland RippleButton { diff --git a/.config/quickshell/ii/modules/sidebarLeft/aiChat/MessageCodeBlock.qml b/.config/quickshell/ii/modules/sidebarLeft/aiChat/MessageCodeBlock.qml index eac41af56..af2dc240a 100644 --- a/.config/quickshell/ii/modules/sidebarLeft/aiChat/MessageCodeBlock.qml +++ b/.config/quickshell/ii/modules/sidebarLeft/aiChat/MessageCodeBlock.qml @@ -1,20 +1,14 @@ pragma ComponentBehavior: Bound -import "root:/" -import "root:/services" -import "root:/modules/common/" -import "root:/modules/common/widgets" -import "../" -import "root:/modules/common/functions/string_utils.js" as StringUtils -import "root:/modules/common/functions/file_utils.js" as FileUtils +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import QtQuick import QtQuick.Controls import QtQuick.Layouts -import Quickshell.Io import Quickshell -import Quickshell.Widgets -import Quickshell.Hyprland -import Qt5Compat.GraphicalEffects import org.kde.syntaxhighlighting ColumnLayout { diff --git a/.config/quickshell/ii/modules/sidebarLeft/aiChat/MessageTextBlock.qml b/.config/quickshell/ii/modules/sidebarLeft/aiChat/MessageTextBlock.qml index 189d1cfd1..4c3345001 100644 --- a/.config/quickshell/ii/modules/sidebarLeft/aiChat/MessageTextBlock.qml +++ b/.config/quickshell/ii/modules/sidebarLeft/aiChat/MessageTextBlock.qml @@ -1,19 +1,14 @@ pragma ComponentBehavior: Bound -import "root:/" -import "root:/services" -import "root:/modules/common/" -import "root:/modules/common/widgets" -import "../" -import "root:/modules/common/functions/string_utils.js" as StringUtils +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import QtQuick import QtQuick.Controls import QtQuick.Layouts -import Quickshell.Io -import Quickshell -import Quickshell.Widgets import Quickshell.Hyprland -import Qt5Compat.GraphicalEffects ColumnLayout { id: root diff --git a/.config/quickshell/ii/modules/sidebarLeft/anime/BooruImage.qml b/.config/quickshell/ii/modules/sidebarLeft/anime/BooruImage.qml index e8b24d196..cf412f274 100644 --- a/.config/quickshell/ii/modules/sidebarLeft/anime/BooruImage.qml +++ b/.config/quickshell/ii/modules/sidebarLeft/anime/BooruImage.qml @@ -1,14 +1,11 @@ -import "root:/" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/string_utils.js" as StringUtils -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import QtQml -import Qt.labs.platform import QtQuick import QtQuick.Controls import QtQuick.Layouts -import QtQuick.Effects import Qt5Compat.GraphicalEffects import Quickshell import Quickshell.Io diff --git a/.config/quickshell/ii/modules/sidebarLeft/anime/BooruResponse.qml b/.config/quickshell/ii/modules/sidebarLeft/anime/BooruResponse.qml index 3676e24ff..0aa7479f6 100644 --- a/.config/quickshell/ii/modules/sidebarLeft/anime/BooruResponse.qml +++ b/.config/quickshell/ii/modules/sidebarLeft/anime/BooruResponse.qml @@ -1,17 +1,14 @@ -import "root:/" -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/string_utils.js" as StringUtils +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import "../" -import "root:/services/" +import qs.services import QtQuick import QtQuick.Controls import QtQuick.Layouts -import Quickshell.Io import Quickshell -import Quickshell.Widgets -import Quickshell.Wayland import Quickshell.Hyprland import Qt5Compat.GraphicalEffects diff --git a/.config/quickshell/ii/modules/sidebarLeft/translator/LanguageSelectorButton.qml b/.config/quickshell/ii/modules/sidebarLeft/translator/LanguageSelectorButton.qml index 37df25f83..f23e3b84f 100644 --- a/.config/quickshell/ii/modules/sidebarLeft/translator/LanguageSelectorButton.qml +++ b/.config/quickshell/ii/modules/sidebarLeft/translator/LanguageSelectorButton.qml @@ -1,14 +1,10 @@ -import "root:/" -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/string_utils.js" as StringUtils +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import QtQuick -import QtQuick.Controls import QtQuick.Layouts -import Quickshell -import Quickshell.Io -import Quickshell.Hyprland RippleButton { id: root diff --git a/.config/quickshell/ii/modules/sidebarLeft/translator/TextCanvas.qml b/.config/quickshell/ii/modules/sidebarLeft/translator/TextCanvas.qml index 5b81a29d2..c29265c9d 100644 --- a/.config/quickshell/ii/modules/sidebarLeft/translator/TextCanvas.qml +++ b/.config/quickshell/ii/modules/sidebarLeft/translator/TextCanvas.qml @@ -1,14 +1,11 @@ -import "root:/" -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/string_utils.js" as StringUtils +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import QtQuick import QtQuick.Controls import QtQuick.Layouts -import Quickshell -import Quickshell.Io -import Quickshell.Hyprland Rectangle { id: root diff --git a/.config/quickshell/ii/modules/sidebarRight/BottomWidgetGroup.qml b/.config/quickshell/ii/modules/sidebarRight/BottomWidgetGroup.qml index a8eda901b..f799500d6 100644 --- a/.config/quickshell/ii/modules/sidebarRight/BottomWidgetGroup.qml +++ b/.config/quickshell/ii/modules/sidebarRight/BottomWidgetGroup.qml @@ -1,13 +1,11 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/" -import "root:/services" +import qs.modules.common +import qs.modules.common.widgets +import qs +import qs.services import "./calendar" import "./todo" import QtQuick -import QtQuick.Controls import QtQuick.Layouts -import Quickshell Rectangle { id: root diff --git a/.config/quickshell/ii/modules/sidebarRight/CenterWidgetGroup.qml b/.config/quickshell/ii/modules/sidebarRight/CenterWidgetGroup.qml index 126b98c0b..4aeef71c2 100644 --- a/.config/quickshell/ii/modules/sidebarRight/CenterWidgetGroup.qml +++ b/.config/quickshell/ii/modules/sidebarRight/CenterWidgetGroup.qml @@ -1,16 +1,13 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" -import "./calendar" +import qs.modules.common +import qs.modules.common.widgets +import qs.services import "./notifications" -import "./todo" import "./volumeMixer" -import "root:/" +import qs import Qt5Compat.GraphicalEffects import QtQuick import QtQuick.Controls import QtQuick.Layouts -import Quickshell Rectangle { id: root diff --git a/.config/quickshell/ii/modules/sidebarRight/SidebarRight.qml b/.config/quickshell/ii/modules/sidebarRight/SidebarRight.qml index d733ae447..835e373be 100644 --- a/.config/quickshell/ii/modules/sidebarRight/SidebarRight.qml +++ b/.config/quickshell/ii/modules/sidebarRight/SidebarRight.qml @@ -1,18 +1,15 @@ -import "root:/" -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/string_utils.js" as StringUtils -import "root:/modules/common/functions/file_utils.js" as FileUtils +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import "./quickToggles/" import QtQuick import QtQuick.Controls import QtQuick.Layouts -import QtQuick.Effects import Qt5Compat.GraphicalEffects import Quickshell.Io import Quickshell -import Quickshell.Widgets import Quickshell.Wayland import Quickshell.Hyprland diff --git a/.config/quickshell/ii/modules/sidebarRight/calendar/CalendarDayButton.qml b/.config/quickshell/ii/modules/sidebarRight/calendar/CalendarDayButton.qml index 7d1af447d..ab1aca559 100644 --- a/.config/quickshell/ii/modules/sidebarRight/calendar/CalendarDayButton.qml +++ b/.config/quickshell/ii/modules/sidebarRight/calendar/CalendarDayButton.qml @@ -1,8 +1,6 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs.modules.common +import qs.modules.common.widgets import QtQuick -import QtQuick.Controls import QtQuick.Layouts RippleButton { diff --git a/.config/quickshell/ii/modules/sidebarRight/calendar/CalendarHeaderButton.qml b/.config/quickshell/ii/modules/sidebarRight/calendar/CalendarHeaderButton.qml index 92ef3c854..6b5e5aa13 100644 --- a/.config/quickshell/ii/modules/sidebarRight/calendar/CalendarHeaderButton.qml +++ b/.config/quickshell/ii/modules/sidebarRight/calendar/CalendarHeaderButton.qml @@ -1,8 +1,6 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" +import qs.modules.common +import qs.modules.common.widgets import QtQuick -import QtQuick.Controls -import QtQuick.Layouts RippleButton { id: button diff --git a/.config/quickshell/ii/modules/sidebarRight/calendar/CalendarWidget.qml b/.config/quickshell/ii/modules/sidebarRight/calendar/CalendarWidget.qml index 3aac36045..3af804e3e 100644 --- a/.config/quickshell/ii/modules/sidebarRight/calendar/CalendarWidget.qml +++ b/.config/quickshell/ii/modules/sidebarRight/calendar/CalendarWidget.qml @@ -1,6 +1,6 @@ -import "root:/modules/common" -import "root:/" -import "root:/modules/common/widgets" +import qs.modules.common +import qs +import qs.modules.common.widgets import "./calendar_layout.js" as CalendarLayout import QtQuick import QtQuick.Controls diff --git a/.config/quickshell/ii/modules/sidebarRight/notifications/NotificationList.qml b/.config/quickshell/ii/modules/sidebarRight/notifications/NotificationList.qml index 4c95b9a5b..882829b85 100644 --- a/.config/quickshell/ii/modules/sidebarRight/notifications/NotificationList.qml +++ b/.config/quickshell/ii/modules/sidebarRight/notifications/NotificationList.qml @@ -1,13 +1,11 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" -import "root:/" +import qs.modules.common +import qs.modules.common.widgets +import qs.services +import qs import Qt5Compat.GraphicalEffects import QtQuick import QtQuick.Controls import QtQuick.Layouts -import Quickshell -import Quickshell.Widgets Item { id: root diff --git a/.config/quickshell/ii/modules/sidebarRight/notifications/NotificationStatusButton.qml b/.config/quickshell/ii/modules/sidebarRight/notifications/NotificationStatusButton.qml index bcfeaecfd..d6001a3a9 100644 --- a/.config/quickshell/ii/modules/sidebarRight/notifications/NotificationStatusButton.qml +++ b/.config/quickshell/ii/modules/sidebarRight/notifications/NotificationStatusButton.qml @@ -1,7 +1,6 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" +import qs.modules.common +import qs.modules.common.widgets import QtQuick -import QtQuick.Controls import QtQuick.Layouts GroupButton { diff --git a/.config/quickshell/ii/modules/sidebarRight/quickToggles/BluetoothToggle.qml b/.config/quickshell/ii/modules/sidebarRight/quickToggles/BluetoothToggle.qml index 2b35f8ce2..883574374 100644 --- a/.config/quickshell/ii/modules/sidebarRight/quickToggles/BluetoothToggle.qml +++ b/.config/quickshell/ii/modules/sidebarRight/quickToggles/BluetoothToggle.qml @@ -1,9 +1,8 @@ -import "../" -import "root:/" -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/string_utils.js" as StringUtils +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import QtQuick import Quickshell import Quickshell.Io diff --git a/.config/quickshell/ii/modules/sidebarRight/quickToggles/CloudflareWarp.qml b/.config/quickshell/ii/modules/sidebarRight/quickToggles/CloudflareWarp.qml index 476927e29..4e314fb19 100644 --- a/.config/quickshell/ii/modules/sidebarRight/quickToggles/CloudflareWarp.qml +++ b/.config/quickshell/ii/modules/sidebarRight/quickToggles/CloudflareWarp.qml @@ -1,10 +1,9 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/" +import qs.modules.common +import qs.modules.common.widgets +import qs import QtQuick import Quickshell.Io import Quickshell -import Quickshell.Hyprland QuickToggleButton { id: root diff --git a/.config/quickshell/ii/modules/sidebarRight/quickToggles/GameMode.qml b/.config/quickshell/ii/modules/sidebarRight/quickToggles/GameMode.qml index 0c635dbcd..1907080e8 100644 --- a/.config/quickshell/ii/modules/sidebarRight/quickToggles/GameMode.qml +++ b/.config/quickshell/ii/modules/sidebarRight/quickToggles/GameMode.qml @@ -1,10 +1,8 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "../" -import "root:/" +import qs.modules.common +import qs.modules.common.widgets +import qs import Quickshell import Quickshell.Io -import Quickshell.Hyprland QuickToggleButton { id: root diff --git a/.config/quickshell/ii/modules/sidebarRight/quickToggles/IdleInhibitor.qml b/.config/quickshell/ii/modules/sidebarRight/quickToggles/IdleInhibitor.qml index 2e24b3b12..aa1e292e9 100644 --- a/.config/quickshell/ii/modules/sidebarRight/quickToggles/IdleInhibitor.qml +++ b/.config/quickshell/ii/modules/sidebarRight/quickToggles/IdleInhibitor.qml @@ -1,10 +1,8 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "../" -import "root:/" +import qs.modules.common +import qs.modules.common.widgets +import qs import Quickshell.Io import Quickshell -import Quickshell.Hyprland QuickToggleButton { id: root diff --git a/.config/quickshell/ii/modules/sidebarRight/quickToggles/NetworkToggle.qml b/.config/quickshell/ii/modules/sidebarRight/quickToggles/NetworkToggle.qml index 06238f72b..3d4edf15b 100644 --- a/.config/quickshell/ii/modules/sidebarRight/quickToggles/NetworkToggle.qml +++ b/.config/quickshell/ii/modules/sidebarRight/quickToggles/NetworkToggle.qml @@ -1,9 +1,9 @@ -import "root:/services" -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/string_utils.js" as StringUtils +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import "../" -import "root:/" +import qs import QtQuick import Quickshell import Quickshell.Io diff --git a/.config/quickshell/ii/modules/sidebarRight/quickToggles/NightLight.qml b/.config/quickshell/ii/modules/sidebarRight/quickToggles/NightLight.qml index 3cdfad137..6cab856c8 100644 --- a/.config/quickshell/ii/modules/sidebarRight/quickToggles/NightLight.qml +++ b/.config/quickshell/ii/modules/sidebarRight/quickToggles/NightLight.qml @@ -1,9 +1,7 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "../" -import "root:/" +import qs.modules.common +import qs.modules.common.widgets +import qs import Quickshell.Io -import Quickshell QuickToggleButton { id: nightLightButton diff --git a/.config/quickshell/ii/modules/sidebarRight/quickToggles/QuickToggleButton.qml b/.config/quickshell/ii/modules/sidebarRight/quickToggles/QuickToggleButton.qml index c80f91ba6..c42a05d5a 100644 --- a/.config/quickshell/ii/modules/sidebarRight/quickToggles/QuickToggleButton.qml +++ b/.config/quickshell/ii/modules/sidebarRight/quickToggles/QuickToggleButton.qml @@ -1,10 +1,6 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs.modules.common +import qs.modules.common.widgets import QtQuick -import QtQuick.Controls -import QtQuick.Layouts -import Quickshell.Io GroupButton { id: button diff --git a/.config/quickshell/ii/modules/sidebarRight/todo/TaskList.qml b/.config/quickshell/ii/modules/sidebarRight/todo/TaskList.qml index b727ab1cd..d9a2b67c3 100644 --- a/.config/quickshell/ii/modules/sidebarRight/todo/TaskList.qml +++ b/.config/quickshell/ii/modules/sidebarRight/todo/TaskList.qml @@ -1,6 +1,6 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" +import qs.modules.common +import qs.modules.common.widgets +import qs.services import Qt5Compat.GraphicalEffects import QtQuick import QtQuick.Controls diff --git a/.config/quickshell/ii/modules/sidebarRight/todo/TodoItemActionButton.qml b/.config/quickshell/ii/modules/sidebarRight/todo/TodoItemActionButton.qml index e013a18bc..b0a6e7b9a 100644 --- a/.config/quickshell/ii/modules/sidebarRight/todo/TodoItemActionButton.qml +++ b/.config/quickshell/ii/modules/sidebarRight/todo/TodoItemActionButton.qml @@ -1,9 +1,6 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs.modules.common +import qs.modules.common.widgets import QtQuick -import QtQuick.Controls -import QtQuick.Layouts RippleButton { id: button diff --git a/.config/quickshell/ii/modules/sidebarRight/todo/TodoWidget.qml b/.config/quickshell/ii/modules/sidebarRight/todo/TodoWidget.qml index f59adcc32..50c659adc 100644 --- a/.config/quickshell/ii/modules/sidebarRight/todo/TodoWidget.qml +++ b/.config/quickshell/ii/modules/sidebarRight/todo/TodoWidget.qml @@ -1,11 +1,9 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" -import "root:/" -import "root:/modules/common/functions/color_utils.js" as ColorUtils +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets import QtQuick import QtQuick.Controls -import QtQuick.Effects import QtQuick.Layouts Item { diff --git a/.config/quickshell/ii/modules/sidebarRight/volumeMixer/AudioDeviceSelectorButton.qml b/.config/quickshell/ii/modules/sidebarRight/volumeMixer/AudioDeviceSelectorButton.qml index 70e3b7ac6..a1e589de7 100644 --- a/.config/quickshell/ii/modules/sidebarRight/volumeMixer/AudioDeviceSelectorButton.qml +++ b/.config/quickshell/ii/modules/sidebarRight/volumeMixer/AudioDeviceSelectorButton.qml @@ -1,12 +1,9 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" -import "root:/" -import Qt5Compat.GraphicalEffects +import qs +import qs.modules.common +import qs.modules.common.widgets +import qs.services import QtQuick -import QtQuick.Controls import QtQuick.Layouts -import Quickshell.Widgets import Quickshell.Services.Pipewire GroupButton { diff --git a/.config/quickshell/ii/modules/sidebarRight/volumeMixer/VolumeMixer.qml b/.config/quickshell/ii/modules/sidebarRight/volumeMixer/VolumeMixer.qml index 68cc3444f..88f6da1b8 100644 --- a/.config/quickshell/ii/modules/sidebarRight/volumeMixer/VolumeMixer.qml +++ b/.config/quickshell/ii/modules/sidebarRight/volumeMixer/VolumeMixer.qml @@ -1,13 +1,12 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" -import "root:/" +import qs.modules.common +import qs.modules.common.widgets +import qs.services +import qs import Qt5Compat.GraphicalEffects import QtQuick import QtQuick.Controls import QtQuick.Layouts import Quickshell -import Quickshell.Widgets import Quickshell.Services.Pipewire diff --git a/.config/quickshell/ii/modules/sidebarRight/volumeMixer/VolumeMixerEntry.qml b/.config/quickshell/ii/modules/sidebarRight/volumeMixer/VolumeMixerEntry.qml index 84cb572c8..5ee398015 100644 --- a/.config/quickshell/ii/modules/sidebarRight/volumeMixer/VolumeMixerEntry.qml +++ b/.config/quickshell/ii/modules/sidebarRight/volumeMixer/VolumeMixerEntry.qml @@ -1,12 +1,9 @@ -import "root:/modules/common" -import "root:/modules/common/widgets" -import "root:/services" -import Qt5Compat.GraphicalEffects +import qs.modules.common +import qs.modules.common.widgets +import qs.services import QtQuick -import QtQuick.Controls import QtQuick.Layouts import Quickshell -import Quickshell.Widgets import Quickshell.Services.Pipewire Item { diff --git a/.config/quickshell/ii/screenshot.qml b/.config/quickshell/ii/screenshot.qml index 99b3b1c26..1fb5290f5 100644 --- a/.config/quickshell/ii/screenshot.qml +++ b/.config/quickshell/ii/screenshot.qml @@ -6,10 +6,10 @@ //@ pragma Env QT_SCALE_FACTOR=1 pragma ComponentBehavior: "Bound" -import "./" -import "./modules/common/" -import "./modules/common/widgets" -import "./modules/common/functions/string_utils.js" as StringUtils +import qs +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions import QtQuick import QtQuick.Effects import QtQuick.Controls diff --git a/.config/quickshell/ii/services/Ai.qml b/.config/quickshell/ii/services/Ai.qml index 406724939..22810f2b5 100644 --- a/.config/quickshell/ii/services/Ai.qml +++ b/.config/quickshell/ii/services/Ai.qml @@ -1,14 +1,12 @@ pragma Singleton pragma ComponentBehavior: Bound -import "root:/modules/common/functions/string_utils.js" as StringUtils -import "root:/modules/common/functions/object_utils.js" as ObjectUtils -import "root:/modules/common" -import "root:/" -import Quickshell; -import Quickshell.Io; -import Qt.labs.platform -import QtQuick; +import qs.modules.common.functions as CF +import qs.modules.common +import qs +import Quickshell +import Quickshell.Io +import QtQuick /** * Basic service to handle LLM chats. Supports Google's and OpenAI's API formats. @@ -575,7 +573,7 @@ Singleton { const requestCommandString = `curl --no-buffer "${endpoint}"` + ` ${headerString}` + ((apiFormat == "gemini") ? "" : ` -H "Authorization: Bearer \$\{${root.apiKeyEnvVarName}\}"`) - + ` -d '${StringUtils.shellSingleQuoteEscape(JSON.stringify(data))}'` + + ` -d '${CF.StringUtils.shellSingleQuoteEscape(JSON.stringify(data))}'` // console.log("Request command: ", requestCommandString); requester.command = baseCommand.concat([requestCommandString]); @@ -790,7 +788,7 @@ Singleton { addFunctionOutputMessage(name, Translation.tr("Switched to search mode. Continue with the user's request.")) requester.makeRequest(); } else if (name === "get_shell_config") { - const configJson = ObjectUtils.toPlainObject(Config.options) + const configJson = CF.ObjectUtils.toPlainObject(Config.options) addFunctionOutputMessage(name, JSON.stringify(configJson)); requester.makeRequest(); } else if (name === "set_shell_config") { @@ -857,7 +855,7 @@ Singleton { root.messageIDs = saveData.map((_, i) => { return i }) - console.log(JSON.stringify(messageIDs)) + // console.log(JSON.stringify(messageIDs)) for (let i = 0; i < saveData.length; i++) { const message = saveData[i]; root.messageByID[i] = root.aiMessageComponent.createObject(root, { diff --git a/.config/quickshell/ii/services/AiMessageData.qml b/.config/quickshell/ii/services/AiMessageData.qml index dc8b80fdb..c9537abe6 100644 --- a/.config/quickshell/ii/services/AiMessageData.qml +++ b/.config/quickshell/ii/services/AiMessageData.qml @@ -1,4 +1,4 @@ -import "root:/modules/common" +import qs.modules.common import QtQuick; /** diff --git a/.config/quickshell/ii/services/AppSearch.qml b/.config/quickshell/ii/services/AppSearch.qml index e325f93f3..a658d506e 100644 --- a/.config/quickshell/ii/services/AppSearch.qml +++ b/.config/quickshell/ii/services/AppSearch.qml @@ -1,10 +1,9 @@ pragma Singleton -import "root:/modules/common" +import qs.modules.common import "root:/modules/common/functions/fuzzysort.js" as Fuzzy import "root:/modules/common/functions/levendist.js" as Levendist import Quickshell -import Quickshell.Io /** * - Eases fuzzy searching for applications by name diff --git a/.config/quickshell/ii/services/Audio.qml b/.config/quickshell/ii/services/Audio.qml index db10a968a..0651ebc70 100644 --- a/.config/quickshell/ii/services/Audio.qml +++ b/.config/quickshell/ii/services/Audio.qml @@ -1,4 +1,4 @@ -import "root:/modules/common" +import qs.modules.common import QtQuick import Quickshell import Quickshell.Services.Pipewire diff --git a/.config/quickshell/ii/services/Battery.qml b/.config/quickshell/ii/services/Battery.qml index abe7700d4..8a3cf3160 100644 --- a/.config/quickshell/ii/services/Battery.qml +++ b/.config/quickshell/ii/services/Battery.qml @@ -1,9 +1,8 @@ pragma Singleton -import "root:/modules/common" +import qs +import qs.modules.common import Quickshell -import Quickshell.Io -import Quickshell.Hyprland import Quickshell.Services.UPower Singleton { diff --git a/.config/quickshell/ii/services/Booru.qml b/.config/quickshell/ii/services/Booru.qml index ce2493f9b..38714bc17 100644 --- a/.config/quickshell/ii/services/Booru.qml +++ b/.config/quickshell/ii/services/Booru.qml @@ -1,11 +1,9 @@ pragma Singleton pragma ComponentBehavior: Bound -import "root:/modules/common" -import "root:/" +import qs.modules.common +import qs import Quickshell; -import Quickshell.Io; -import Qt.labs.platform import QtQuick; /** diff --git a/.config/quickshell/ii/services/BooruResponseData.qml b/.config/quickshell/ii/services/BooruResponseData.qml index 38e1b8c76..2a61ff6c4 100644 --- a/.config/quickshell/ii/services/BooruResponseData.qml +++ b/.config/quickshell/ii/services/BooruResponseData.qml @@ -1,4 +1,4 @@ -import "root:/modules/common" +import qs.modules.common import QtQuick; /** diff --git a/.config/quickshell/ii/services/Brightness.qml b/.config/quickshell/ii/services/Brightness.qml index 6a36f7130..74c6c5044 100644 --- a/.config/quickshell/ii/services/Brightness.qml +++ b/.config/quickshell/ii/services/Brightness.qml @@ -4,7 +4,7 @@ pragma ComponentBehavior: Bound // From https://github.com/caelestia-dots/shell/ (`quickshell` branch) with modifications. // License: GPLv3 -import "root:/" +import qs import Quickshell import Quickshell.Io import Quickshell.Hyprland diff --git a/.config/quickshell/ii/services/Cliphist.qml b/.config/quickshell/ii/services/Cliphist.qml index ff867841d..ea4400bb9 100644 --- a/.config/quickshell/ii/services/Cliphist.qml +++ b/.config/quickshell/ii/services/Cliphist.qml @@ -3,8 +3,8 @@ pragma ComponentBehavior: Bound import "root:/modules/common/functions/fuzzysort.js" as Fuzzy import "root:/modules/common/functions/levendist.js" as Levendist -import "root:/modules/common" -import "root:/" +import qs.modules.common +import qs import QtQuick import Quickshell import Quickshell.Io diff --git a/.config/quickshell/ii/services/DateTime.qml b/.config/quickshell/ii/services/DateTime.qml index 4df9ca993..e1b0afa3b 100644 --- a/.config/quickshell/ii/services/DateTime.qml +++ b/.config/quickshell/ii/services/DateTime.qml @@ -1,4 +1,4 @@ -import "root:/modules/common" +import qs.modules.common import QtQuick import Quickshell import Quickshell.Io diff --git a/.config/quickshell/ii/services/Emojis.qml b/.config/quickshell/ii/services/Emojis.qml index 852c831b5..4220b0400 100644 --- a/.config/quickshell/ii/services/Emojis.qml +++ b/.config/quickshell/ii/services/Emojis.qml @@ -3,7 +3,7 @@ pragma ComponentBehavior: Bound import "root:/modules/common/functions/fuzzysort.js" as Fuzzy import "root:/modules/common/functions/levendist.js" as Levendist -import "root:/modules/common" +import qs.modules.common import QtQuick import Quickshell import Quickshell.Io diff --git a/.config/quickshell/ii/services/FirstRunExperience.qml b/.config/quickshell/ii/services/FirstRunExperience.qml index 350c31593..a362e8cb4 100644 --- a/.config/quickshell/ii/services/FirstRunExperience.qml +++ b/.config/quickshell/ii/services/FirstRunExperience.qml @@ -1,10 +1,9 @@ pragma Singleton -import "root:/modules/common/functions/file_utils.js" as FileUtils -import "root:/modules/common" +import qs.modules.common +import qs.modules.common.functions import Quickshell import Quickshell.Io -import Quickshell.Hyprland Singleton { id: root diff --git a/.config/quickshell/ii/services/HyprlandData.qml b/.config/quickshell/ii/services/HyprlandData.qml index fb3600704..6488ded82 100644 --- a/.config/quickshell/ii/services/HyprlandData.qml +++ b/.config/quickshell/ii/services/HyprlandData.qml @@ -4,7 +4,6 @@ pragma ComponentBehavior: Bound import QtQuick import Quickshell import Quickshell.Io -import Quickshell.Wayland import Quickshell.Hyprland /** diff --git a/.config/quickshell/ii/services/HyprlandKeybinds.qml b/.config/quickshell/ii/services/HyprlandKeybinds.qml index 45dc65483..3381926b9 100644 --- a/.config/quickshell/ii/services/HyprlandKeybinds.qml +++ b/.config/quickshell/ii/services/HyprlandKeybinds.qml @@ -1,12 +1,11 @@ pragma Singleton pragma ComponentBehavior: Bound -import "root:/modules/common" -import "root:/modules/common/functions/file_utils.js" as FileUtils +import qs.modules.common +import qs.modules.common.functions import QtQuick import Quickshell import Quickshell.Io -import Quickshell.Wayland import Quickshell.Hyprland /** diff --git a/.config/quickshell/ii/services/KeyringStorage.qml b/.config/quickshell/ii/services/KeyringStorage.qml index 33cfcd3b5..ce6b8eb50 100644 --- a/.config/quickshell/ii/services/KeyringStorage.qml +++ b/.config/quickshell/ii/services/KeyringStorage.qml @@ -1,11 +1,10 @@ pragma Singleton pragma ComponentBehavior: Bound -import "root:/" -import "root:/modules/common" -import "root:/modules/common/functions/string_utils.js" as StringUtils +import qs +import qs.modules.common +import qs.modules.common.functions import Quickshell; import Quickshell.Io; -import Qt.labs.platform import QtQuick; /** diff --git a/.config/quickshell/ii/services/LatexRenderer.qml b/.config/quickshell/ii/services/LatexRenderer.qml index e7066fa4c..5baf336ed 100644 --- a/.config/quickshell/ii/services/LatexRenderer.qml +++ b/.config/quickshell/ii/services/LatexRenderer.qml @@ -1,14 +1,10 @@ pragma Singleton pragma ComponentBehavior: Bound -import "root:/modules/common/functions/string_utils.js" as StringUtils -import "root:/modules/common/functions/file_utils.js" as FileUtils -import "root:/modules/common" +import qs.modules.common.functions +import qs.modules.common import QtQuick import Quickshell -import Quickshell.Io -import Quickshell.Hyprland -import Qt.labs.platform /** * Renders LaTeX snippets with MicroTeX. diff --git a/.config/quickshell/ii/services/MaterialThemeLoader.qml b/.config/quickshell/ii/services/MaterialThemeLoader.qml index 4194d873c..8872c476e 100644 --- a/.config/quickshell/ii/services/MaterialThemeLoader.qml +++ b/.config/quickshell/ii/services/MaterialThemeLoader.qml @@ -1,7 +1,7 @@ pragma Singleton pragma ComponentBehavior: Bound -import "root:/modules/common" +import qs.modules.common import QtQuick import Quickshell import Quickshell.Io diff --git a/.config/quickshell/ii/services/MprisController.qml b/.config/quickshell/ii/services/MprisController.qml index ebc78898d..60923a6e6 100644 --- a/.config/quickshell/ii/services/MprisController.qml +++ b/.config/quickshell/ii/services/MprisController.qml @@ -4,7 +4,7 @@ pragma ComponentBehavior: Bound // From https://git.outfoxxed.me/outfoxxed/nixnew // It does not have a license, but the author is okay with redistribution. -import "root:/" +import qs import QtQml.Models import QtQuick import Quickshell diff --git a/.config/quickshell/ii/services/Notifications.qml b/.config/quickshell/ii/services/Notifications.qml index 7438983f4..d0d51e8ef 100644 --- a/.config/quickshell/ii/services/Notifications.qml +++ b/.config/quickshell/ii/services/Notifications.qml @@ -1,8 +1,8 @@ pragma Singleton pragma ComponentBehavior: Bound -import "root:/modules/common" -import "root:/" +import qs.modules.common +import qs import QtQuick import Quickshell import Quickshell.Io diff --git a/.config/quickshell/ii/services/ResourceUsage.qml b/.config/quickshell/ii/services/ResourceUsage.qml index ba08be2ac..650528408 100644 --- a/.config/quickshell/ii/services/ResourceUsage.qml +++ b/.config/quickshell/ii/services/ResourceUsage.qml @@ -1,7 +1,7 @@ pragma Singleton pragma ComponentBehavior: Bound -import "root:/modules/common" +import qs.modules.common import QtQuick import Quickshell import Quickshell.Io diff --git a/.config/quickshell/ii/services/Todo.qml b/.config/quickshell/ii/services/Todo.qml index 2cbf0d7dc..93227cbbb 100644 --- a/.config/quickshell/ii/services/Todo.qml +++ b/.config/quickshell/ii/services/Todo.qml @@ -1,10 +1,9 @@ pragma Singleton pragma ComponentBehavior: Bound -import "root:/modules/common" +import qs.modules.common import Quickshell; import Quickshell.Io; -import Qt.labs.platform import QtQuick; /** diff --git a/.config/quickshell/ii/services/Weather.qml b/.config/quickshell/ii/services/Weather.qml index a72e7e2ed..c8d46e26c 100644 --- a/.config/quickshell/ii/services/Weather.qml +++ b/.config/quickshell/ii/services/Weather.qml @@ -6,7 +6,7 @@ import Quickshell.Io import QtQuick import QtPositioning -import "root:/modules/common" +import qs.modules.common Singleton { id: root diff --git a/.config/quickshell/ii/services/Ydotool.qml b/.config/quickshell/ii/services/Ydotool.qml index f702010d1..f25b09309 100644 --- a/.config/quickshell/ii/services/Ydotool.qml +++ b/.config/quickshell/ii/services/Ydotool.qml @@ -1,9 +1,7 @@ pragma Singleton -import "root:/modules/common" +import qs.modules.common import Quickshell -import Quickshell.Io -import Quickshell.Hyprland Singleton { id: root @@ -12,12 +10,6 @@ Singleton { property list altKeys: [56, 100] // Keycodes for Alt keys (left and right) property list ctrlKeys: [29, 97] // Keycodes for Ctrl keys (left and right) - onShiftModeChanged: { - if (shiftMode === 0) { - - } - } - function releaseAllKeys() { const keycodes = Array.from(Array(249).keys()); Quickshell.execDetached([ diff --git a/.config/quickshell/ii/settings.qml b/.config/quickshell/ii/settings.qml index ed511a04a..41e1938f1 100644 --- a/.config/quickshell/ii/settings.qml +++ b/.config/quickshell/ii/settings.qml @@ -5,24 +5,19 @@ // Adjust this to make the app smaller or larger //@ pragma Env QT_SCALE_FACTOR=1 -import Qt5Compat.GraphicalEffects import QtQuick import QtQuick.Controls import QtQuick.Layouts import QtQuick.Window -import Quickshell -import Quickshell.Io -import Quickshell.Hyprland -import "root:/" -import "root:/modules/common/" -import "root:/modules/common/widgets/" -import "root:/modules/common/functions/color_utils.js" as ColorUtils -import "root:/modules/common/functions/file_utils.js" as FileUtils -import "root:/modules/common/functions/string_utils.js" as StringUtils +import qs +import qs.services +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions as CF ApplicationWindow { id: root - property string firstRunFilePath: FileUtils.trimFileProtocol(`${Directories.state}/user/first_run.txt`) + property string firstRunFilePath: CF.FileUtils.trimFileProtocol(`${Directories.state}/user/first_run.txt`) property string firstRunFileContent: "This file is just here to confirm you've been greeted :>" property real contentPadding: 8 property bool showNextTime: false diff --git a/.config/quickshell/ii/welcome.qml b/.config/quickshell/ii/welcome.qml index 9e643b776..b220ff8b2 100644 --- a/.config/quickshell/ii/welcome.qml +++ b/.config/quickshell/ii/welcome.qml @@ -12,12 +12,10 @@ import QtQuick.Window import Quickshell import Quickshell.Io import Quickshell.Hyprland -import "root:/" -import "root:/modules/common/" -import "root:/modules/common/widgets/" -import "root:/modules/common/functions/color_utils.js" as ColorUtils -import "root:/modules/common/functions/file_utils.js" as FileUtils -import "root:/modules/common/functions/string_utils.js" as StringUtils +import qs +import qs.modules.common +import qs.modules.common.widgets +import qs.modules.common.functions ApplicationWindow { id: root From 5865a62a94cd22746d547b0f994a9d48d0e577a8 Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Thu, 17 Jul 2025 22:07:03 +0700 Subject: [PATCH 5/6] gitignore: add .qmlls.ini --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index d3c0402e6..e8c1afabe 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ # Ignore Python cache files __pycache__/ *.py[cod] +.config/quickshell/ii/.qmlls.ini From cfeae73c91d6b275b68712e25b045244e9da6567 Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Thu, 17 Jul 2025 22:08:31 +0700 Subject: [PATCH 6/6] notifications: fix eliding when collapsed --- .../quickshell/ii/modules/common/widgets/NotificationItem.qml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.config/quickshell/ii/modules/common/widgets/NotificationItem.qml b/.config/quickshell/ii/modules/common/widgets/NotificationItem.qml index e660041e2..930656761 100644 --- a/.config/quickshell/ii/modules/common/widgets/NotificationItem.qml +++ b/.config/quickshell/ii/modules/common/widgets/NotificationItem.qml @@ -175,13 +175,14 @@ Item { // Notification item area StyledText { opacity: !root.expanded ? 1 : 0 visible: opacity > 0 + Layout.fillWidth: true Behavior on opacity { animation: Appearance.animation.elementMoveFast.numberAnimation.createObject(this) } - Layout.fillWidth: true font.pixelSize: root.fontSize color: Appearance.colors.colSubtext elide: Text.ElideRight + wrapMode: Text.Wrap // Needed for proper eliding???? maximumLineCount: 1 textFormat: Text.StyledText text: {