Skip to content

GNOME 42 Support #18

Description

@mlmilliman

I ported walkpaper to GNOME 42 by adding '42' to the shell-version list. It functions properly as long as the appearance style is light. If you chose a dark style, then the wallpaper will not change when changing workspaces. The reason for this is that the gsetting for the wallpaper is dependent on the appearance style.

GNOME 42 added the gsetting org.gnome.desktop.background.picture-uri-dark for the path of the wallpaper when the theme is set to dark. GNOME 42's workspace manager will use that setting when the workspaces are changed with a dark theme. A new gsetting org.gnome.desktop.interface.color-scheme is used to determine the theme shade. There are two settings: prefer-light and prefer-dark. When prefer-light is set, then GNOME uses the gsetting org.gnome.desktop.background.picture-uri for selecting the wallpaper. Likewise when prefer-dark is set, then GNOME uses gsetting org.gnome.desktop.background.picture-uri-dark for selecting the wallpaper. This method allows for flexibility when creating desktop themes. Eventually themes will be switched based on time-of-day, and this setting will be useful.

In the mean time, walkpaper will not work well with dark mode themes. Simply adding logic to read org.gnome.desktop.interface.color-scheme to set the variable CURRENT_WALLPAPER_KEY to 'picture-uri' or 'picture-uri-dark' is not a complete fix because it will apply the same wallpapers no matter what theme is being used.

A better fix would be to read org.gnome.desktop.interface.color-scheme each time the function _changeWallpaper is called to determine the proper URI to set and read the path of the wallpaper from one of two arrays containing wallpaper preferences for light and dark modes. The code change to the extension is only a couple of lines but the prefs will require a bigger change to display the array of wallpapers.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions