all repos — quickshell @ 57802bdf160b6349e6e66ff83ed24a1fb4104268

A desert-witch desktop shell

0
trickyni trickyniv56@gmail.com
Fri, 23 Jan 2026 11:43:39 +0200
commit

57802bdf160b6349e6e66ff83ed24a1fb4104268

parent

9fd69d8b953aa2ca801fd904870733fc6ffa490a

M Resources.qmlResources.qml

@@ -27,7 +27,6 @@ "topbar_text": 16*Size.scale,

"topbar_bamum": 14*Size.scale, "topbar_icon": 12*Size.scale, "workspace_icon": 10*Size.scale, - "bottombar_text": 10*Size.scale, "bottombar_sep": 16*Size.scale, "bottombar_icon": 10*Size.scale, "moonphase": 24*Size.scale,
M bar/BottombarRight.qmlbar/BottombarRight.qml

@@ -5,7 +5,9 @@ import QtQuick.Layouts

import ".." import "classes" as Class -Class.RightRowLayout { +RowLayout { + spacing: 2 + layoutDirection: Qt.RightToLeft id: bottom_right anchors { right: parent.right
M bar/TopBar.qmlbar/TopBar.qml

@@ -13,11 +13,11 @@ right: true

} margins { left: 8 - right:8 + right: 8 top: 0 bottom: 0 } - implicitHeight: (I3.focusedMonitor.name == "eDP-1") + implicitHeight: (I3.focusedMonitor?.name == "eDP-1") ? Resources.barsize.topbar_twister : Resources.barsize.topbar
M bar/TopbarRight.qmlbar/TopbarRight.qml

@@ -6,7 +6,9 @@ import ".."

import "classes" as Class -Class.RightRowLayout { +RowLayout { + spacing: 2 + layoutDirection: Qt.RightToLeft id: topbar_right anchors { right: parent.right
D bar/classes/BotSep.qml

@@ -1,13 +0,0 @@

-//BotSep.qml -import QtQuick -import Quickshell -import ".." -import "../.." - -BottombarText { - id: separator - text: "|" - color: Resources.palette.sand - anchors.verticalCenter : parent - font.pixelSize: Resources.fontsize.bottombar_sep -}
D bar/classes/BottombarText.qml

@@ -1,15 +0,0 @@

-//BottombarText.qml -import QtQuick -import Quickshell -import QtQuick.Layouts -import ".." -import "../.." - -Text { - font.pixelSize: Resources.fontsize.bottombar_text - color: Resources.palette.fg - anchors.verticalCenter : parent - // font.family: font_proggy.name - // renderType: Text.NativeRendering - -}
D bar/classes/RightRowLayout.qml

@@ -1,11 +0,0 @@

-//RightRowLayout.qml -import QtQuick -import Quickshell -import QtQuick.Layouts -import ".." -import "../.." - -RowLayout { - spacing: 2 - layoutDirection: Qt.RightToLeft -}
M bar/classes/TopSep.qmlbar/classes/Sep.qml

@@ -9,5 +9,5 @@ id: separator

text: "|" color: Resources.palette.sand padding: 0 - anchors.verticalCenter : parent + // anchors.verticalCenter : parent }
M bar/classes/TopbarIcon.qmlbar/classes/TopbarIcon.qml

@@ -9,5 +9,5 @@ Text {

font.pixelSize: Resources.fontsize.topbar_icon color: Resources.palette.orange font.family: font_icon.name - anchors.verticalCenter: verticalCenter + // anchors.verticalCenter: verticalCenter }
M bar/modules/Battery.qmlbar/modules/Battery.qml

@@ -9,7 +9,9 @@

Repeater { model: UPower.devices.values.filter(d=>d.model) - Class.RightRowLayout { + RowLayout { + spacing: 2 + layoutDirection: Qt.RightToLeft property var lvl: Math.round(modelData.percentage*100) property var charge_state: UPowerDeviceState.toString(modelData.state) property var device_type: UPowerDeviceType.toString(modelData.type)

@@ -24,9 +26,10 @@ : (lvl < 20)

? Resources.palette.scarlet : Resources.palette.fg } - Class.BottombarIcon { - id: battery_device_icon - text: modelData.isLaptopBattery + Text { + id: battery_device_icon + font.family: font_icon.name + text: modelData.isLaptopBattery ? Icons.devices.battery : modelData.model == "Jupiter of the Monkey" ? Icons.devices.headphones

@@ -57,6 +60,6 @@ : (charge_state == "FullyCharged")

? Resources.palette.cyan : Resources.palette.orange } - Class.BotSep{} + Class.Sep{} } }
M bar/modules/Moonphase.qmlbar/modules/Moonphase.qml

@@ -6,7 +6,9 @@ import QtQuick.Layouts

import "../../" import "../classes" as Class -Class.RightRowLayout { +RowLayout { + spacing: 2 + Class.Sep {} Class.TopbarText { id: moonphase color: Resources.palette.saffron

@@ -31,6 +33,5 @@ repeat: true

onTriggered: moonphase_script.running = true } } - Class.TopSep {} }
M bar/modules/Music.qmlbar/modules/Music.qml

@@ -20,13 +20,13 @@ text: ({

0: "", 1: "", 2: "" - }) [music.player.playbackState] ?? "" + }) [music.player?.playbackState] ?? "" } Class.TopbarText { // font.pixelSize: this-1 // text: music.player.desktopEntry - text: (music.player.playbackState != 0) - ? (music.player.trackTitle+" - "+music.player.trackArtist) + text: (music.player?.playbackState != 0) + ? (music.player?.trackTitle+" - "+music.player?.trackArtist) : "" } }
M bar/modules/Network.qmlbar/modules/Network.qml

@@ -7,9 +7,24 @@ import QtQuick.Controls

import "../../" import "../classes" as Class -Class.RightRowLayout { +RowLayout { property var wifi_strength property var zwj + Text { + id: indicator + color: Resources.palette.orange + font.family: font_icon.name + property var indicator_data + font.pixelSize: Resources.fontsize.network_indicator + text: + (indicator_data == 100) ? Icons.network.ethernet + : (indicator_data == 404) ? Icons.network.nobar + : (indicator_data > -50) ? Icons.network.bar4 + : (indicator_data > -60) ? Icons.network.bar3 + : (indicator_data > -70) ? Icons.network.bar2 + : (indicator_data > -80) ? Icons.network.bar1 + : Icons.network.bar0 + } Class.TopbarText { id: network font.family: zwj ? font_emoji.name : font_proggy.name

@@ -32,18 +47,5 @@ running: true

repeat: true onTriggered: network_script.running = true } - } - Class.TopbarIcon { - id: indicator - property var indicator_data - font.pixelSize: Resources.fontsize.network_indicator - text: - (indicator_data == 100) ? Icons.network.ethernet - : (indicator_data == 404) ? Icons.network.nobar - : (indicator_data > -50) ? Icons.network.bar4 - : (indicator_data > -60) ? Icons.network.bar3 - : (indicator_data > -70) ? Icons.network.bar2 - : (indicator_data > -80) ? Icons.network.bar1 - : Icons.network.bar0 } }
M bar/modules/Ram.qmlbar/modules/Ram.qml

@@ -6,8 +6,14 @@ import QtQuick.Layouts

import "../../" import "../classes" as Class -Class.RightRowLayout { +RowLayout { + spacing: 2 id: ram_module + Class.Sep {} + Class.TopbarIcon { + text: "𖡶" + font.pixelSize: Resources.fontsize.topbar_bamum + } Class.TopbarText { id: ram // Layout.alignment: Qt.AlignBottom

@@ -29,16 +35,5 @@ repeat: true

onTriggered: ram_script.running = true } } - Class.TopbarIcon { - text: "𖡶" - font.pixelSize: Resources.fontsize.topbar_bamum - } - // Class.TopbarSVG { - // icon.source: "../../icons/phosphor/bold/cpu-bold.svg" - // // icon.source: "../../icons/phosphor/regular/cpu.svg" - // icon.width:14*Size.scale - // icon.height:14*Size.scale - // } - Class.TopSep {} }
M bar/modules/Scale.qmlbar/modules/Scale.qml

@@ -9,11 +9,11 @@

RowLayout { spacing: 4 anchors.centerIn: parent - Class.TopbarIcon { text: (Size.scale == 1.5) ? Icons.modules.size : "" font.family: font_icon.name - anchors.centerIn: parent + // anchors.centerIn: parent + Layout.alignment: Qt.AlignHCenter leftPadding: 4 } }
M bar/modules/Sunset.qmlbar/modules/Sunset.qml

@@ -7,8 +7,15 @@ import "../../"

import "../classes" as Class import QtQuick.VectorImage -Class.RightRowLayout { +RowLayout { id: sunset_module + spacing: 2 + Class.Sep {} + Class.TopbarIcon { + id: sunset_indicator + text: sunset_script.data !== "NIGHT" ? "𖡹" :"𖥸" + font.pixelSize: Resources.fontsize.topbar_bamum + } Class.TopbarText { id: sunset // Layout.alignment: Qt.AlignBottom

@@ -21,11 +28,9 @@ running: true

stdout: StdioCollector { onStreamFinished: { sunset.text = this.text.trim() - sunset_indicator.data = this.data } } } - Timer { interval: 1000 running: true

@@ -33,13 +38,4 @@ repeat: true

onTriggered: sunset_script.running = true } } - Class.TopbarIcon { - id: sunset_indicator - text: sunset_indicator.data != "NIGHT" ? "𖡹" :"𖥸" - font.pixelSize: Resources.fontsize.topbar_bamum - } - // Class.TopbarSVG { - // icon.source: "../../icons/phosphor/regular/sun-horizon.svg" - // } - Class.TopSep {} }
M bar/modules/Taskwarrior.qmlbar/modules/Taskwarrior.qml

@@ -8,8 +8,16 @@ import "../classes" as Class

import "../../" import QtQuick.VectorImage -Class.RightRowLayout { +RowLayout { + spacing: 2 id: taskwarrior_module + // Class.TopbarSVG {icon.source: "../../icons/phosphor/regular/list-checks.svg"} + Class.Sep {} + Class.TopbarIcon { + text: "𖣋" + font.pixelSize: Resources.fontsize.topbar_bamum + + } Class.TopbarText { id: taskwarrior // Layout.alignment: Qt.AlignBottom

@@ -31,13 +39,6 @@ repeat: true

onTriggered: taskwarrior_script.running = true } } - Class.TopbarIcon { - text: "𖣋" - font.pixelSize: Resources.fontsize.topbar_bamum - - } - // Class.TopbarSVG {icon.source: "../../icons/phosphor/regular/list-checks.svg"} - Class.TopSep {} } // "task", "rc.verbose:", "rc.report.next.columns:description", "rc.report.next.labels:1", "limit:1 next"
M bar/modules/Timedate.qmlbar/modules/Timedate.qml

@@ -5,24 +5,21 @@ import QtQuick.Layouts

import ".." import "../classes" as Class -Class.RightRowLayout { - id: timedate - - Class.TopbarText { - id: time - text: Qt.formatDateTime(clock.date, "hh:mm") - } - Class.TopSep {} - Class.TopbarText { - id: date - text: Qt.formatDateTime(clock.date, "MMM dd") - - - } - SystemClock { - id: clock - precision: SystemClock.Seconds - } - Class.TopSep{} - +RowLayout { + spacing: 2 + id: timedate + Class.Sep {} + Class.TopbarText { + id: date + text: Qt.formatDateTime(clock.date, "MMM dd") + } + Class.Sep{} + SystemClock { + id: clock + precision: SystemClock.Seconds + } + Class.TopbarText { + id: time + text: Qt.formatDateTime(clock.date, "hh:mm") + } }
M bar/modules/Volume.qmlbar/modules/Volume.qml

@@ -6,7 +6,9 @@ import Quickshell.Services.Pipewire

import "../classes" as Class import "../../" -Class.RightRowLayout { +RowLayout { + spacing: 2 + layoutDirection: Qt.RightToLeft PwObjectTracker { objects: [ Pipewire.defaultAudioSink ] }

@@ -19,7 +21,6 @@ text: (muted)

? "" : vol + "%" color: Resources.palette.fg - anchors.verticalCenter: parent } Class.TopbarIcon { text: (muted)

@@ -34,9 +35,8 @@ : Icons.volume.low

color: (muted) ? Resources.palette.scarlet : Resources.palette.orange - anchors.verticalCenter: parent bottomPadding: 0.5 } - Class.TopSep{} + Class.Sep{} }
M bar/modules/Workspaces.qmlbar/modules/Workspaces.qml

@@ -26,10 +26,10 @@ display: ws_special

? AbstractButton.IconOnly : AbstractButton.TextOnly icon.source: ({ - 10: "../../icons/phosphor/regular/text-align-left.svg", - 11: "../../icons/phosphor/regular/download.svg", - 12: "../../icons/phosphor/regular/sliders.svg", - 13: "../../icons/phosphor/regular/music.svg", + "10": "../../icons/phosphor/regular/text-align-left.svg", + "11": "../../icons/phosphor/regular/download.svg", + "12": "../../icons/phosphor/regular/sliders.svg", + "13": "../../icons/phosphor/regular/music.svg", }) [modelData.number] ?? modelData.number icon.color: (modelData.name == ws_focused) ? Resources.palette.bg