Compare commits
8 commits
579af752fa
...
f62b9255ec
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f62b9255ec | ||
|
|
5feccc7452 | ||
|
|
2a7de7e56a | ||
|
|
5e7035efdc | ||
|
|
c33b9e2a4c | ||
|
|
7c4cf83d55 | ||
|
|
faa8a9df59 | ||
|
|
76be8535e6 |
17 changed files with 119 additions and 62 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
.qmlls.ini
|
||||||
|
Before Width: | Height: | Size: 376 B After Width: | Height: | Size: 376 B |
|
Before Width: | Height: | Size: 558 B After Width: | Height: | Size: 558 B |
|
Before Width: | Height: | Size: 318 B After Width: | Height: | Size: 318 B |
13
config/Paths.qml
Normal file
13
config/Paths.qml
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
import Quickshell
|
||||||
|
|
||||||
|
Singleton {
|
||||||
|
id: root
|
||||||
|
|
||||||
|
readonly property url home: StandardPaths.standardLocations(StandardPaths.)[0]
|
||||||
|
readonly property url wallpapers: `${StandardPaths.standardLocations(StandardPaths.HomeLocation)[0]}/Wallpapers`
|
||||||
|
|
||||||
|
readonly property url data: `${StandardPaths.standardLocations(StandardPaths.GenericDataLocation)[0]}/lux`
|
||||||
|
readonly property url state: `${StandardPaths.standardLocations(StandardPaths.GenericStateLocation)[0]}/lux`
|
||||||
|
readonly property url cache: `${StandardPaths.standardLocations(StandardPaths.GenericCacheLocation)[0]}/lux`
|
||||||
|
readonly property url config: `${StandardPaths.standardLocations(StandardPaths.GenericConfigLocation)[0]}/quickshell`
|
||||||
|
}
|
||||||
29
config/Theme.qml
Normal file
29
config/Theme.qml
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
pragma Singleton
|
||||||
|
|
||||||
|
import QtQml
|
||||||
|
import QtQuick
|
||||||
|
import Quickshell
|
||||||
|
|
||||||
|
Singleton {
|
||||||
|
id: root
|
||||||
|
|
||||||
|
property string fontFamily: "JetBrainsMono Nerd Font"
|
||||||
|
property Palette palette: Palette {}
|
||||||
|
|
||||||
|
component Palette: QtObject {
|
||||||
|
id: palette
|
||||||
|
|
||||||
|
property color primary: "#1fb854"
|
||||||
|
property color secondary: "#1eb88e"
|
||||||
|
property color accent: "#1fb8ab"
|
||||||
|
property color neutral: "#19362d"
|
||||||
|
property color base100: "#1b1717"
|
||||||
|
property color base200: "#161212"
|
||||||
|
property color base300: "#110d0d"
|
||||||
|
property color basecontent: "#cac9c9"
|
||||||
|
property color info: "#00b5ff"
|
||||||
|
property color success: "#00a96e"
|
||||||
|
property color warning: "#ffbe00"
|
||||||
|
property color error: "#ff5861"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import Quickshell
|
import Quickshell
|
||||||
import Quickshell.Wayland
|
import Quickshell.Wayland
|
||||||
import "../../widgets"
|
import "root:styled"
|
||||||
|
|
||||||
Variants {
|
Variants {
|
||||||
model: Quickshell.screens
|
model: Quickshell.screens
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import Quickshell
|
import Quickshell
|
||||||
import "components"
|
import "components"
|
||||||
import "../../config"
|
import "../../config/"
|
||||||
|
|
||||||
Scope {
|
Scope {
|
||||||
PanelWindow {
|
PanelWindow {
|
||||||
|
|
@ -13,13 +13,14 @@ Scope {
|
||||||
right: true
|
right: true
|
||||||
}
|
}
|
||||||
|
|
||||||
implicitHeight: 30
|
implicitHeight: 40
|
||||||
|
|
||||||
color: 'transparent'
|
color: 'transparent'
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
|
id: background
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
color: Colours.palette.base100
|
color: Theme.palette.base300
|
||||||
}
|
}
|
||||||
|
|
||||||
Row {
|
Row {
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
import Quickshell
|
import Quickshell
|
||||||
import Quickshell.Io
|
import Quickshell.Io
|
||||||
import QtQuick
|
import QtQuick
|
||||||
|
import "root:styled"
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
id: clock
|
id: clock
|
||||||
|
|
@ -8,19 +9,14 @@ Item {
|
||||||
implicitWidth: 200
|
implicitWidth: 200
|
||||||
implicitHeight: 30
|
implicitHeight: 30
|
||||||
|
|
||||||
Rectangle {
|
StyledLabel {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
color: "#333"
|
|
||||||
opacity: 0.5
|
|
||||||
radius: 5
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Text {
|
StyledText {
|
||||||
id: text
|
id: text
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
|
|
||||||
color: "white"
|
|
||||||
|
|
||||||
Process {
|
Process {
|
||||||
// give the process object an id so we can talk
|
// give the process object an id so we can talk
|
||||||
// about it from the timer
|
// about it from the timer
|
||||||
38
modules/bar/components/Workspace.qml
Normal file
38
modules/bar/components/Workspace.qml
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
import QtQuick
|
||||||
|
import QtQuick.Controls
|
||||||
|
import Quickshell.Hyprland
|
||||||
|
import "../../../config"
|
||||||
|
|
||||||
|
Item {
|
||||||
|
id: workspace
|
||||||
|
|
||||||
|
required property HyprlandWorkspace modelData
|
||||||
|
|
||||||
|
visible: modelData.id > 0
|
||||||
|
|
||||||
|
width: 30
|
||||||
|
height: 30
|
||||||
|
|
||||||
|
Button {
|
||||||
|
id: button
|
||||||
|
anchors.centerIn: parent
|
||||||
|
|
||||||
|
padding: 6
|
||||||
|
leftPadding: 7
|
||||||
|
rightPadding: 7
|
||||||
|
|
||||||
|
background: Rectangle {
|
||||||
|
id: rectangle
|
||||||
|
anchors.fill: parent
|
||||||
|
color: "#161212"
|
||||||
|
radius: 8
|
||||||
|
}
|
||||||
|
|
||||||
|
rotation: workspace.modelData.active ? 0 : 180
|
||||||
|
|
||||||
|
icon.source: "/home/baobeld/dotfiles/quickshell/assets/triangle.svg"
|
||||||
|
icon.color: workspace.modelData.active ? Theme.palette.primary : Theme.palette.basecontent
|
||||||
|
|
||||||
|
onClicked: workspace.modelData.activate()
|
||||||
|
}
|
||||||
|
}
|
||||||
16
modules/bar/components/Workspaces.qml
Normal file
16
modules/bar/components/Workspaces.qml
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
import QtQuick
|
||||||
|
import QtQuick.Controls
|
||||||
|
import Quickshell.Hyprland
|
||||||
|
|
||||||
|
Row {
|
||||||
|
id: root
|
||||||
|
|
||||||
|
spacing: 4
|
||||||
|
|
||||||
|
Repeater {
|
||||||
|
|
||||||
|
model: Hyprland.workspaces
|
||||||
|
|
||||||
|
Workspace {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,51 +0,0 @@
|
||||||
import QtQuick
|
|
||||||
import QtQuick.Controls
|
|
||||||
import QtQuick.VectorImage
|
|
||||||
import Quickshell.Hyprland
|
|
||||||
import "../../../config"
|
|
||||||
|
|
||||||
Row {
|
|
||||||
id: root
|
|
||||||
|
|
||||||
spacing: 4
|
|
||||||
|
|
||||||
Repeater {
|
|
||||||
|
|
||||||
model: Hyprland.workspaces
|
|
||||||
|
|
||||||
Item {
|
|
||||||
id: workspace
|
|
||||||
|
|
||||||
required property HyprlandWorkspace modelData
|
|
||||||
|
|
||||||
visible: modelData.id > 0
|
|
||||||
|
|
||||||
width: 25
|
|
||||||
height: 25
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
id: rectangle
|
|
||||||
|
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
|
||||||
anchors.fill: parent
|
|
||||||
color: "#161212"
|
|
||||||
radius: 8
|
|
||||||
}
|
|
||||||
|
|
||||||
Button {
|
|
||||||
id: button
|
|
||||||
anchors.centerIn: parent
|
|
||||||
anchors.fill: parent
|
|
||||||
|
|
||||||
rotation: workspace.modelData.active ? 0 : 180
|
|
||||||
|
|
||||||
icon.source: "/home/baobeld/dotfiles/quickshell/shell/assets/triangle.svg"
|
|
||||||
icon.color: "#1fb854"
|
|
||||||
|
|
||||||
// palette.button: QtColor.
|
|
||||||
|
|
||||||
onClicked: workspace.modelData.activate()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
8
styled/StyledLabel.qml
Normal file
8
styled/StyledLabel.qml
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
import QtQuick
|
||||||
|
import "root:config"
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
color: Theme.palette.base100
|
||||||
|
|
||||||
|
radius: 5
|
||||||
|
}
|
||||||
6
styled/StyledText.qml
Normal file
6
styled/StyledText.qml
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
import QtQuick
|
||||||
|
import "root:config"
|
||||||
|
|
||||||
|
Text {
|
||||||
|
color: Theme.palette.basecontent
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue