Skip to content

feature: Wallpaper app support for per-display and cropping settings#1631

Open
hurlbutt wants to merge 1 commit into
mylinuxforwork:mainfrom
hurlbutt:wallpaper-app-per-monitor
Open

feature: Wallpaper app support for per-display and cropping settings#1631
hurlbutt wants to merge 1 commit into
mylinuxforwork:mainfrom
hurlbutt:wallpaper-app-per-monitor

Conversation

@hurlbutt
Copy link
Copy Markdown
Contributor

Description

This pull request enhances the Wallpaper Quickshell app to provide additional advanced settings:

  • Setting wallpaper for single outputs (default is all outputs)
  • Setting position of wallpaper image in screen (in case cropping is needed) in support of new feature of awww 0.12.1 (default is centered)
  • Disabling using new wallpaper for matugen and other ML4W theming changes (enabled by default)

Changes

  • Updated ml4w-autostart to start awww-daemon and to only call ml4w-wallpaper when there exists no awww cache (otherwise let awww handle restoring wallpapers from its own cache)
  • Updated ml4w-wallpaper to support additional parameters:
    • --skip-wallpaper Will skip setting the wallpaper with awww
    • --skip-theming Will skip updating OS themes based on new wallpaper.
    • --skip Alias for "--skip-wallpaper".
    • --monitor Specify which input to apply wallpaper change (default applies to all outputs)
    • --crop-gravity Specify where to anchor wallpaper image in case cropping is needed (values from 'awww img --crop-gravity; default is center)
  • Refactored ml4w-wallpaper to consolidate awww/wallpaper functions and theming functions together
  • Refactored WallpaperWindow.qml to componentize ComboBox and CheckBox styling and applied throughout the app
  • Added advanced option to choose specific output to apply wallpaper change
  • Added advanced option to choose where to position wallpaper image in monitor in case cropping is needed
  • Added advanced option to not apply matugen and ML4W theming changes as a consequence of changing wallpaper

How Has This Been Tested?

  • Tested on Arch Linux/Based Distro.
  • Tested on Fedora Linux/Based Distro.
  • Tested on openSuse.

Checklist

Please ensure your pull request meets the following requirements:

  • My code follows the style guidelines of this project.
  • I have performed a self-review of my code.
  • I have commented on my code, particularly in hard-to-understand areas.
  • My changes do not introduce new warnings.
  • I have added tests that prove my fix is effective or that my feature works.
  • I have made corresponding changes to the documentation
  • New and existing unit tests pass locally with my changes.

Screenshots

screenshot_20260528_151328

Additional Notes

  • The wallpaper position functionality requires awww 0.12.1 to function. ml4w-wallpaper checks for the awww version, and it will drop the flag for cropping if the version isn't at least 0.12.1.

@hurlbutt hurlbutt changed the title Wallpaper app support for per-display and cropping settings feature: Wallpaper app support for per-display and cropping settings May 28, 2026
@mylinuxforwork
Copy link
Copy Markdown
Owner

This is great. But cannot add it now to 2.13.0. But will test it immediately after the release foe 2.13.1

@mylinuxforwork mylinuxforwork self-assigned this May 31, 2026
@mylinuxforwork mylinuxforwork added this to the 2.13.1 milestone May 31, 2026
@hurlbutt
Copy link
Copy Markdown
Contributor Author

@mylinuxforwork - Sounds good. Also, feel free to prescribe any styling changes to the checkbox component. I tried to use the theming attributes from the other elements to style the box, but I'm not tied to any of the implementation details and would welcome feedback.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants