From a8761bc6f2a4c527a8ba8c0396e6a3661a770c40 Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Wed, 8 Apr 2026 12:04:25 +0200 Subject: [PATCH 1/5] installation: not overwrite whole quickshell dir, overwrite hyprland.conf --- sdata/subcmd-install/3.files-exp.yaml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/sdata/subcmd-install/3.files-exp.yaml b/sdata/subcmd-install/3.files-exp.yaml index 63a0cad1f..ec4458357 100644 --- a/sdata/subcmd-install/3.files-exp.yaml +++ b/sdata/subcmd-install/3.files-exp.yaml @@ -13,8 +13,8 @@ user_preferences: keybindings: "default" # default | vim patterns: # Always install these files - - from: "dots/.config/quickshell" - to: "$XDG_CONFIG_HOME/quickshell" + - from: "dots/.config/quickshell/ii" + to: "$XDG_CONFIG_HOME/quickshell/ii" mode: "sync" # Conditionally install these files - from: "dots/.config/fish" @@ -46,11 +46,8 @@ patterns: - from: "dots/.config/hypr" to: "$XDG_CONFIG_HOME/hypr" mode: "sync" - excludes: ["custom", "hyprlock.conf", "hypridle.conf", "hyprland.conf"] + excludes: ["custom", "hyprlock.conf", "hypridle.conf", "monitors.conf", "workspaces.conf"] # Hyprland special files - - from: "dots/.config/hypr/hyprland.conf" - to: "$XDG_CONFIG_HOME/hypr/hyprland.conf" - mode: "hard-backup" - from: "dots/.config/hypr/hypridle.conf" to: "$XDG_CONFIG_HOME/hypr/hypridle.conf" mode: "soft-backup" From a5eca98543beb5352511f499e4a7d40fb302c481 Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Wed, 8 Apr 2026 12:12:20 +0200 Subject: [PATCH 2/5] hyprland: prevent error from loading nonexistent user config files --- dots/.config/hypr/custom/env.conf | 1 + dots/.config/hypr/custom/execs.conf | 1 + dots/.config/hypr/custom/general.conf | 1 + dots/.config/hypr/custom/keybinds.conf | 1 + dots/.config/hypr/custom/rules.conf | 1 + dots/.config/hypr/custom/variables.conf | 1 + dots/.config/hypr/hyprland.conf | 9 +++++++++ 7 files changed, 15 insertions(+) diff --git a/dots/.config/hypr/custom/env.conf b/dots/.config/hypr/custom/env.conf index 4e59a32c2..31a62fe97 100644 --- a/dots/.config/hypr/custom/env.conf +++ b/dots/.config/hypr/custom/env.conf @@ -1,3 +1,4 @@ +# hyprlang noerror false # You can put extra environment variables here # https://wiki.hyprland.org/Configuring/Environment-variables/ diff --git a/dots/.config/hypr/custom/execs.conf b/dots/.config/hypr/custom/execs.conf index 66bb2b8b5..fbabcc7b7 100644 --- a/dots/.config/hypr/custom/execs.conf +++ b/dots/.config/hypr/custom/execs.conf @@ -1,3 +1,4 @@ +# hyprlang noerror false # You can make apps auto-start here # Relevant Hyprland wiki section: https://wiki.hyprland.org/Configuring/Keywords/#executing diff --git a/dots/.config/hypr/custom/general.conf b/dots/.config/hypr/custom/general.conf index aa3fd4f83..f5b34b5a9 100644 --- a/dots/.config/hypr/custom/general.conf +++ b/dots/.config/hypr/custom/general.conf @@ -1,3 +1,4 @@ +# hyprlang noerror false # Put general config stuff here # Here's a list of every variable: https://wiki.hyprland.org/Configuring/Variables/ diff --git a/dots/.config/hypr/custom/keybinds.conf b/dots/.config/hypr/custom/keybinds.conf index 8885a2175..bc6fc209c 100644 --- a/dots/.config/hypr/custom/keybinds.conf +++ b/dots/.config/hypr/custom/keybinds.conf @@ -1,3 +1,4 @@ +# hyprlang noerror false # See https://wiki.hyprland.org/Configuring/Binds/ #! ##! User diff --git a/dots/.config/hypr/custom/rules.conf b/dots/.config/hypr/custom/rules.conf index 9b48404e6..59772d611 100644 --- a/dots/.config/hypr/custom/rules.conf +++ b/dots/.config/hypr/custom/rules.conf @@ -1,3 +1,4 @@ +# hyprlang noerror false # You can put custom rules here # Window/layer rules: https://wiki.hyprland.org/Configuring/Window-Rules/ # Workspace rules: https://wiki.hyprland.org/Configuring/Workspace-Rules/ diff --git a/dots/.config/hypr/custom/variables.conf b/dots/.config/hypr/custom/variables.conf index 6df5899cb..b692ce113 100644 --- a/dots/.config/hypr/custom/variables.conf +++ b/dots/.config/hypr/custom/variables.conf @@ -1 +1,2 @@ +# hyprlang noerror false # For all available variables, see ~/.config/hypr/hyprland/variables.conf diff --git a/dots/.config/hypr/hyprland.conf b/dots/.config/hypr/hyprland.conf index b59a6d525..819c6cf26 100644 --- a/dots/.config/hypr/hyprland.conf +++ b/dots/.config/hypr/hyprland.conf @@ -3,11 +3,15 @@ # --- Environment variables --- source=hyprland/env.conf +# hyprlang noerror true source=custom/env.conf +# hyprlang noerror false # --- Other vars --- source=hyprland/variables.conf +# hyprlang noerror true source=custom/variables.conf +# hyprlang noerror false # --- Defaults --- # hyprlang if !dontLoadDefaultExecs @@ -27,10 +31,15 @@ source=hyprland/keybinds.conf # hyprlang endif # --- Custom --- +# hyprlang noerror true source=custom/execs.conf +# hyprlang noerror true source=custom/general.conf +# hyprlang noerror true source=custom/rules.conf +# hyprlang noerror true source=custom/keybinds.conf +# hyprlang noerror false # --- nwg-displays support --- source=workspaces.conf From fa3bf6f5df9ce678189a50a1c62878b82fd4f19d Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Wed, 8 Apr 2026 17:43:32 +0200 Subject: [PATCH 3/5] make ScrollEdgeFade color less weird --- .../quickshell/ii/modules/common/widgets/ScrollEdgeFade.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dots/.config/quickshell/ii/modules/common/widgets/ScrollEdgeFade.qml b/dots/.config/quickshell/ii/modules/common/widgets/ScrollEdgeFade.qml index 5c19f818a..de30e4368 100644 --- a/dots/.config/quickshell/ii/modules/common/widgets/ScrollEdgeFade.qml +++ b/dots/.config/quickshell/ii/modules/common/widgets/ScrollEdgeFade.qml @@ -7,7 +7,7 @@ Item { z: 99 required property Item target property real fadeSize: Appearance.m3colors.darkmode ? 40 : 20 - property color color: ColorUtils.transparentize(Appearance.colors.colShadow, Appearance.m3colors.darkmode ? 0 : 0.7) + property color color: Appearance.colors.colLayer1Base property bool vertical: true anchors.fill: target From 3e0561578c9b208a4cc791c448c25ac1cc5bf072 Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Fri, 10 Apr 2026 21:36:24 +0200 Subject: [PATCH 4/5] background: parallax: make amount configurable, fix change reactivity, disable by default --- .../quickshell/ii/modules/common/Config.qml | 6 ++--- .../ii/modules/ii/background/Background.qml | 23 +++++++++---------- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/dots/.config/quickshell/ii/modules/common/Config.qml b/dots/.config/quickshell/ii/modules/common/Config.qml index 7a537b270..cf8fc2032 100644 --- a/dots/.config/quickshell/ii/modules/common/Config.qml +++ b/dots/.config/quickshell/ii/modules/common/Config.qml @@ -216,9 +216,9 @@ Singleton { property JsonObject parallax: JsonObject { property bool vertical: false property bool autoVertical: false - property bool enableWorkspace: true - property real workspaceZoom: 1.0 // Relative to wallpaper size - property bool enableSidebar: true + property bool enableWorkspace: false + property real workspaceZoom: 1.07 // Relative to wallpaper size + property bool enableSidebar: false property real widgetsFactor: 1.2 } } diff --git a/dots/.config/quickshell/ii/modules/ii/background/Background.qml b/dots/.config/quickshell/ii/modules/ii/background/Background.qml index b63ba8862..0c1f1c0f7 100644 --- a/dots/.config/quickshell/ii/modules/ii/background/Background.qml +++ b/dots/.config/quickshell/ii/modules/ii/background/Background.qml @@ -48,9 +48,9 @@ Variants { const sensitiveNetwork = (CF.StringUtils.stringListContainsSubstring(Network.networkName.toLowerCase(), Config.options.workSafety.triggerCondition.networkNameKeywords)); return enabled && sensitiveWallpaper && sensitiveNetwork; } - readonly property real parallaxRation: 1.1 - readonly property real additionalScaleFactor: Config.options.background.parallax.workspaceZoom - property real effectiveWallpaperScale: 1 // Some reasonable init value, to be updated + readonly property real parallaxRation: Config.options.background.parallax.workspaceZoom + property real minSuitableScale: 1 // Some reasonable init, to be updated + property real effectiveWallpaperScale: minSuitableScale * parallaxRation property int wallpaperWidth: modelData.width // Some reasonable init value, to be updated property int wallpaperHeight: modelData.height // Some reasonable init value, to be updated property real scaledWallpaperWidth: wallpaperWidth * effectiveWallpaperScale @@ -119,8 +119,7 @@ Variants { // Small picture; scale > 1; will zoom in the picture // Big picture; scale < 1; will zoom out the picture // Choose max number so every side will fit - const minSuitableScale = Math.max(screenWidth / width, screenHeight / height); - bgRoot.effectiveWallpaperScale = minSuitableScale * bgRoot.additionalScaleFactor * bgRoot.parallaxRation; + bgRoot.minSuitableScale = Math.max(screenWidth / width, screenHeight / height); } } } @@ -167,16 +166,16 @@ Variants { } x: { - if (bgRoot.screen.width > bgRoot.scaledWallpaperWidth) { + if (bgRoot.screen.width > width) { // Center the picture - return (bgRoot.screen.width - bgRoot.scaledWallpaperWidth) / 2; + return (bgRoot.screen.width - width) / 2; } return - bgRoot.parallaxTotalPixelsX * usedFractionX; } y: { - if (bgRoot.screen.height > bgRoot.scaledWallpaperHeight) { + if (bgRoot.screen.height > height) { // Center the picture - return (bgRoot.screen.height - bgRoot.scaledWallpaperHeight) / 2; + return (bgRoot.screen.height - height) / 2; } return - bgRoot.parallaxTotalPixelsY * usedFractionY; } @@ -235,10 +234,10 @@ Variants { height: parent.height readonly property real parallaxFactor: { var f = Config.options.background.parallax.widgetsFactor; - return f / Config.options.background.parallax.workspaceZoom; + return f / bgRoot.parallaxRation; } - readonly property real baseWallpaperOffsetX: (bgRoot.screen.width - bgRoot.scaledWallpaperWidth) / 2 - readonly property real baseWallpaperOffsetY: (bgRoot.screen.height - bgRoot.scaledWallpaperHeight) / 2 + readonly property real baseWallpaperOffsetX: (bgRoot.screen.width - wallpaper.width) / 2 + readonly property real baseWallpaperOffsetY: (bgRoot.screen.height - wallpaper.height) / 2 readonly property real wallpaperTotalOffsetX: wallpaper.x - baseWallpaperOffsetX readonly property real wallpaperTotalOffsetY: wallpaper.y - baseWallpaperOffsetY readonly property bool locked: GlobalStates.screenLocked From 5f9febd4b7f1756728ccd6bbbb08727625645462 Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Fri, 10 Apr 2026 22:12:23 +0200 Subject: [PATCH 5/5] hyprland: less prominent borders further reduces visual noise, especially in light mode --- dots/.config/hypr/hyprland/general.conf | 6 +++--- dots/.config/matugen/templates/hyprland/colors.conf | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dots/.config/hypr/hyprland/general.conf b/dots/.config/hypr/hyprland/general.conf index 9a0649c8c..239e193ae 100644 --- a/dots/.config/hypr/hyprland/general.conf +++ b/dots/.config/hypr/hyprland/general.conf @@ -72,10 +72,10 @@ decoration { shadow { enabled = true ignore_window = true - range = 50 - offset = 0 4 + range = 20 + offset = 0 2 render_power = 10 - color = rgba(00000027) + color = rgba(00000020) } # Dim diff --git a/dots/.config/matugen/templates/hyprland/colors.conf b/dots/.config/matugen/templates/hyprland/colors.conf index 6de98514f..6c11ce26a 100644 --- a/dots/.config/matugen/templates/hyprland/colors.conf +++ b/dots/.config/matugen/templates/hyprland/colors.conf @@ -1,6 +1,6 @@ general { - col.active_border = rgba({{colors.outline.default.hex_stripped}}77) - col.inactive_border = rgba({{colors.outline_variant.default.hex_stripped}}55) + col.active_border = rgba({{colors.outline_variant.default.hex_stripped}}77) + col.inactive_border = rgba({{colors.surface_container_low.default.hex_stripped}}33) } misc {