changed the desigin of hyprlock and added new quickshell components
This commit is contained in:
@@ -9,7 +9,7 @@
|
|||||||
# you can get started by copying this config to ~/.config/hypr/hyprlock.conf
|
# you can get started by copying this config to ~/.config/hypr/hyprlock.conf
|
||||||
#
|
#
|
||||||
|
|
||||||
$font = Cascadia Code
|
$font = CaskaydiaCove Nerd Font Mono
|
||||||
|
|
||||||
general {
|
general {
|
||||||
hide_cursor = false
|
hide_cursor = false
|
||||||
@@ -35,26 +35,26 @@ animations {
|
|||||||
|
|
||||||
background {
|
background {
|
||||||
monitor =
|
monitor =
|
||||||
path = ~/Pictures/wallpapers/frieren-beyond-journeys-end-7p-2560x1440.jpg
|
path = ~/Pictures/wallpapers/evening-sky.png
|
||||||
blur_passes = 3
|
blur_passes = 1
|
||||||
}
|
}
|
||||||
|
|
||||||
input-field {
|
input-field {
|
||||||
monitor =
|
monitor =
|
||||||
size = 20%, 5%
|
size = 15%, 5%
|
||||||
outline_thickness = 3
|
outline_thickness = 2
|
||||||
inner_color = rgba(0, 0, 0, 0.0) # no fill
|
inner_color = rgba(0, 0, 0, 0.0) # no fill
|
||||||
|
|
||||||
outer_color = rgba(a6da95ee) rgba(b7bdf8ee) 45deg
|
outer_color = #cdd6f4#rgba(a6da95ee) rgba(b7bdf8ee) 45deg
|
||||||
check_color = rgba(00ff99ee) rgba(ff6633ee) 120deg
|
check_color = rgba(00ff99ee) #rgba(ff6633ee) 120deg
|
||||||
fail_color = rgba(ff6633ee) rgba(ff0066ee) 40deg
|
fail_color = rgba(ff6633ee) #rgba(ff0066ee) 40deg
|
||||||
|
|
||||||
font_color = rgb(143, 143, 143)
|
font_color = rgb(143, 143, 143)
|
||||||
fade_on_empty = false
|
fade_on_empty = false
|
||||||
rounding = 15
|
rounding = 15
|
||||||
|
|
||||||
font_family = $font
|
font_family = $font
|
||||||
placeholder_text = password
|
placeholder_text =
|
||||||
fail_text = $PAMFAIL
|
fail_text = $PAMFAIL
|
||||||
|
|
||||||
# uncomment to use a letter instead of a dot to indicate the typed password
|
# uncomment to use a letter instead of a dot to indicate the typed password
|
||||||
@@ -65,7 +65,7 @@ input-field {
|
|||||||
# uncomment to use an input indicator that does not show the password length (similar to swaylock's input indicator)
|
# uncomment to use an input indicator that does not show the password length (similar to swaylock's input indicator)
|
||||||
# hide_input = true
|
# hide_input = true
|
||||||
|
|
||||||
position = 0, -90
|
position = 0, -290
|
||||||
halign = center
|
halign = center
|
||||||
valign = center
|
valign = center
|
||||||
}
|
}
|
||||||
@@ -74,12 +74,12 @@ input-field {
|
|||||||
label {
|
label {
|
||||||
monitor =
|
monitor =
|
||||||
text = $TIME # ref. https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#variable-substitution
|
text = $TIME # ref. https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#variable-substitution
|
||||||
font_size = 220
|
font_size = 120
|
||||||
font_family = $font
|
font_family = $font
|
||||||
|
|
||||||
position = -30, -30
|
position = 0, -30
|
||||||
halign = center
|
halign = center
|
||||||
valign = top
|
valign = center
|
||||||
}
|
}
|
||||||
|
|
||||||
# DATE
|
# DATE
|
||||||
@@ -89,7 +89,7 @@ label {
|
|||||||
font_size = 25
|
font_size = 25
|
||||||
font_family = $font
|
font_family = $font
|
||||||
|
|
||||||
position = -30, -340
|
position = 0, -120
|
||||||
halign = center
|
halign = center
|
||||||
valign = top
|
valign = center
|
||||||
}
|
}
|
||||||
|
|||||||
111
.config/quickshell/shell.qml
Normal file
111
.config/quickshell/shell.qml
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
import Quickshell
|
||||||
|
import Quickshell.Wayland
|
||||||
|
import Quickshell.Hyprland
|
||||||
|
import QtQuick
|
||||||
|
import QtQuick.Layouts
|
||||||
|
import Quickshell.Io
|
||||||
|
|
||||||
|
PanelWindow {
|
||||||
|
anchors.top: true
|
||||||
|
anchors.left: true
|
||||||
|
anchors.right: true
|
||||||
|
implicitHeight: 38
|
||||||
|
//color: root.colBg
|
||||||
|
id: root
|
||||||
|
color: "transparent"
|
||||||
|
// Theme property
|
||||||
|
property color colBg: '#1e1e2e'
|
||||||
|
property color colCyan: '#94e2d5'
|
||||||
|
property color colBlue: '#89b4fa'
|
||||||
|
property color colYellow: '#e0af68'
|
||||||
|
property color colMuted: '#313244'
|
||||||
|
property color coltxt: '#cdd6f4'
|
||||||
|
property string fontFamily: "CaskaydiaCove Nerd Font Mono"
|
||||||
|
property int fontSize: 18
|
||||||
|
// System Data
|
||||||
|
property int cpuUsage: 0
|
||||||
|
property var lastCpuIdle: 0
|
||||||
|
property var lastCpuTotal: 0
|
||||||
|
|
||||||
|
Process {
|
||||||
|
id: cpuProc
|
||||||
|
command: ["sh", "-c", "head -1 /proc/stat"]
|
||||||
|
stdout: SplitParser {
|
||||||
|
onRead: data => {
|
||||||
|
if (!data) return
|
||||||
|
var p = data.trim().split(/\s+/)
|
||||||
|
var idle = parseInt(p[4]) + parseInt(p[5])
|
||||||
|
var total = p.slice(1, 8).reduce((a, b) => a + parseInt(b), 0)
|
||||||
|
if (lastCpuTotal > 0) {
|
||||||
|
cpuUsage = Math.round(100 * (1 - (idle - lastCpuIdle) / (total - lastCpuTotal)))
|
||||||
|
}
|
||||||
|
lastCpuTotal = total
|
||||||
|
lastCpuIdle = idle
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component.onCompleted: running = true
|
||||||
|
}
|
||||||
|
Timer {
|
||||||
|
interval: 2000 // Every 2 seconds
|
||||||
|
running: true // Start immediately
|
||||||
|
repeat: true // Keep going forever
|
||||||
|
onTriggered: cpuProc.running = true
|
||||||
|
}
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.margins: 8
|
||||||
|
spacing: 3
|
||||||
|
Repeater {
|
||||||
|
model: 10
|
||||||
|
Text {
|
||||||
|
property var ws: Hyprland.workspaces.values.find(w => w.id === index + 1)
|
||||||
|
property bool isActive: Hyprland.focusedWorkspace?.id === (index + 1)
|
||||||
|
text: isActive ? "" : "" //"
|
||||||
|
color: isActive ? root.colCyan : (ws ? root.colBlue : root.colMuted)
|
||||||
|
font { pixelSize: 14; bold: true }
|
||||||
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
onClicked: Hyprland.dispatch("workspace " + (index + 1))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Rectangle {
|
||||||
|
color: "transparent"
|
||||||
|
Layout.fillWidth: true
|
||||||
|
Layout.fillHeight: true
|
||||||
|
}
|
||||||
|
Rectangle{
|
||||||
|
//anchors.fill: parent
|
||||||
|
//color: parent.color
|
||||||
|
Layout.fillHeight: true
|
||||||
|
implicitWidth: 100
|
||||||
|
color: root.colBg
|
||||||
|
radius: 8
|
||||||
|
Text {
|
||||||
|
id: clock
|
||||||
|
text: Qt.formatDateTime(new Date(), "HH:mm")
|
||||||
|
color: root.coltxt
|
||||||
|
font { family: root.fontFamily; pixelSize: root.fontSize; bold: true}
|
||||||
|
Timer {
|
||||||
|
interval: 1000
|
||||||
|
running: true
|
||||||
|
repeat: true
|
||||||
|
onTriggered: clock.text = Qt.formatDateTime(new Date(), "HH:mm")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Rectangle {
|
||||||
|
color: "transparent"
|
||||||
|
Layout.fillWidth: true
|
||||||
|
Layout.fillHeight: true
|
||||||
|
}
|
||||||
|
|
||||||
|
Text {
|
||||||
|
text: "CPU: " + cpuUsage + "%"
|
||||||
|
color: root.colYellow
|
||||||
|
font { family: root.fontFamily; pixelSize: root.fontSize; bold: true}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
"layer": "top",
|
"layer": "top",
|
||||||
"position": "top",
|
"position": "top",
|
||||||
"reload_style_on_change": true,
|
"reload_style_on_change": true,
|
||||||
"modules-left": ["custom/notification","clock","custom/pacman"],
|
"modules-left": ["custom/notification","clock"],
|
||||||
"modules-center": ["hyprland/workspaces"],
|
"modules-center": ["hyprland/workspaces"],
|
||||||
"modules-right": ["network","bluetooth","pulseaudio","tray"],
|
"modules-right": ["network","bluetooth","pulseaudio","tray"],
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user