diff --git a/Commons/Settings.qml b/Commons/Settings.qml index b01dfdf..7eac008 100644 --- a/Commons/Settings.qml +++ b/Commons/Settings.qml @@ -170,6 +170,7 @@ Singleton { // wallpaper property JsonObject wallpaper: JsonObject { + property bool enabled: true property string directory: "/usr/share/wallpapers" property bool enableMultiMonitorDirectories: false property bool setWallpaperOnAllMonitors: true diff --git a/Modules/Background/Background.qml b/Modules/Background/Background.qml index 0acde3b..594425f 100644 --- a/Modules/Background/Background.qml +++ b/Modules/Background/Background.qml @@ -12,7 +12,7 @@ Variants { required property ShellScreen modelData - active: Settings.isLoaded && modelData + active: Settings.isLoaded && modelData && Settings.data.wallpaper.enabled sourceComponent: PanelWindow { id: root diff --git a/Modules/Background/Overview.qml b/Modules/Background/Overview.qml index 16a2cd4..fac841e 100644 --- a/Modules/Background/Overview.qml +++ b/Modules/Background/Overview.qml @@ -12,7 +12,7 @@ Variants { delegate: Loader { required property ShellScreen modelData - active: Settings.isLoaded && CompositorService.isNiri && modelData + active: Settings.isLoaded && CompositorService.isNiri && modelData && Settings.data.wallpaper.enabled property string wallpaper: "" diff --git a/Modules/SettingsPanel/Tabs/WallpaperTab.qml b/Modules/SettingsPanel/Tabs/WallpaperTab.qml index 8212b4a..6696e8d 100644 --- a/Modules/SettingsPanel/Tabs/WallpaperTab.qml +++ b/Modules/SettingsPanel/Tabs/WallpaperTab.qml @@ -10,7 +10,15 @@ import qs.Widgets ColumnLayout { id: root + NToggle { + label: "Enable Wallpaper Management" + description: "Let Quickshell manage your wallpaper. Disable this if you use an external wallpaper daemon like swww." + checked: Settings.data.wallpaper.enabled + onToggled: checked => Settings.data.wallpaper.enabled = checked + } + ColumnLayout { + enabled: Settings.data.wallpaper.enabled spacing: Style.marginL * scaling Layout.fillWidth: true NTextInput { diff --git a/Shaders/frag/wp_stripes.frag b/Shaders/frag/wp_stripes.frag index 34df964..f141227 100644 --- a/Shaders/frag/wp_stripes.frag +++ b/Shaders/frag/wp_stripes.frag @@ -59,7 +59,7 @@ void main() { int stripeIndex = int(floor(stripePos)); // Determine if this is an odd or even stripe - bool isOddStripe = (stripeIndex % 2) == 1; + bool isOddStripe = mod(float(stripeIndex), 2.0) != 0.0; // Calculate the progress for this specific stripe with wave delay // Use absolute stripe position for consistent delay across all stripes