Mailinglist Archive: opensuse-features (11 mails)

< Previous Next >
[openFATE 324570] make GDM background image configurable
Feature changed by: Frederic Crozat (fcrozat)
Feature #324570, revision 16
Title: make GDM background image configurable

Requested by: Ludwig Nussel (lnussel)
Partner organization: openSUSE.org

Description:
GDM only has very limited theming posibilites. To change the actual
wallpaper one has to modify a binary file a rather nasty and not
upgradable way:
https://wiki.archlinux.org/index.php/GDM#Log-in_screen_background_image
Please implement some more convenient way to allow custom deployments
to override the wallpaper in GDM.

Use Case:
Customers and partners might want to customize SLES, SLED, and SLE
POS.

Discussion:
#1: QK ZHU (qkzhu) (2018-09-10 03:28:09)
Upstream status: - This feature was rejected by upstream
https://bugzilla.gnome.org/show_bug.cgi?id=787454 - A new design for
login & lock screen has been proposed during 2017 GNOME Shell UX Design
Hackfest, it seems a blurred background is in their paln but I am not
sure when this will be implemented:
https://wiki.gnome.org/Design/OS/LockUnlockLogin#Tentative_Design My
questions: There are two aspects for GDM background, login screen and
lock screen - Should both of them be configurable? Login screen
background is a system-wide behavior while lock screen background is a
user-wide behavior, should lock screen align with login screen?
Tentative solutions: 1. Let GDM uses a custom CSS file and use update-
alternatives to switch between different themes. Ubuntu uses this way
to redefine their login theme:
https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/1715722 But
their patch doesn't change the lock screen background:
https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/1732450 2.
According to GResource doc: 'it is possible to use the
G_RESOURCE_OVERLAYS environment variable to selectively overlay
resources with replacements from the filesystem.' but is's only for
debugging or quick hacking and testing purposes. I will make some
investigation to check if it's a practical solution
Potential regressions: - multi-monitor behaviors - SUSE logo on the
lock screen was added as a background, it may be affected by this
feature

#2: Ludwig Nussel (lnussel) (2018-09-10 14:56:33Z) (reply to #1)
For a start the gdm background alone would be good already even without
lock screen :)

#7: Frederic Crozat (fcrozat) (2018-10-03 14:36:22Z) (reply to #2)
I agree with ludwig, gdm (ie login) background is the most important.
Lock will probably be good enough once the new upstream design is
merged.

#3: QK ZHU (qkzhu) (2018-09-12 10:02:44)
Modify /usr/share/applications/org.gnome.Shell.desktop to
Exec=G_RESOURCE_OVERLAYS=/org/gnome/shell/theme/noise-texture.
png=/path/filename.jpg /usr/bin/gnome-shell Login & Lock screen
background will be both changed.
The background image will be repeated if its size doesn't fit with the
resolution, i.e. It's not convenient to adjust the image property by
this way.

#4: QK ZHU (qkzhu) (2018-09-14 09:14:14Z)
I submitted a experimental patch to G:S:3.26 for tentative solution1:
-
https://build.opensuse.org/package/rdiff/home:qkzhu:branches:GNOME:STABLE:3.26
/gnome-shell?opackage=gnome-shell&oproject=GNOME%3ASTABLE%3A3.26&rev=6
1. GDM session uses an exported CSS (/usr/share/gnome-shell/theme/gdm.
css) to define its theme
2. We can use update-alternatives to switch between different themes
3. Currently gdm.css points to gdm-upstream.css which is generated by
the upstream SCSS file
4. Only login screen theme could be changed
If you want to provide a different theme, let's say gdm-openSUSE.css,
you should:
1. Generate this css file based on the upstream version, modify
#lockDialogGroup section to change the background
#lockDialogGroup{
background: #2e3436 url(file:
///usr/share/wallpapers/SLEdefault/contents/images/1920x1080.jpg);
background-repeat: no-repeat; }
2. Provide this css file in a branding package and switch to it via
update-alternatives

#5: QK ZHU (qkzhu) (2018-09-14 09:23:06Z)
Xiaoguang just provided a new solution/patch draft.
This approach will change the background picture uri via gssettings. I
will refine the patch and compare these two solutions.

#6: QK ZHU (qkzhu) (2018-09-29 08:57:05) (reply to #5)
Experimental patch of solution2:
https://build.opensuse.org/package/rdiff/home:qkzhu:branches:GNOME:STABLE:3.26
/gnome-shell-gdm_background?opackage=gnome-shell&oproject=GNOME%
3ASTABLE%3A3.26&rev=8 Login and lock screen can be both changed. You
can change the schema value using gsettings or dconf-editor. How to
change the lock screen: Login as a normal user then start dconf-editor
to change: org.gnome.shell.lockdialog.background How to change the
login screen: 1. Run as root: xhost +SI:localuser:gdm 2. Start dconf-
editor as gdm: sudo -u gdm DISPLAY=:0 dconf-editor 3. Change the value
then reboot your system
Or you can modify the background in a branding package just like how
GNOME Shell's wallpaper was changed.

#8: QK ZHU (qkzhu) (2018-10-16 09:18:54)
A comparison between the two solutions Solution 1: Change the
background of lockDialogGroup by the exported stylesheet CSS file
* Only login screen theme could be changed.
* The adjustability of wallpaper is limited through CSS file, e.g. the
background image might not be compatible with different resolutions.
* Through the CSS file you can change not only the wallpaper but also
the panel style, fond size.. of the login screen.
Solution 2: Add a background Actor to lockDialogGroup
* Both login and lock screen wallpaper could be changed via gsettings.
* The adjustability of wallpaper is the same with GNOME Shell's
background, the image can be rendered as “wallpaper”, “centered”,
“scaled”, “stretched”, “zoom”, “spanned”.
I would adopt Solution 2 since it is more neat than solution 1 from my
perspective, Do you have any sugesstions @Frederic @Ludwig?

#9: QK ZHU (qkzhu) (2018-10-16 09:23:44Z) (reply to #8)
I would adopt Solution 2 since it is more neat than solution 1 from my
perspective, Do you have any sugesstions @Frederic @Ludwig?

+ #10: Frederic Crozat (fcrozat) (2018-10-16 09:45:26Z) (reply to #9)
+ How maintainable are both solutions long term ? Since I don't expect
+ the patch for the feature to be merged upstream




--
openSUSE Feature:
https://features.opensuse.org/324570

< Previous Next >
This Thread
References