Skip to content

Fix: replace Screen with Quickshell.screens[0] in WallpaperService#2409

Open
kermeat wants to merge 1 commit intonoctalia-dev:mainfrom
kermeat:fix_wallpaper_automation
Open

Fix: replace Screen with Quickshell.screens[0] in WallpaperService#2409
kermeat wants to merge 1 commit intonoctalia-dev:mainfrom
kermeat:fix_wallpaper_automation

Conversation

@kermeat
Copy link
Copy Markdown
Contributor

@kermeat kermeat commented Apr 5, 2026

Pull Request

Motivation

When display turned off and on compositor recreate screen object but Screen still points to old object which no longer exists. WallpaperService tries to get Screen.name, but it's empty.
Quickshell.screens[0] is already used in some parts of WallpaperService.

Type of Change

Mark the relevant option with an "x".

  • Bug fix
  • New feature
  • Breaking change
  • Refactoring

Related Issue

quickshell-mirror/quickshell#477

Testing

  1. Enable wallpaper automation
  2. Turn off monitor for 1 minute
  3. Turn on monitor and wait for wallpaper to change
  • Tested on niri
  • Tested on Hyprland
  • Tested on sway
  • Tested with different bar positions and density settings
  • Tested at different interface scaling values
  • Tested with multiple monitors (if applicable)

Checklist

  • Code follows project style guidelines
  • Self-reviewed my code
  • No new warnings or errors
  • Documentation or comments updated (if relevant)

Additional Notes

Objects after display turned off/on
Quickshell.screens[0]: QScreen(0x7f9e55944370, name="DP-3"))
Screen: QQuickScreenAttached(0x7f9e1d24eb30) name: model: mnfrr: orientation: 0

When display turned off and on compositor recreate screen object but Screen still points to old object which no longer exists.
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.

1 participant