From 5a687c356550a514ef0e0c8004ddd429ba2fbc7d Mon Sep 17 00:00:00 2001 From: Rili <152202287+Rilivaine@users.noreply.github.com> Date: Thu, 1 Jan 2026 16:46:45 +0200 Subject: [PATCH 1/8] fix persisting Windows key, instead of user configured key --- dots/.config/quickshell/ii/modules/settings/QuickConfig.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dots/.config/quickshell/ii/modules/settings/QuickConfig.qml b/dots/.config/quickshell/ii/modules/settings/QuickConfig.qml index 8a31d7728..5964f4dff 100644 --- a/dots/.config/quickshell/ii/modules/settings/QuickConfig.qml +++ b/dots/.config/quickshell/ii/modules/settings/QuickConfig.qml @@ -141,7 +141,7 @@ ContentPage { key: "Ctrl" } KeyboardKey { - key: "󰖳" + key: Config.options.cheatsheet.superKey ?? "󰖳" } StyledText { Layout.alignment: Qt.AlignVCenter From da578735e6f4c9fb60a63ba900ac9ee799ed3da8 Mon Sep 17 00:00:00 2001 From: pandakewt Date: Sat, 3 Jan 2026 13:58:07 +0700 Subject: [PATCH 2/8] fix: update changePassword function to use SSID variable for network modification --- dots/.config/quickshell/ii/services/Network.qml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dots/.config/quickshell/ii/services/Network.qml b/dots/.config/quickshell/ii/services/Network.qml index 69bd5337d..af10b3b51 100644 --- a/dots/.config/quickshell/ii/services/Network.qml +++ b/dots/.config/quickshell/ii/services/Network.qml @@ -90,8 +90,9 @@ Singleton { changePasswordProc.exec({ "environment": { "PASSWORD": password + "SSID": network.ssid }, - "command": ["bash", "-c", `nmcli connection modify ${network.ssid} wifi-sec.psk "$PASSWORD"`] + "command": ["bash", "-c", 'nmcli connection modify "$SSID" wifi-sec.psk "$PASSWORD"'] }) } From b268f1d61cefb7e7facae9d2d1446bb7694c91c4 Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Sat, 3 Jan 2026 19:36:24 +0100 Subject: [PATCH 3/8] add missing comma --- dots/.config/quickshell/ii/services/Network.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dots/.config/quickshell/ii/services/Network.qml b/dots/.config/quickshell/ii/services/Network.qml index af10b3b51..8c3e5a9d1 100644 --- a/dots/.config/quickshell/ii/services/Network.qml +++ b/dots/.config/quickshell/ii/services/Network.qml @@ -89,7 +89,7 @@ Singleton { network.askingPassword = false; changePasswordProc.exec({ "environment": { - "PASSWORD": password + "PASSWORD": password, "SSID": network.ssid }, "command": ["bash", "-c", 'nmcli connection modify "$SSID" wifi-sec.psk "$PASSWORD"'] From 8538efe743472afebc62364845a8aa4ed202ece9 Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Sun, 4 Jan 2026 00:10:49 +0100 Subject: [PATCH 4/8] overview: tab to copy selected result --- .../ii/modules/ii/overview/SearchBar.qml | 21 +++++++++----- .../ii/modules/ii/overview/SearchWidget.qml | 28 ++++++++++++++----- 2 files changed, 35 insertions(+), 14 deletions(-) diff --git a/dots/.config/quickshell/ii/modules/ii/overview/SearchBar.qml b/dots/.config/quickshell/ii/modules/ii/overview/SearchBar.qml index 6a5de6a7e..56a7f0574 100644 --- a/dots/.config/quickshell/ii/modules/ii/overview/SearchBar.qml +++ b/dots/.config/quickshell/ii/modules/ii/overview/SearchBar.qml @@ -1,15 +1,12 @@ +pragma ComponentBehavior: Bound +import QtQuick +import QtQuick.Layouts +import Quickshell 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.Io -import Quickshell.Hyprland RowLayout { id: root @@ -92,6 +89,16 @@ RowLayout { } } } + + Keys.onPressed: event => { + if (event.key === Qt.Key_Tab) { + if (LauncherSearch.results.length === 0) return; + const tabbedText = LauncherSearch.results[0].name; + LauncherSearch.query = tabbedText; + searchInput.text = tabbedText; + event.accepted = true; + } + } } IconToolbarButton { diff --git a/dots/.config/quickshell/ii/modules/ii/overview/SearchWidget.qml b/dots/.config/quickshell/ii/modules/ii/overview/SearchWidget.qml index 6450ccef0..c99b930c1 100644 --- a/dots/.config/quickshell/ii/modules/ii/overview/SearchWidget.qml +++ b/dots/.config/quickshell/ii/modules/ii/overview/SearchWidget.qml @@ -1,15 +1,16 @@ +pragma ComponentBehavior: Bound + +import Qt.labs.synchronizer +import Qt5Compat.GraphicalEffects +import QtQuick +import QtQuick.Layouts +import Quickshell + import qs import qs.services import qs.modules.common import qs.modules.common.widgets import qs.modules.common.functions -import Qt.labs.synchronizer -import Qt5Compat.GraphicalEffects -import QtQuick -import QtQuick.Controls -import QtQuick.Layouts -import Quickshell -import Quickshell.Io Item { // Wrapper id: root @@ -205,12 +206,25 @@ Item { // Wrapper } delegate: SearchItem { + id: searchItem // The selectable item for each search result required property var modelData anchors.left: parent?.left anchors.right: parent?.right entry: modelData query: StringUtils.cleanOnePrefix(root.searchingText, [Config.options.search.prefix.action, Config.options.search.prefix.app, Config.options.search.prefix.clipboard, Config.options.search.prefix.emojis, Config.options.search.prefix.math, Config.options.search.prefix.shellCommand, Config.options.search.prefix.webSearch]) + + Keys.onPressed: event => { + if (event.key === Qt.Key_Tab) { + if (LauncherSearch.results.length === 0) + return; + const tabbedText = searchItem.modelData.name; + LauncherSearch.query = tabbedText; + searchBar.searchInput.text = tabbedText; + event.accepted = true; + root.focusSearchInput(); + } + } } } } From 58e372c590249b2513c4dc03d0c0d2c78b04ad6e Mon Sep 17 00:00:00 2001 From: ech0 Date: Sat, 3 Jan 2026 18:11:42 -0500 Subject: [PATCH 5/8] Fixed issue where thumbgenProc would not fallback on generate-thumbnails-magick.sh if thumbgen-venv.sh fails. Fixed issue where thumbnails would not reload after being generated. --- .../ii/modules/ii/wallpaperSelector/WallpaperDirectoryItem.qml | 2 +- dots/.config/quickshell/ii/scripts/thumbnails/thumbgen-venv.sh | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/dots/.config/quickshell/ii/modules/ii/wallpaperSelector/WallpaperDirectoryItem.qml b/dots/.config/quickshell/ii/modules/ii/wallpaperSelector/WallpaperDirectoryItem.qml index 23f7915ef..a2720605d 100644 --- a/dots/.config/quickshell/ii/modules/ii/wallpaperSelector/WallpaperDirectoryItem.qml +++ b/dots/.config/quickshell/ii/modules/ii/wallpaperSelector/WallpaperDirectoryItem.qml @@ -73,7 +73,7 @@ MouseArea { target: Wallpapers function onThumbnailGenerated(directory) { if (thumbnailImage.status !== Image.Error) return; - if (FileUtils.parentDirectory(thumbnailImage.sourcePath) !== directory) return; + if (FileUtils.parentDirectory(thumbnailImage.sourcePath) !== FileUtils.trimFileProtocol(directory)) return; thumbnailImage.source = ""; thumbnailImage.source = thumbnailImage.thumbnailPath; } diff --git a/dots/.config/quickshell/ii/scripts/thumbnails/thumbgen-venv.sh b/dots/.config/quickshell/ii/scripts/thumbnails/thumbgen-venv.sh index 5b24f16f9..9b0d92385 100755 --- a/dots/.config/quickshell/ii/scripts/thumbnails/thumbgen-venv.sh +++ b/dots/.config/quickshell/ii/scripts/thumbnails/thumbgen-venv.sh @@ -3,5 +3,7 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source $(eval echo $ILLOGICAL_IMPULSE_VIRTUAL_ENV)/bin/activate GIO_USE_VFS=local "$SCRIPT_DIR/thumbgen.py" "$@" +THUMBGEN_EXIT_CODE=$? deactivate +exit $THUMBGEN_EXIT_CODE From 7197f9ddfb9201510223399808748887216006ec Mon Sep 17 00:00:00 2001 From: Greyfeather Date: Sat, 3 Jan 2026 21:46:18 -0700 Subject: [PATCH 6/8] add last refresh timestamp to weather popup --- .../modules/ii/bar/weather/WeatherPopup.qml | 30 +++++++++++++++++++ .../quickshell/ii/services/Weather.qml | 4 ++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/dots/.config/quickshell/ii/modules/ii/bar/weather/WeatherPopup.qml b/dots/.config/quickshell/ii/modules/ii/bar/weather/WeatherPopup.qml index 85d9c1bac..f07f27c38 100644 --- a/dots/.config/quickshell/ii/modules/ii/bar/weather/WeatherPopup.qml +++ b/dots/.config/quickshell/ii/modules/ii/bar/weather/WeatherPopup.qml @@ -100,5 +100,35 @@ StyledPopup { value: Weather.data.sunset } } + + // Footer + ColumnLayout { + id: footer + Layout.alignment: Qt.AlignHCenter + spacing: 2 + + RowLayout { + Layout.alignment: Qt.AlignHCenter + spacing: 6 + + StyledText { + text: "Last Refresh:" + font { + weight: Font.Medium + pixelSize: Appearance.font.pixelSize.smaller + } + color: Appearance.colors.colOnSurfaceVariant + } + + StyledText { + text: Weather.data.lastRefresh + font { + weight: Font.Medium + pixelSize: Appearance.font.pixelSize.smaller + } + color: Appearance.colors.colOnSurfaceVariant + } + } + } } } diff --git a/dots/.config/quickshell/ii/services/Weather.qml b/dots/.config/quickshell/ii/services/Weather.qml index a7bb8d5ce..0b900a1d9 100644 --- a/dots/.config/quickshell/ii/services/Weather.qml +++ b/dots/.config/quickshell/ii/services/Weather.qml @@ -42,7 +42,8 @@ Singleton { visib: 0, press: 0, temp: 0, - tempFeelsLike: 0 + tempFeelsLike: 0, + lastRefresh: 0, }) function refineData(data) { @@ -75,6 +76,7 @@ Singleton { temp.temp += "°C"; temp.tempFeelsLike += "°C"; } + temp.lastRefresh = Qt.locale().toString(new Date(), (Config.options?.time.format ?? "hh:mm") + " - " + (Config.options?.time.dateWithYearFormat ?? "dd/MM/yyyy")); root.data = temp; } From 14c930d48cc7bef55aed37c45063154e46aff179 Mon Sep 17 00:00:00 2001 From: Greyfeather Date: Sat, 3 Jan 2026 22:05:02 -0700 Subject: [PATCH 7/8] Use wrapper functions in DateTime to format --- dots/.config/quickshell/ii/services/Weather.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dots/.config/quickshell/ii/services/Weather.qml b/dots/.config/quickshell/ii/services/Weather.qml index 0b900a1d9..c42c7cb8e 100644 --- a/dots/.config/quickshell/ii/services/Weather.qml +++ b/dots/.config/quickshell/ii/services/Weather.qml @@ -76,7 +76,7 @@ Singleton { temp.temp += "°C"; temp.tempFeelsLike += "°C"; } - temp.lastRefresh = Qt.locale().toString(new Date(), (Config.options?.time.format ?? "hh:mm") + " - " + (Config.options?.time.dateWithYearFormat ?? "dd/MM/yyyy")); + temp.lastRefresh = DateTime.time + " • " + DateTime.date; root.data = temp; } From bf06497f9e05492eb5d1024dfede7c13ac8bb65f Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Sun, 4 Jan 2026 10:36:03 +0100 Subject: [PATCH 8/8] weatherpopup: remove useless layouts --- .../modules/ii/bar/weather/WeatherPopup.qml | 33 ++++--------------- 1 file changed, 7 insertions(+), 26 deletions(-) diff --git a/dots/.config/quickshell/ii/modules/ii/bar/weather/WeatherPopup.qml b/dots/.config/quickshell/ii/modules/ii/bar/weather/WeatherPopup.qml index f07f27c38..5b00b4590 100644 --- a/dots/.config/quickshell/ii/modules/ii/bar/weather/WeatherPopup.qml +++ b/dots/.config/quickshell/ii/modules/ii/bar/weather/WeatherPopup.qml @@ -101,34 +101,15 @@ StyledPopup { } } - // Footer - ColumnLayout { - id: footer + // Footer: last refresh + StyledText { Layout.alignment: Qt.AlignHCenter - spacing: 2 - - RowLayout { - Layout.alignment: Qt.AlignHCenter - spacing: 6 - - StyledText { - text: "Last Refresh:" - font { - weight: Font.Medium - pixelSize: Appearance.font.pixelSize.smaller - } - color: Appearance.colors.colOnSurfaceVariant - } - - StyledText { - text: Weather.data.lastRefresh - font { - weight: Font.Medium - pixelSize: Appearance.font.pixelSize.smaller - } - color: Appearance.colors.colOnSurfaceVariant - } + text: Translation.tr("Last refresh: %1").arg(Weather.data.lastRefresh) + font { + weight: Font.Medium + pixelSize: Appearance.font.pixelSize.smaller } + color: Appearance.colors.colOnSurfaceVariant } } }