aboutsummaryrefslogtreecommitdiffstats
path: root/config/quickshell/overview/common/Appearance.qml
diff options
context:
space:
mode:
authorDon Williams <don.e.williams@gmail.com>2025-11-30 20:04:02 -0500
committerDon Williams <don.e.williams@gmail.com>2025-11-30 20:04:02 -0500
commitca0c23cce006ea3f7d793c5fa8eee6acff196470 (patch)
tree092a7446c0f494c958b11b1af09474d99718a74e /config/quickshell/overview/common/Appearance.qml
parent510eafbe0560cff6e459b64fcb778d645cd43ab3 (diff)
Integrate Quickshell-Overview with Qt6 fixes and automation scripts
## Overview This commit integrates the corrected Quickshell-Overview feature across all installation and update workflows. The overview provides an AGS alternative with live window previews toggled via Super+TAB keybind. ## Changes ### 1. Quickshell Overview QML Files - Added config/quickshell/overview/ subdirectory with Qt6-compatible QML - Includes 20+ files covering: * OverviewWindow.qml with proper clipping (no OpacityMask, uses QtQuick.Effects) * OverviewWidget.qml for window handling * Overview.qml main component with Hyprland integration * Common utilities and styling * Services for Hyprland data and global state management ### 2. copy.sh Updates - Removes default shell.qml that blocks quickshell named config detection - Auto-copies config/quickshell/overview to ~/.config/quickshell/overview/ - Updates old 'qs' startup commands to 'qs -c overview' - Handles both fresh installs and config overwrite scenarios ### 3. upgrade.sh Updates - Added config/quickshell/ to upgrade directory list - Excludes shell.qml to preserve overview config detection capability - Enables seamless upgrades without losing quickshell settings ### 4. IPC Command Fixes - Corrected OverviewToggle.sh to use proper 'qs ipc -c overview call overview toggle' - Fixed startup commands from old 'qs' to 'qs -c overview' - Hyprland-Dots now uses corrected toggle script ## Qt6 Compatibility - Replaced Qt5Compat.GraphicalEffects with QtQuick.Effects - Removed OpacityMask in favor of Qt6-compatible clipping technique - All QML properly imports Qt6 modules ## Release Script - release.sh automatically uses copy.sh, inheriting all quickshell updates ## Testing - Verified on target systems (Fedora 43 VM, jak-nixos) - qs -c overview successfully launches overview config when shell.qml is removed - IPC toggle commands work correctly within Wayland sessions ## Files Modified - config/quickshell/overview/* (20 new files) - copy.sh (enhanced QS handling) - upgrade.sh (added quickshell to upgrade paths)
Diffstat (limited to 'config/quickshell/overview/common/Appearance.qml')
-rw-r--r--config/quickshell/overview/common/Appearance.qml148
1 files changed, 148 insertions, 0 deletions
diff --git a/config/quickshell/overview/common/Appearance.qml b/config/quickshell/overview/common/Appearance.qml
new file mode 100644
index 00000000..79a30b44
--- /dev/null
+++ b/config/quickshell/overview/common/Appearance.qml
@@ -0,0 +1,148 @@
+pragma Singleton
+pragma ComponentBehavior: Bound
+
+import QtQuick
+import Quickshell
+import "functions"
+
+Singleton {
+ id: root
+ property QtObject m3colors
+ property QtObject animation
+ property QtObject animationCurves
+ property QtObject colors
+ property QtObject rounding
+ property QtObject font
+ property QtObject sizes
+
+ m3colors: QtObject {
+ property bool darkmode: true
+ property color m3primary: "#E5B6F2"
+ property color m3onPrimary: "#452152"
+ property color m3primaryContainer: "#5D386A"
+ property color m3onPrimaryContainer: "#F9D8FF"
+ property color m3secondary: "#D5C0D7"
+ property color m3onSecondary: "#392C3D"
+ property color m3secondaryContainer: "#534457"
+ property color m3onSecondaryContainer: "#F2DCF3"
+ property color m3background: "#161217"
+ property color m3onBackground: "#EAE0E7"
+ property color m3surface: "#161217"
+ property color m3surfaceContainerLow: "#1F1A1F"
+ property color m3surfaceContainer: "#231E23"
+ property color m3surfaceContainerHigh: "#2D282E"
+ property color m3surfaceContainerHighest: "#383339"
+ property color m3onSurface: "#EAE0E7"
+ property color m3surfaceVariant: "#4C444D"
+ property color m3onSurfaceVariant: "#CFC3CD"
+ property color m3inverseSurface: "#EAE0E7"
+ property color m3inverseOnSurface: "#342F34"
+ property color m3outline: "#988E97"
+ property color m3outlineVariant: "#4C444D"
+ property color m3shadow: "#000000"
+ }
+
+ colors: QtObject {
+ property color colSubtext: m3colors.m3outline
+ property color colLayer0: m3colors.m3background
+ property color colOnLayer0: m3colors.m3onBackground
+ property color colLayer0Border: ColorUtils.mix(root.m3colors.m3outlineVariant, colLayer0, 0.4)
+ property color colLayer1: m3colors.m3surfaceContainerLow
+ property color colOnLayer1: m3colors.m3onSurfaceVariant
+ property color colOnLayer1Inactive: ColorUtils.mix(colOnLayer1, colLayer1, 0.45)
+ property color colLayer1Hover: ColorUtils.mix(colLayer1, colOnLayer1, 0.92)
+ property color colLayer1Active: ColorUtils.mix(colLayer1, colOnLayer1, 0.85)
+ property color colLayer2: m3colors.m3surfaceContainer
+ property color colOnLayer2: m3colors.m3onSurface
+ property color colLayer2Hover: ColorUtils.mix(colLayer2, colOnLayer2, 0.90)
+ property color colLayer2Active: ColorUtils.mix(colLayer2, colOnLayer2, 0.80)
+ property color colPrimary: m3colors.m3primary
+ property color colOnPrimary: m3colors.m3onPrimary
+ property color colSecondary: m3colors.m3secondary
+ property color colSecondaryContainer: m3colors.m3secondaryContainer
+ property color colOnSecondaryContainer: m3colors.m3onSecondaryContainer
+ property color colTooltip: m3colors.m3inverseSurface
+ property color colOnTooltip: m3colors.m3inverseOnSurface
+ property color colShadow: ColorUtils.transparentize(m3colors.m3shadow, 0.7)
+ property color colOutline: m3colors.m3outline
+ }
+
+ rounding: QtObject {
+ property int unsharpen: 2
+ property int verysmall: 8
+ property int small: 12
+ property int normal: 17
+ property int large: 23
+ property int full: 9999
+ property int screenRounding: large
+ property int windowRounding: 18
+ }
+
+ font: QtObject {
+ property QtObject family: QtObject {
+ property string main: "sans-serif"
+ property string title: "sans-serif"
+ property string expressive: "sans-serif"
+ }
+ property QtObject pixelSize: QtObject {
+ property int smaller: 12
+ property int small: 15
+ property int normal: 16
+ property int larger: 19
+ property int huge: 22
+ }
+ }
+
+ animationCurves: QtObject {
+ readonly property list<real> expressiveDefaultSpatial: [0.38, 1.21, 0.22, 1.00, 1, 1]
+ readonly property list<real> expressiveEffects: [0.34, 0.80, 0.34, 1.00, 1, 1]
+ readonly property list<real> emphasizedDecel: [0.05, 0.7, 0.1, 1, 1, 1]
+ readonly property real expressiveDefaultSpatialDuration: 500
+ readonly property real expressiveEffectsDuration: 200
+ }
+
+ animation: QtObject {
+ property QtObject elementMove: QtObject {
+ property int duration: animationCurves.expressiveDefaultSpatialDuration
+ property int type: Easing.BezierSpline
+ property list<real> bezierCurve: animationCurves.expressiveDefaultSpatial
+ property Component numberAnimation: Component {
+ NumberAnimation {
+ duration: root.animation.elementMove.duration
+ easing.type: root.animation.elementMove.type
+ easing.bezierCurve: root.animation.elementMove.bezierCurve
+ }
+ }
+ }
+
+ property QtObject elementMoveEnter: QtObject {
+ property int duration: 400
+ property int type: Easing.BezierSpline
+ property list<real> bezierCurve: animationCurves.emphasizedDecel
+ property Component numberAnimation: Component {
+ NumberAnimation {
+ duration: root.animation.elementMoveEnter.duration
+ easing.type: root.animation.elementMoveEnter.type
+ easing.bezierCurve: root.animation.elementMoveEnter.bezierCurve
+ }
+ }
+ }
+
+ property QtObject elementMoveFast: QtObject {
+ property int duration: animationCurves.expressiveEffectsDuration
+ property int type: Easing.BezierSpline
+ property list<real> bezierCurve: animationCurves.expressiveEffects
+ property Component numberAnimation: Component {
+ NumberAnimation {
+ duration: root.animation.elementMoveFast.duration
+ easing.type: root.animation.elementMoveFast.type
+ easing.bezierCurve: root.animation.elementMoveFast.bezierCurve
+ }
+ }
+ }
+ }
+
+ sizes: QtObject {
+ property real elevationMargin: 10
+ }
+}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage