From c27366900389886df50f79b40a645ca126adf11c Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Mon, 14 Apr 2025 23:35:40 +0200 Subject: [PATCH] sidebar progress --- .config/quickshell/ReloadPopup.qml | 17 +- .../assets/icons/ai-openai-symbolic.svg | 1 + .../quickshell/assets/icons/arch-symbolic.svg | 113 +++++++ .../assets/icons/cachyos-symbolic.svg | 318 ++++++++++++++++++ .../assets/icons/cloudflare-dns-symbolic.svg | 10 + .../assets/icons/crosshair-symbolic.svg | 65 ++++ .../assets/icons/debian-symbolic.svg | 91 +++++ .../assets/icons/deepseek-symbolic.svg | 47 +++ .../assets/icons/desktop-symbolic.svg | 4 + .../assets/icons/endeavouros-symbolic.svg | 96 ++++++ .../assets/icons/fedora-symbolic.svg | 38 +++ .../assets/icons/flatpak-symbolic.svg | 52 +++ .../assets/icons/github-symbolic.svg | 40 +++ .../assets/icons/google-gemini-symbolic.svg | 56 +++ .../assets/icons/linux-symbolic.svg | 113 +++++++ .../assets/icons/microsoft-symbolic.svg | 54 +++ .../assets/icons/nixos-symbolic.svg | 77 +++++ .../assets/icons/ollama-symbolic.svg | 60 ++++ .../assets/icons/openai-symbolic.svg | 38 +++ .../assets/icons/openrouter-symbolic.svg | 39 +++ .../assets/icons/ubuntu-symbolic.svg | 85 +++++ .../assets/images/default_wallpaper.png | Bin 0 -> 67685 bytes .../quickshell/modules/common/Appearance.qml | 4 + .../modules/common/ConfigOptions.qml | 4 + .../modules/common/widgets/CustomIcon.qml | 24 ++ .../sidebarRight/QuickToggleButton.qml | 33 ++ .../modules/sidebarRight/SidebarRight.qml | 93 ++++- .../scripts/wayland-idle-inhibitor.py | 86 +++++ 28 files changed, 1652 insertions(+), 6 deletions(-) create mode 120000 .config/quickshell/assets/icons/ai-openai-symbolic.svg create mode 100644 .config/quickshell/assets/icons/arch-symbolic.svg create mode 100644 .config/quickshell/assets/icons/cachyos-symbolic.svg create mode 100644 .config/quickshell/assets/icons/cloudflare-dns-symbolic.svg create mode 100644 .config/quickshell/assets/icons/crosshair-symbolic.svg create mode 100644 .config/quickshell/assets/icons/debian-symbolic.svg create mode 100644 .config/quickshell/assets/icons/deepseek-symbolic.svg create mode 100644 .config/quickshell/assets/icons/desktop-symbolic.svg create mode 100644 .config/quickshell/assets/icons/endeavouros-symbolic.svg create mode 100644 .config/quickshell/assets/icons/fedora-symbolic.svg create mode 100644 .config/quickshell/assets/icons/flatpak-symbolic.svg create mode 100644 .config/quickshell/assets/icons/github-symbolic.svg create mode 100644 .config/quickshell/assets/icons/google-gemini-symbolic.svg create mode 100644 .config/quickshell/assets/icons/linux-symbolic.svg create mode 100644 .config/quickshell/assets/icons/microsoft-symbolic.svg create mode 100644 .config/quickshell/assets/icons/nixos-symbolic.svg create mode 100644 .config/quickshell/assets/icons/ollama-symbolic.svg create mode 100644 .config/quickshell/assets/icons/openai-symbolic.svg create mode 100644 .config/quickshell/assets/icons/openrouter-symbolic.svg create mode 100644 .config/quickshell/assets/icons/ubuntu-symbolic.svg create mode 100644 .config/quickshell/assets/images/default_wallpaper.png create mode 100644 .config/quickshell/modules/common/widgets/CustomIcon.qml create mode 100644 .config/quickshell/modules/sidebarRight/QuickToggleButton.qml create mode 100755 .config/quickshell/scripts/wayland-idle-inhibitor.py diff --git a/.config/quickshell/ReloadPopup.qml b/.config/quickshell/ReloadPopup.qml index c3f0aab9..eb19cbd9 100644 --- a/.config/quickshell/ReloadPopup.qml +++ b/.config/quickshell/ReloadPopup.qml @@ -97,6 +97,7 @@ Scope { // A progress bar on the bottom of the screen, showing how long until the // popup is removed. Rectangle { + z: 2 id: bar color: failed ? "#ff93000A" : "#ff0C1F13" anchors.bottom: parent.bottom @@ -109,9 +110,9 @@ Scope { id: anim target: bar property: "width" - from: rect.width + from: rect.width - bar.anchors.margins * 2 to: 0 - duration: failed ? 10000 : 800 + duration: failed ? 10000 : 1000 onFinished: popupLoader.active = false // Pause the animation when the mouse is hovering over the popup, @@ -120,6 +121,18 @@ Scope { paused: mouseArea.containsMouse } } + // Its bg + Rectangle { + z: 1 + id: bar_bg + color: failed ? "#30af1b25" : "#4027643e" + anchors.bottom: parent.bottom + anchors.left: parent.left + anchors.margins: 10 + height: 5 + radius: 9999 + width: rect.width - bar.anchors.margins * 2 + } // We could set `running: true` inside the animation, but the width of the // rectangle might not be calculated yet, due to the layout. diff --git a/.config/quickshell/assets/icons/ai-openai-symbolic.svg b/.config/quickshell/assets/icons/ai-openai-symbolic.svg new file mode 120000 index 00000000..c9ee0b32 --- /dev/null +++ b/.config/quickshell/assets/icons/ai-openai-symbolic.svg @@ -0,0 +1 @@ +openai-symbolic.svg \ No newline at end of file diff --git a/.config/quickshell/assets/icons/arch-symbolic.svg b/.config/quickshell/assets/icons/arch-symbolic.svg new file mode 100644 index 00000000..7de9094e --- /dev/null +++ b/.config/quickshell/assets/icons/arch-symbolic.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.config/quickshell/assets/icons/cachyos-symbolic.svg b/.config/quickshell/assets/icons/cachyos-symbolic.svg new file mode 100644 index 00000000..4a9db19a --- /dev/null +++ b/.config/quickshell/assets/icons/cachyos-symbolic.svg @@ -0,0 +1,318 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.config/quickshell/assets/icons/cloudflare-dns-symbolic.svg b/.config/quickshell/assets/icons/cloudflare-dns-symbolic.svg new file mode 100644 index 00000000..bd48d3c9 --- /dev/null +++ b/.config/quickshell/assets/icons/cloudflare-dns-symbolic.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/.config/quickshell/assets/icons/crosshair-symbolic.svg b/.config/quickshell/assets/icons/crosshair-symbolic.svg new file mode 100644 index 00000000..22967493 --- /dev/null +++ b/.config/quickshell/assets/icons/crosshair-symbolic.svg @@ -0,0 +1,65 @@ + + + + + + + ionicons-v5_logos + + + + ionicons-v5_logos + + + + + + diff --git a/.config/quickshell/assets/icons/debian-symbolic.svg b/.config/quickshell/assets/icons/debian-symbolic.svg new file mode 100644 index 00000000..252f8533 --- /dev/null +++ b/.config/quickshell/assets/icons/debian-symbolic.svg @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/.config/quickshell/assets/icons/deepseek-symbolic.svg b/.config/quickshell/assets/icons/deepseek-symbolic.svg new file mode 100644 index 00000000..029e1266 --- /dev/null +++ b/.config/quickshell/assets/icons/deepseek-symbolic.svg @@ -0,0 +1,47 @@ + + + + + + + + + diff --git a/.config/quickshell/assets/icons/desktop-symbolic.svg b/.config/quickshell/assets/icons/desktop-symbolic.svg new file mode 100644 index 00000000..04f7a3b5 --- /dev/null +++ b/.config/quickshell/assets/icons/desktop-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/.config/quickshell/assets/icons/endeavouros-symbolic.svg b/.config/quickshell/assets/icons/endeavouros-symbolic.svg new file mode 100644 index 00000000..3be4cc40 --- /dev/null +++ b/.config/quickshell/assets/icons/endeavouros-symbolic.svg @@ -0,0 +1,96 @@ + + + + + EndeavourOS Logo + + + + image/svg+xml + + EndeavourOS Logo + + + + + + + + + + + + + + + + + + + diff --git a/.config/quickshell/assets/icons/fedora-symbolic.svg b/.config/quickshell/assets/icons/fedora-symbolic.svg new file mode 100644 index 00000000..1a4e8c87 --- /dev/null +++ b/.config/quickshell/assets/icons/fedora-symbolic.svg @@ -0,0 +1,38 @@ + + + + + + + diff --git a/.config/quickshell/assets/icons/flatpak-symbolic.svg b/.config/quickshell/assets/icons/flatpak-symbolic.svg new file mode 100644 index 00000000..0c2bf628 --- /dev/null +++ b/.config/quickshell/assets/icons/flatpak-symbolic.svg @@ -0,0 +1,52 @@ + + + + + Flatpak + + + + + Flatpak + + + + diff --git a/.config/quickshell/assets/icons/github-symbolic.svg b/.config/quickshell/assets/icons/github-symbolic.svg new file mode 100644 index 00000000..c1c9f19c --- /dev/null +++ b/.config/quickshell/assets/icons/github-symbolic.svg @@ -0,0 +1,40 @@ + + + + + + diff --git a/.config/quickshell/assets/icons/google-gemini-symbolic.svg b/.config/quickshell/assets/icons/google-gemini-symbolic.svg new file mode 100644 index 00000000..9de741be --- /dev/null +++ b/.config/quickshell/assets/icons/google-gemini-symbolic.svg @@ -0,0 +1,56 @@ + + + + + + + ionicons-v5_logos + + + + + ionicons-v5_logos + + + + diff --git a/.config/quickshell/assets/icons/linux-symbolic.svg b/.config/quickshell/assets/icons/linux-symbolic.svg new file mode 100644 index 00000000..63f9c7e5 --- /dev/null +++ b/.config/quickshell/assets/icons/linux-symbolic.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.config/quickshell/assets/icons/microsoft-symbolic.svg b/.config/quickshell/assets/icons/microsoft-symbolic.svg new file mode 100644 index 00000000..b90cfc63 --- /dev/null +++ b/.config/quickshell/assets/icons/microsoft-symbolic.svg @@ -0,0 +1,54 @@ + + + + + + + + + diff --git a/.config/quickshell/assets/icons/nixos-symbolic.svg b/.config/quickshell/assets/icons/nixos-symbolic.svg new file mode 100644 index 00000000..b697b0d1 --- /dev/null +++ b/.config/quickshell/assets/icons/nixos-symbolic.svg @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + diff --git a/.config/quickshell/assets/icons/ollama-symbolic.svg b/.config/quickshell/assets/icons/ollama-symbolic.svg new file mode 100644 index 00000000..01454815 --- /dev/null +++ b/.config/quickshell/assets/icons/ollama-symbolic.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + diff --git a/.config/quickshell/assets/icons/openai-symbolic.svg b/.config/quickshell/assets/icons/openai-symbolic.svg new file mode 100644 index 00000000..8ffc912a --- /dev/null +++ b/.config/quickshell/assets/icons/openai-symbolic.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/.config/quickshell/assets/icons/openrouter-symbolic.svg b/.config/quickshell/assets/icons/openrouter-symbolic.svg new file mode 100644 index 00000000..32aaaf50 --- /dev/null +++ b/.config/quickshell/assets/icons/openrouter-symbolic.svg @@ -0,0 +1,39 @@ + + + + + + diff --git a/.config/quickshell/assets/icons/ubuntu-symbolic.svg b/.config/quickshell/assets/icons/ubuntu-symbolic.svg new file mode 100644 index 00000000..07746c9f --- /dev/null +++ b/.config/quickshell/assets/icons/ubuntu-symbolic.svg @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.config/quickshell/assets/images/default_wallpaper.png b/.config/quickshell/assets/images/default_wallpaper.png new file mode 100644 index 0000000000000000000000000000000000000000..77d890c21b201652214d41195a15bb586beac1be GIT binary patch literal 67685 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 { + // sidebarRoot.visible = false + if (!active) sidebarRoot.visible = false + } + } + + Connections { + target: sidebarRoot + function onVisibleChanged() { + delayedGrabTimer.start() + } + } + + Timer { + id: delayedGrabTimer + interval: ConfigOptions.hacks.arbitraryRaceConditionDelay + repeat: false + onTriggered: { + grab.active = sidebarRoot.visible + } } // Background @@ -60,6 +81,70 @@ Scope { event.accepted = true; // Prevent further propagation of the event } } + + ColumnLayout { + anchors.centerIn: parent + height: parent.height - sidebarPadding * 2 + width: parent.width - sidebarPadding * 2 + spacing: sidebarPadding + + RowLayout { + Layout.fillHeight: false + spacing: 10 + Layout.margins: 10 + Layout.topMargin: 10 + + CustomIcon { + width: 25 + height: 25 + source: SystemInfo.distroIcon + } + + StyledText { + font.pointSize: Appearance.font.pointSize.normal + color: Appearance.colors.colOnLayer0 + text: `Uptime: ${DateTime.uptime}` + } + + Item { + Layout.fillHeight: true + } + + + } + + Rectangle { + Layout.alignment: Qt.AlignHCenter + Layout.fillHeight: false + radius: Appearance.rounding.full + color: Appearance.colors.colLayer1 + implicitWidth: sidebarQuickControlsRow.implicitWidth + 10 + implicitHeight: sidebarQuickControlsRow.implicitHeight + 10 + + + RowLayout { + id: sidebarQuickControlsRow + anchors.fill: parent + anchors.margins: 5 + spacing: 5 + Rectangle { + width: 40 + height: 40 + color: "#77000000" + radius: Appearance.rounding.full + } + + QuickToggleButton { + toggled: false + } + + } + } + + Item { + Layout.fillHeight: true + } + } } // Shadow diff --git a/.config/quickshell/scripts/wayland-idle-inhibitor.py b/.config/quickshell/scripts/wayland-idle-inhibitor.py new file mode 100755 index 00000000..9bdaabb0 --- /dev/null +++ b/.config/quickshell/scripts/wayland-idle-inhibitor.py @@ -0,0 +1,86 @@ +#!/usr/bin/env -S\_/bin/sh\_-xc\_"source\_\$(eval\_echo\_\$ILLOGICAL_IMPULSE_VIRTUAL_ENV)/bin/activate&&exec\_python\_-E\_"\$0"\_"\$@"" + +# From https://github.com/stwa/wayland-idle-inhibitor +# License: WTFPL Version 2 + +import sys +from dataclasses import dataclass +from signal import SIGINT, SIGTERM, signal +from threading import Event +import setproctitle + +from pywayland.client.display import Display +from pywayland.protocol.idle_inhibit_unstable_v1.zwp_idle_inhibit_manager_v1 import ( + ZwpIdleInhibitManagerV1, +) +from pywayland.protocol.wayland.wl_compositor import WlCompositor +from pywayland.protocol.wayland.wl_registry import WlRegistryProxy +from pywayland.protocol.wayland.wl_surface import WlSurface + + +@dataclass +class GlobalRegistry: + surface: WlSurface | None = None + inhibit_manager: ZwpIdleInhibitManagerV1 | None = None + + +def handle_registry_global( + wl_registry: WlRegistryProxy, id_num: int, iface_name: str, version: int +) -> None: + global_registry: GlobalRegistry = wl_registry.user_data or GlobalRegistry() + + if iface_name == "wl_compositor": + compositor = wl_registry.bind(id_num, WlCompositor, version) + global_registry.surface = compositor.create_surface() # type: ignore + elif iface_name == "zwp_idle_inhibit_manager_v1": + global_registry.inhibit_manager = wl_registry.bind( + id_num, ZwpIdleInhibitManagerV1, version + ) + + +def main() -> None: + done = Event() + signal(SIGINT, lambda _, __: done.set()) + signal(SIGTERM, lambda _, __: done.set()) + + global_registry = GlobalRegistry() + + display = Display() + display.connect() + + registry = display.get_registry() # type: ignore + registry.user_data = global_registry + registry.dispatcher["global"] = handle_registry_global + + def shutdown() -> None: + display.dispatch() + display.roundtrip() + display.disconnect() + + display.dispatch() + display.roundtrip() + + if global_registry.surface is None or global_registry.inhibit_manager is None: + print("Wayland seems not to support idle_inhibit_unstable_v1 protocol.") + shutdown() + sys.exit(1) + + inhibitor = global_registry.inhibit_manager.create_inhibitor( # type: ignore + global_registry.surface + ) + + display.dispatch() + display.roundtrip() + + print("Inhibiting idle...") + done.wait() + print("Shutting down...") + + inhibitor.destroy() + + shutdown() + + +if __name__ == "__main__": + setproctitle.setproctitle("wayland-idle-inhibitor.py") + main()