From 0c422e734592cb5a33dd7da97ea26664e50d8263 Mon Sep 17 00:00:00 2001 From: SirBlobby Date: Sun, 20 Sep 2026 00:09:41 -0400 Subject: [PATCH] Port the AGS widgets into the shell as plugins --- bin/blob-theme-dynamic | 2 +- bin/blob-toggle-tablet | 4 +- bin/blob-wallpaper-set | 15 +- bin/blob-weather-card | 20 ++ docs/widgets.md | 54 ++++ hypr/bindings.lua | 2 + shell/Commons/Color.qml | 16 ++ shell/Commons/Style.qml | 11 + shell/Ui/Card.qml | 26 ++ shell/Ui/CardHeader.qml | 38 +++ shell/Ui/CardIconButton.qml | 34 +++ shell/Ui/StatRow.qml | 47 +++ shell/Ui/qmldir | 4 + .../notification-center/HistoryModel.js | 27 ++ .../NotificationCenter.qml | 198 +++++++++++++ .../notification-center/NotificationItem.qml | 91 ++++++ .../plugins/notification-center/manifest.json | 15 + .../panels/quick-settings/Calendar.qml | 115 ++++++++ .../plugins/panels/quick-settings/Header.qml | 61 ++++ .../panels/quick-settings/MediaRow.qml | 69 +++++ .../panels/quick-settings/PolledFlag.qml | 32 +++ .../panels/quick-settings/PolledText.qml | 32 +++ .../panels/quick-settings/QuickSettings.qml | 271 ++++++++++++++++++ .../panels/quick-settings/SliderRow.qml | 85 ++++++ shell/plugins/panels/quick-settings/Tile.qml | 56 ++++ shell/plugins/panels/quick-settings/Tiles.qml | 92 ++++++ .../panels/quick-settings/WeatherCard.qml | 45 +++ .../panels/quick-settings/manifest.json | 15 + shell/plugins/panels/sysmon/Metric.qml | 71 +++++ shell/plugins/panels/sysmon/SysMonitor.qml | 194 +++++++++++++ shell/plugins/panels/sysmon/manifest.json | 15 + 31 files changed, 1740 insertions(+), 17 deletions(-) create mode 100755 bin/blob-weather-card create mode 100644 docs/widgets.md create mode 100644 shell/Ui/Card.qml create mode 100644 shell/Ui/CardHeader.qml create mode 100644 shell/Ui/CardIconButton.qml create mode 100644 shell/Ui/StatRow.qml create mode 100644 shell/plugins/notification-center/HistoryModel.js create mode 100644 shell/plugins/notification-center/NotificationCenter.qml create mode 100644 shell/plugins/notification-center/NotificationItem.qml create mode 100644 shell/plugins/notification-center/manifest.json create mode 100644 shell/plugins/panels/quick-settings/Calendar.qml create mode 100644 shell/plugins/panels/quick-settings/Header.qml create mode 100644 shell/plugins/panels/quick-settings/MediaRow.qml create mode 100644 shell/plugins/panels/quick-settings/PolledFlag.qml create mode 100644 shell/plugins/panels/quick-settings/PolledText.qml create mode 100644 shell/plugins/panels/quick-settings/QuickSettings.qml create mode 100644 shell/plugins/panels/quick-settings/SliderRow.qml create mode 100644 shell/plugins/panels/quick-settings/Tile.qml create mode 100644 shell/plugins/panels/quick-settings/Tiles.qml create mode 100644 shell/plugins/panels/quick-settings/WeatherCard.qml create mode 100644 shell/plugins/panels/quick-settings/manifest.json create mode 100644 shell/plugins/panels/sysmon/Metric.qml create mode 100644 shell/plugins/panels/sysmon/SysMonitor.qml create mode 100644 shell/plugins/panels/sysmon/manifest.json diff --git a/bin/blob-theme-dynamic b/bin/blob-theme-dynamic index a90ffc0..01cc458 100755 --- a/bin/blob-theme-dynamic +++ b/bin/blob-theme-dynamic @@ -5,7 +5,7 @@ dynamic_theme_dir="$HOME/.config/blob/themes/blob-dynamic" if [ ! -f "$dynamic_theme_dir/colors.toml" ]; then - echo "No dynamic theme yet. Pick a wallpaper first: blob-bg-menu" >&2 + echo "No dynamic theme yet. Pick a wallpaper first: blob-wallpaper-set --menu" >&2 exit 1 fi diff --git a/bin/blob-toggle-tablet b/bin/blob-toggle-tablet index 736780a..ac2d8fc 100755 --- a/bin/blob-toggle-tablet +++ b/bin/blob-toggle-tablet @@ -128,7 +128,7 @@ case "${1:-toggle}" in select_mode all ;; set) - [ -n "$2" ] || { echo "Usage: blob-toggle-tablet-follow set " >&2; exit 1; } + [ -n "$2" ] || { echo "Usage: blob-toggle-tablet set " >&2; exit 1; } select_mode "$2" ;; status|--status) @@ -141,7 +141,7 @@ case "${1:-toggle}" in [ "$(selected_mode)" = "all" ] || start_daemon ;; *) - echo "Usage: blob-toggle-tablet-follow [toggle|on|off|set |status|monitors|autostart]" >&2 + echo "Usage: blob-toggle-tablet [toggle|on|off|set |status|monitors|autostart]" >&2 exit 1 ;; esac diff --git a/bin/blob-wallpaper-set b/bin/blob-wallpaper-set index 14e4038..ce7cfa5 100755 --- a/bin/blob-wallpaper-set +++ b/bin/blob-wallpaper-set @@ -19,21 +19,8 @@ mkdir -p "$THEME_DIR/backgrounds" echo "PATH=$PATH" } >> "$HOME/.cache/blob-wallpaper.log" -# Rows for blob-menu-select, as "