Merge branch 'end-4:main' into power-profile-toggle

This commit is contained in:
Ninjdai
2025-07-16 10:28:48 +02:00
committed by GitHub
12 changed files with 171 additions and 189 deletions
+1 -1
View File
@@ -58,7 +58,7 @@ label { # Date
text = cmd[update:5000] date +"%A, %B %d" text = cmd[update:5000] date +"%A, %B %d"
color = $text_color color = $text_color
font_size = 17 font_size = 17
font_family = $font_family font_family = $font_family_clock
position = 0, 240 position = 0, 240
halign = center halign = center
@@ -2,8 +2,8 @@ $text_color = rgba({{colors.primary_fixed.default.hex_stripped}}FF)
$entry_background_color = rgba({{colors.on_primary_fixed.default.hex_stripped}}11) $entry_background_color = rgba({{colors.on_primary_fixed.default.hex_stripped}}11)
$entry_border_color = rgba({{colors.outline.default.hex_stripped}}55) $entry_border_color = rgba({{colors.outline.default.hex_stripped}}55)
$entry_color = rgba({{colors.primary_fixed.default.hex_stripped}}FF) $entry_color = rgba({{colors.primary_fixed.default.hex_stripped}}FF)
$font_family = Rubik Light $font_family = Rubik
$font_family_clock = Rubik Light $font_family_clock = Space Grotesk
$font_material_symbols = Material Symbols Rounded $font_material_symbols = Material Symbols Rounded
background { background {
@@ -58,7 +58,7 @@ label { # Date
text = cmd[update:5000] date +"%A, %B %d" text = cmd[update:5000] date +"%A, %B %d"
color = $text_color color = $text_color
font_size = 17 font_size = 17
font_family = $font_family font_family = $font_family_clock
position = 0, 240 position = 0, 240
halign = center halign = center
@@ -145,7 +145,9 @@ Scope {
const lower = Math.floor(bgRoot.firstWorkspaceId / chunkSize) * chunkSize; const lower = Math.floor(bgRoot.firstWorkspaceId / chunkSize) * chunkSize;
const upper = Math.ceil(bgRoot.lastWorkspaceId / chunkSize) * chunkSize; const upper = Math.ceil(bgRoot.lastWorkspaceId / chunkSize) * chunkSize;
const range = upper - lower; const range = upper - lower;
return (bgRoot.monitor.activeWorkspace.id - lower) / range; return (bgRoot.monitor.activeWorkspace.id - lower) / range
+ (0.15 * GlobalStates.sidebarRightOpen * Config.options.background.parallax.enableSidebar)
- (0.15 * GlobalStates.sidebarLeftOpen * Config.options.background.parallax.enableSidebar)
} }
property real effectiveValue: Math.max(0, Math.min(1, value)) property real effectiveValue: Math.max(0, Math.min(1, value))
x: -(bgRoot.movableXSpace) - (effectiveValue - 0.5) * 2 * bgRoot.movableXSpace x: -(bgRoot.movableXSpace) - (effectiveValue - 0.5) * 2 * bgRoot.movableXSpace
@@ -191,6 +193,7 @@ Scope {
Layout.fillWidth: true Layout.fillWidth: true
horizontalAlignment: bgRoot.textHorizontalAlignment horizontalAlignment: bgRoot.textHorizontalAlignment
font { font {
family: Appearance.font.family.expressive
pixelSize: 85 pixelSize: 85
weight: Font.Medium weight: Font.Medium
} }
@@ -203,6 +206,7 @@ Scope {
Layout.fillWidth: true Layout.fillWidth: true
horizontalAlignment: bgRoot.textHorizontalAlignment horizontalAlignment: bgRoot.textHorizontalAlignment
font { font {
family: Appearance.font.family.expressive
pixelSize: 20 pixelSize: 20
weight: Font.Medium weight: Font.Medium
} }
@@ -168,6 +168,7 @@ Singleton {
property string iconNerd: "SpaceMono NF" property string iconNerd: "SpaceMono NF"
property string monospace: "JetBrains Mono NF" property string monospace: "JetBrains Mono NF"
property string reading: "Readex Pro" property string reading: "Readex Pro"
property string expressive: "Space Grotesk"
} }
property QtObject pixelSize: QtObject { property QtObject pixelSize: QtObject {
property int smallest: 10 property int smallest: 10
@@ -100,8 +100,9 @@ Singleton {
property real clockY: -500 property real clockY: -500
property string wallpaperPath: Quickshell.configPath("assets/images/default_wallpaper.png") property string wallpaperPath: Quickshell.configPath("assets/images/default_wallpaper.png")
property JsonObject parallax: JsonObject { property JsonObject parallax: JsonObject {
property real workspaceZoom: 1.07 // Relative to your screen, not wallpaper size
property bool enableWorkspace: true property bool enableWorkspace: true
property real workspaceZoom: 1.07 // Relative to your screen, not wallpaper size
property bool enableSidebar: true
} }
} }
+115 -118
View File
@@ -19,131 +19,128 @@ Scope { // Scope
Variants { // For each monitor Variants { // For each monitor
model: Quickshell.screens model: Quickshell.screens
LazyLoader { PanelWindow { // Window
id: dockLoader
required property var modelData required property var modelData
activeAsync: Config.options?.dock.hoverToReveal || (!ToplevelManager.activeToplevel?.activated) id: dockRoot
screen: modelData
property bool reveal: root.pinned
|| (Config.options?.dock.hoverToReveal && dockMouseArea.containsMouse)
|| dockApps.requestDockShow
|| (!ToplevelManager.activeToplevel?.activated)
component: PanelWindow { // Window anchors {
id: dockRoot bottom: true
screen: dockLoader.modelData left: true
right: true
property bool reveal: root.pinned }
|| (Config.options?.dock.hoverToReveal && dockMouseArea.containsMouse)
|| dockApps.requestDockShow
|| (!ToplevelManager.activeToplevel?.activated)
exclusiveZone: root.pinned ? implicitHeight
- (Appearance.sizes.hyprlandGapsOut)
- (Appearance.sizes.elevationMargin - Appearance.sizes.hyprlandGapsOut) : 0
implicitWidth: dockBackground.implicitWidth
WlrLayershell.namespace: "quickshell:dock"
color: "transparent"
implicitHeight: (Config.options?.dock.height ?? 70) + Appearance.sizes.elevationMargin + Appearance.sizes.hyprlandGapsOut
mask: Region {
item: dockMouseArea
}
MouseArea {
id: dockMouseArea
height: parent.height
anchors { anchors {
bottom: true top: parent.top
left: true topMargin: dockRoot.reveal ? 0 :
right: true
}
exclusiveZone: root.pinned ? implicitHeight
- (Appearance.sizes.hyprlandGapsOut)
- (Appearance.sizes.elevationMargin - Appearance.sizes.hyprlandGapsOut) : 0
implicitWidth: dockBackground.implicitWidth
WlrLayershell.namespace: "quickshell:dock"
color: "transparent"
implicitHeight: (Config.options?.dock.height ?? 70) + Appearance.sizes.elevationMargin + Appearance.sizes.hyprlandGapsOut
mask: Region {
item: dockMouseArea
}
MouseArea {
id: dockMouseArea
anchors.top: parent.top
height: parent.height
anchors.topMargin: dockRoot.reveal ? 0 :
Config.options?.dock.hoverToReveal ? (dockRoot.implicitHeight - Config.options.dock.hoverRegionHeight) : Config.options?.dock.hoverToReveal ? (dockRoot.implicitHeight - Config.options.dock.hoverRegionHeight) :
(dockRoot.implicitHeight + 1) (dockRoot.implicitHeight + 1)
horizontalCenter: parent.horizontalCenter
anchors.left: parent.left
anchors.right: parent.right
hoverEnabled: true
Behavior on anchors.topMargin {
animation: Appearance.animation.elementMoveFast.numberAnimation.createObject(this)
}
Item {
id: dockHoverRegion
anchors.fill: parent
Item { // Wrapper for the dock background
id: dockBackground
anchors {
top: parent.top
bottom: parent.bottom
horizontalCenter: parent.horizontalCenter
}
implicitWidth: dockRow.implicitWidth + 5 * 2
height: parent.height - Appearance.sizes.elevationMargin - Appearance.sizes.hyprlandGapsOut
StyledRectangularShadow {
target: dockVisualBackground
}
Rectangle { // The real rectangle that is visible
id: dockVisualBackground
property real margin: Appearance.sizes.elevationMargin
anchors.fill: parent
anchors.topMargin: Appearance.sizes.elevationMargin
anchors.bottomMargin: Appearance.sizes.hyprlandGapsOut
color: Appearance.colors.colLayer0
border.width: 1
border.color: Appearance.m3colors.m3outlineVariant
radius: Appearance.rounding.large
}
RowLayout {
id: dockRow
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.horizontalCenter: parent.horizontalCenter
spacing: 3
property real padding: 5
VerticalButtonGroup {
Layout.topMargin: Appearance.sizes.hyprlandGapsOut // why does this work
GroupButton { // Pin button
baseWidth: 35
baseHeight: 35
clickedWidth: baseWidth
clickedHeight: baseHeight + 20
buttonRadius: Appearance.rounding.normal
toggled: root.pinned
onClicked: root.pinned = !root.pinned
contentItem: MaterialSymbol {
text: "keep"
horizontalAlignment: Text.AlignHCenter
iconSize: Appearance.font.pixelSize.larger
color: root.pinned ? Appearance.m3colors.m3onPrimary : Appearance.colors.colOnLayer0
}
}
}
DockSeparator {}
DockApps { id: dockApps; }
DockSeparator {}
DockButton {
Layout.fillHeight: true
onClicked: Hyprland.dispatch("global quickshell:overviewToggle")
contentItem: MaterialSymbol {
anchors.fill: parent
horizontalAlignment: Text.AlignHCenter
font.pixelSize: parent.width / 2
text: "apps"
color: Appearance.colors.colOnLayer0
}
}
}
}
}
} }
implicitWidth: dockHoverRegion.implicitWidth + Appearance.sizes.elevationMargin * 2
hoverEnabled: true
Behavior on anchors.topMargin {
animation: Appearance.animation.elementMoveFast.numberAnimation.createObject(this)
}
Item {
id: dockHoverRegion
anchors.fill: parent
implicitWidth: dockBackground.implicitWidth
Item { // Wrapper for the dock background
id: dockBackground
anchors {
top: parent.top
bottom: parent.bottom
horizontalCenter: parent.horizontalCenter
}
implicitWidth: dockRow.implicitWidth + 5 * 2
height: parent.height - Appearance.sizes.elevationMargin - Appearance.sizes.hyprlandGapsOut
StyledRectangularShadow {
target: dockVisualBackground
}
Rectangle { // The real rectangle that is visible
id: dockVisualBackground
property real margin: Appearance.sizes.elevationMargin
anchors.fill: parent
anchors.topMargin: Appearance.sizes.elevationMargin
anchors.bottomMargin: Appearance.sizes.hyprlandGapsOut
color: Appearance.colors.colLayer0
border.width: 1
border.color: Appearance.m3colors.m3outlineVariant
radius: Appearance.rounding.large
}
RowLayout {
id: dockRow
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.horizontalCenter: parent.horizontalCenter
spacing: 3
property real padding: 5
VerticalButtonGroup {
Layout.topMargin: Appearance.sizes.hyprlandGapsOut // why does this work
GroupButton { // Pin button
baseWidth: 35
baseHeight: 35
clickedWidth: baseWidth
clickedHeight: baseHeight + 20
buttonRadius: Appearance.rounding.normal
toggled: root.pinned
onClicked: root.pinned = !root.pinned
contentItem: MaterialSymbol {
text: "keep"
horizontalAlignment: Text.AlignHCenter
iconSize: Appearance.font.pixelSize.larger
color: root.pinned ? Appearance.m3colors.m3onPrimary : Appearance.colors.colOnLayer0
}
}
}
DockSeparator {}
DockApps { id: dockApps; }
DockSeparator {}
DockButton {
Layout.fillHeight: true
onClicked: Hyprland.dispatch("global quickshell:overviewToggle")
contentItem: MaterialSymbol {
anchors.fill: parent
horizontalAlignment: Text.AlignHCenter
font.pixelSize: parent.width / 2
text: "apps"
color: Appearance.colors.colOnLayer0
}
}
}
}
}
} }
} }
} }
@@ -37,11 +37,8 @@ Scope {
// item: GlobalStates.overviewOpen ? columnLayout : null // item: GlobalStates.overviewOpen ? columnLayout : null
// } // }
anchors { anchors {
top: true top: true
left: true
right: true
bottom: true bottom: true
} }
@@ -85,6 +82,7 @@ Scope {
function setSearchingText(text) { function setSearchingText(text) {
searchWidget.setSearchingText(text); searchWidget.setSearchingText(text);
searchWidget.focusFirstItemIfNeeded();
} }
ColumnLayout { ColumnLayout {
@@ -396,6 +396,8 @@ Item { // Wrapper
} }
} }
onModelChanged: root.focusFirstItemIfNeeded()
delegate: SearchItem { delegate: SearchItem {
// The selectable item for each search result // The selectable item for each search result
required property var modelData required property var modelData
@@ -11,77 +11,56 @@ Scope {
id: screenCorners id: screenCorners
readonly property Toplevel activeWindow: ToplevelManager.activeToplevel readonly property Toplevel activeWindow: ToplevelManager.activeToplevel
component CornerPanelWindow: PanelWindow {
id: cornerPanelWindow
visible: (Config.options.appearance.fakeScreenRounding === 1 || (Config.options.appearance.fakeScreenRounding === 2 && !activeWindow?.fullscreen))
property var corner
exclusionMode: ExclusionMode.Ignore
mask: Region {
item: null
}
WlrLayershell.namespace: "quickshell:screenCorners"
WlrLayershell.layer: WlrLayer.Overlay
color: "transparent"
anchors {
top: cornerPanelWindow.corner === RoundCorner.CornerEnum.TopLeft || cornerPanelWindow.corner === RoundCorner.CornerEnum.TopRight
left: cornerPanelWindow.corner === RoundCorner.CornerEnum.TopLeft || cornerPanelWindow.corner === RoundCorner.CornerEnum.BottomLeft
bottom: cornerPanelWindow.corner === RoundCorner.CornerEnum.BottomLeft || cornerPanelWindow.corner === RoundCorner.CornerEnum.BottomRight
right: cornerPanelWindow.corner === RoundCorner.CornerEnum.TopRight || cornerPanelWindow.corner === RoundCorner.CornerEnum.BottomRight
}
implicitWidth: cornerWidget.implicitWidth
implicitHeight: cornerWidget.implicitHeight
RoundCorner {
id: cornerWidget
size: Appearance.rounding.screenRounding
corner: cornerPanelWindow.corner
}
}
Variants { Variants {
model: Quickshell.screens model: Quickshell.screens
PanelWindow { Scope {
visible: (Config.options.appearance.fakeScreenRounding === 1 required property var modelData
|| (Config.options.appearance.fakeScreenRounding === 2 CornerPanelWindow {
&& !activeWindow?.fullscreen)) screen: modelData
property var modelData
screen: modelData
exclusionMode: ExclusionMode.Ignore
mask: Region {
item: null
}
// HyprlandWindow.visibleMask: Region {
// Region {
// item: topLeftCorner
// }
// Region {
// item: topRightCorner
// }
// Region {
// item: bottomLeftCorner
// }
// Region {
// item: bottomRightCorner
// }
// }
WlrLayershell.namespace: "quickshell:screenCorners"
WlrLayershell.layer: WlrLayer.Overlay
color: "transparent"
anchors {
top: true
left: true
right: true
bottom: true
}
RoundCorner {
id: topLeftCorner
anchors.top: parent.top
anchors.left: parent.left
size: Appearance.rounding.screenRounding
corner: RoundCorner.CornerEnum.TopLeft corner: RoundCorner.CornerEnum.TopLeft
} }
RoundCorner { CornerPanelWindow {
id: topRightCorner screen: modelData
anchors.top: parent.top
anchors.right: parent.right
size: Appearance.rounding.screenRounding
corner: RoundCorner.CornerEnum.TopRight corner: RoundCorner.CornerEnum.TopRight
} }
RoundCorner { CornerPanelWindow {
id: bottomLeftCorner screen: modelData
anchors.bottom: parent.bottom
anchors.left: parent.left
size: Appearance.rounding.screenRounding
corner: RoundCorner.CornerEnum.BottomLeft corner: RoundCorner.CornerEnum.BottomLeft
} }
RoundCorner { CornerPanelWindow {
id: bottomRightCorner screen: modelData
anchors.bottom: parent.bottom
anchors.right: parent.right
size: Appearance.rounding.screenRounding
corner: RoundCorner.CornerEnum.BottomRight corner: RoundCorner.CornerEnum.BottomRight
} }
} }
} }
} }
@@ -76,7 +76,6 @@ Scope {
StyledText { // Small instruction StyledText { // Small instruction
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
font.family: Appearance.font.family.title
font.pixelSize: Appearance.font.pixelSize.normal font.pixelSize: Appearance.font.pixelSize.normal
text: qsTr("Arrow keys to navigate, Enter to select\nEsc or click anywhere to cancel") text: qsTr("Arrow keys to navigate, Enter to select\nEsc or click anywhere to cancel")
} }
@@ -41,7 +41,7 @@ Singleton {
Process { Process {
id: getDefaultKeybinds id: getDefaultKeybinds
running: true running: true
command: [root.keybindParserPath, "--path", root.defaultKeybindConfigPath,] command: [root.keybindParserPath, "--path", root.defaultKeybindConfigPath]
stdout: SplitParser { stdout: SplitParser {
onRead: data => { onRead: data => {
@@ -15,6 +15,7 @@ depends=(
kde-material-you-colors kde-material-you-colors
kitty kitty
matugen-bin matugen-bin
otf-space-grotesk
starship starship
ttf-gabarito-git ttf-gabarito-git
ttf-jetbrains-mono-nerd ttf-jetbrains-mono-nerd