commit a60f95749dc6a2b7e5c5aee51b9d0ed454dbab8d Author: tux Date: Thu Feb 26 20:45:55 2026 +0530 feat: inital commit diff --git a/Bar.qml b/Bar.qml new file mode 100644 index 0000000..e75b00d --- /dev/null +++ b/Bar.qml @@ -0,0 +1,86 @@ +import Quickshell +import Quickshell.Io +import QtQuick +import QtQuick.Layouts +import QtQuick.Controls +import QtQuick.Effects + +Scope { + Variants { + model: Quickshell.screens + + PanelWindow { + required property var modelData + screen: modelData + color: "transparent" + + anchors { + top: true + } + + implicitHeight: 30 + implicitWidth: 1200 + + Rectangle { + anchors.fill: parent + radius: 8 + color: "#101213" + clip: true + + RowLayout { + anchors.fill: parent + Rectangle { + color: handler.hovered ? "purple" : "gray" + Layout.fillHeight: true + Layout.fillWidth: true + Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter + + Behavior on color { + ColorAnimation { + duration: 200 + } + } + + MouseArea { + id: mouseArea + anchors.fill: parent + hoverEnabled: true + cursorShape: Qt.PointingHandCursor + onClicked: { + Quickshell.execDetached(["vicinae", "toggle"]); + } + } + + HoverHandler { + id: handler + } + + Image { + id: launcherIcon + anchors.centerIn: parent + source: Quickshell.shellPath("assets") + "/icons/nix-symbolic.svg" + height: parent.height * 0.7 + fillMode: Image.PreserveAspectFit + } + } + Rectangle { + color: 'magenta' + Layout.fillHeight: true + Layout.fillWidth: true + Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter + } + Rectangle { + color: 'yellow' + Layout.fillHeight: true + Layout.fillWidth: true + Layout.alignment: Qt.AlignRight | Qt.AlignVCenter + + Clock { + anchors.centerIn: parent + } + } + } + } + } + } +} diff --git a/Clock.qml b/Clock.qml new file mode 100644 index 0000000..c8899a0 --- /dev/null +++ b/Clock.qml @@ -0,0 +1,5 @@ +import QtQuick + +Text { + text: Time.time +} diff --git a/Time.qml b/Time.qml new file mode 100644 index 0000000..ca2551f --- /dev/null +++ b/Time.qml @@ -0,0 +1,16 @@ +pragma Singleton + +import Quickshell +import QtQuick + +Singleton { + id: root + readonly property string time: { + Qt.formatDateTime(clock.date, "hh:mm AP"); + } + + SystemClock { + id: clock + precision: SystemClock.Minutes + } +} diff --git a/assets/gallery/full.png b/assets/gallery/full.png new file mode 100644 index 0000000..d23527a Binary files /dev/null and b/assets/gallery/full.png differ diff --git a/assets/gallery/latest.png b/assets/gallery/latest.png new file mode 100644 index 0000000..71268c6 Binary files /dev/null and b/assets/gallery/latest.png differ diff --git a/assets/icons/avatar.png b/assets/icons/avatar.png new file mode 100644 index 0000000..2a50528 Binary files /dev/null and b/assets/icons/avatar.png differ diff --git a/assets/icons/fa-battery-charging-symbolic.svg b/assets/icons/fa-battery-charging-symbolic.svg new file mode 100644 index 0000000..ad0f19c --- /dev/null +++ b/assets/icons/fa-battery-charging-symbolic.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/fa-battery-full-symbolic.svg b/assets/icons/fa-battery-full-symbolic.svg new file mode 100644 index 0000000..9ab9292 --- /dev/null +++ b/assets/icons/fa-battery-full-symbolic.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/fa-battery-low-symbolic.svg b/assets/icons/fa-battery-low-symbolic.svg new file mode 100644 index 0000000..7e1ad36 --- /dev/null +++ b/assets/icons/fa-battery-low-symbolic.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/fa-battery-medium-symbolic.svg b/assets/icons/fa-battery-medium-symbolic.svg new file mode 100644 index 0000000..58a80e1 --- /dev/null +++ b/assets/icons/fa-battery-medium-symbolic.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/fa-bell-off-symbolic.svg b/assets/icons/fa-bell-off-symbolic.svg new file mode 100644 index 0000000..79c7193 --- /dev/null +++ b/assets/icons/fa-bell-off-symbolic.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/fa-bell-symbolic.svg b/assets/icons/fa-bell-symbolic.svg new file mode 100644 index 0000000..0f6b924 --- /dev/null +++ b/assets/icons/fa-bell-symbolic.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/fa-bluetooth-symbolic.svg b/assets/icons/fa-bluetooth-symbolic.svg new file mode 100644 index 0000000..cdecbfd --- /dev/null +++ b/assets/icons/fa-bluetooth-symbolic.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/fa-brightness-symbolic.svg b/assets/icons/fa-brightness-symbolic.svg new file mode 100644 index 0000000..9d48459 --- /dev/null +++ b/assets/icons/fa-brightness-symbolic.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/fa-broom-symbolic.svg b/assets/icons/fa-broom-symbolic.svg new file mode 100644 index 0000000..8cf3af6 --- /dev/null +++ b/assets/icons/fa-broom-symbolic.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/fa-cpu-symbolic.svg b/assets/icons/fa-cpu-symbolic.svg new file mode 100644 index 0000000..b6ebc4f --- /dev/null +++ b/assets/icons/fa-cpu-symbolic.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/fa-cpu-usage-symbolic.svg b/assets/icons/fa-cpu-usage-symbolic.svg new file mode 100644 index 0000000..4d0b8e9 --- /dev/null +++ b/assets/icons/fa-cpu-usage-symbolic.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/fa-ghost-symbolic.svg b/assets/icons/fa-ghost-symbolic.svg new file mode 100644 index 0000000..78347b4 --- /dev/null +++ b/assets/icons/fa-ghost-symbolic.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/fa-home-symbolic.svg b/assets/icons/fa-home-symbolic.svg new file mode 100644 index 0000000..f9a1252 --- /dev/null +++ b/assets/icons/fa-home-symbolic.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/fa-keyboard-symbolic.svg b/assets/icons/fa-keyboard-symbolic.svg new file mode 100644 index 0000000..ef73326 --- /dev/null +++ b/assets/icons/fa-keyboard-symbolic.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/fa-lock-symbolic.svg b/assets/icons/fa-lock-symbolic.svg new file mode 100644 index 0000000..e8bbd42 --- /dev/null +++ b/assets/icons/fa-lock-symbolic.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/fa-microphone-symbolic.svg b/assets/icons/fa-microphone-symbolic.svg new file mode 100644 index 0000000..328b1cf --- /dev/null +++ b/assets/icons/fa-microphone-symbolic.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/fa-power-symbolic.svg b/assets/icons/fa-power-symbolic.svg new file mode 100644 index 0000000..a15a059 --- /dev/null +++ b/assets/icons/fa-power-symbolic.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/fa-ram-symbolic.svg b/assets/icons/fa-ram-symbolic.svg new file mode 100644 index 0000000..ba67b4b --- /dev/null +++ b/assets/icons/fa-ram-symbolic.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/fa-screenshot-symbolic.svg b/assets/icons/fa-screenshot-symbolic.svg new file mode 100644 index 0000000..f24dd8b --- /dev/null +++ b/assets/icons/fa-screenshot-symbolic.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/fa-speaker-muted-symbolic.svg b/assets/icons/fa-speaker-muted-symbolic.svg new file mode 100644 index 0000000..d2e98c4 --- /dev/null +++ b/assets/icons/fa-speaker-muted-symbolic.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/fa-speaker-symbolic.svg b/assets/icons/fa-speaker-symbolic.svg new file mode 100644 index 0000000..b8f5065 --- /dev/null +++ b/assets/icons/fa-speaker-symbolic.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/fa-speed-symbolic.svg b/assets/icons/fa-speed-symbolic.svg new file mode 100644 index 0000000..99531df --- /dev/null +++ b/assets/icons/fa-speed-symbolic.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/fa-video-card-symbolic.svg b/assets/icons/fa-video-card-symbolic.svg new file mode 100644 index 0000000..202f08c --- /dev/null +++ b/assets/icons/fa-video-card-symbolic.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/fa-wifi-symbolic.svg b/assets/icons/fa-wifi-symbolic.svg new file mode 100644 index 0000000..76eca52 --- /dev/null +++ b/assets/icons/fa-wifi-symbolic.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/nix-symbolic.svg b/assets/icons/nix-symbolic.svg new file mode 100644 index 0000000..ffe9f1e --- /dev/null +++ b/assets/icons/nix-symbolic.svg @@ -0,0 +1 @@ + diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..25e4ad6 --- /dev/null +++ b/flake.lock @@ -0,0 +1,48 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1771848320, + "narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "2fc6539b481e1d2569f25f8799236694180c0993", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "quickshell": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1771926182, + "narHash": "sha256-QbXuSLhiSxOq6ydBL3+KGe1aiYWBW+e3J6qjJZaRMq0=", + "ref": "refs/heads/master", + "rev": "cddb4f061bab495f4473ca5f2c571b6c710efef7", + "revCount": 744, + "type": "git", + "url": "https://git.outfoxxed.me/outfoxxed/quickshell" + }, + "original": { + "type": "git", + "url": "https://git.outfoxxed.me/outfoxxed/quickshell" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs", + "quickshell": "quickshell" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..198dc2f --- /dev/null +++ b/flake.nix @@ -0,0 +1,31 @@ +{ + description = "tux's widgets for wayland"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; + + quickshell = { + url = "git+https://git.outfoxxed.me/outfoxxed/quickshell"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = { + self, + nixpkgs, + quickshell, + }: let + system = "x86_64-linux"; + pkgs = nixpkgs.legacyPackages.${system}; + in { + devShells.${system} = { + default = pkgs.mkShell { + buildInputs = [ + quickshell.packages.${system}.default + pkgs.kdePackages.qtdeclarative + pkgs.kdePackages.qt5compat + ]; + }; + }; + }; +} diff --git a/shell.qml b/shell.qml new file mode 100644 index 0000000..de0527e --- /dev/null +++ b/shell.qml @@ -0,0 +1,5 @@ +import Quickshell + +Scope { + Bar {} +}