unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#57292: GDM accessibility menu buttons don't do anything
@ 2022-08-19  2:11 Maxim Cournoyer
  2022-09-18 19:36 ` Liliana Marie Prikler
                   ` (4 more replies)
  0 siblings, 5 replies; 21+ messages in thread
From: Maxim Cournoyer @ 2022-08-19  2:11 UTC (permalink / raw)
  To: 57292

Hello Guix!

I've just noticed that the accessibility buttons at the top right of the
screen, e.g. "High Contrast" don't stick in the enable position, and do
seem to do anything.  Both in 40.1 and the 42.0 I'm about to update to.

Thanks,

Maxim




^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#57292: GDM accessibility menu buttons don't do anything
  2022-08-19  2:11 bug#57292: GDM accessibility menu buttons don't do anything Maxim Cournoyer
@ 2022-09-18 19:36 ` Liliana Marie Prikler
  2024-01-16 20:49 ` bug#57292: [PATCH] services: gdm: Add packages for accessibility settings Dariqq
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 21+ messages in thread
From: Liliana Marie Prikler @ 2022-09-18 19:36 UTC (permalink / raw)
  To: Maxim Cournoyer, 57292

Am Donnerstag, dem 18.08.2022 um 22:11 -0400 schrieb Maxim Cournoyer:
> Hello Guix!
> 
> I've just noticed that the accessibility buttons at the top right of
> the screen, e.g. "High Contrast" don't stick in the enable position,
> and do seem to do anything.  Both in 40.1 and the 42.0 I'm about to
> update to.
Hi Maxim,

I think the issue is that the accessibility bus is not, uh, accessible.
In particular, the following line appears in GDM's greeter log:

(gnome-shell:767): dbind-WARNING **: 20:29:48.718: AT-SPI: Error
retrieving accessibility bus address:
org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was
not provided by any .service files

Note that the service itself is provided by at-spi2-core.  Perhaps we
should wire things up in gdm-service-type?

Cheers




^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#59489: gdm: Accessibility icon missing in log in screen
@ 2022-11-22 20:36 Luis Felipe via Bug reports for GNU Guix
  0 siblings, 0 replies; 21+ messages in thread
From: Luis Felipe via Bug reports for GNU Guix @ 2022-11-22 20:36 UTC (permalink / raw)
  To: 59489


[-- Attachment #1.1: Type: text/plain, Size: 258 bytes --]

In the log in screen, top-right corner of the screen, the accessibility button is there, but its icon is missing. A placeholder image is shown instead.

Guix System 8280429
gdm 42.0 




---
Luis Felipe López Acevedo
https://luis-felipe.gitlab.io/

[-- Attachment #1.2: publickey - luis.felipe.la@protonmail.com - 0x12DE1598.asc --]
[-- Type: application/pgp-keys, Size: 1722 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 509 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#57292: [PATCH] services: gdm: Add packages for accessibility settings.
  2022-08-19  2:11 bug#57292: GDM accessibility menu buttons don't do anything Maxim Cournoyer
  2022-09-18 19:36 ` Liliana Marie Prikler
@ 2024-01-16 20:49 ` Dariqq
  2024-01-20  3:12   ` bug#57292: bug#59489: gdm: Accessibility icon missing in log in screen Maxim Cournoyer
  2024-01-16 21:09 ` bug#57292: GDM accessibility menu buttons don't do anything Dariqq
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 21+ messages in thread
From: Dariqq @ 2024-01-16 20:49 UTC (permalink / raw)
  To: 57292; +Cc: Dariqq

gdm needs the "/share" subdirectory of these packages present in XDG_DATA_DIRS
such that the accessibility settings work:
- gnome-control-center: For the icon.
- dconf: To be able to change settings.
- at-spi2-core: contains accessibiltiy dbus-service.

* gnu/services/xorg.scm (<gdm-configuration>)[gnome-shell-assets]: Add
at-spi2-core, dconf, gnome-control-center.

Change-Id: I71138ef52af6d440fadc43425b0fc48b186dcc40
---
 gnu/services/xorg.scm | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 1ee15ea90c..27c8aa40c3 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -51,6 +51,7 @@ (define-module (gnu services xorg)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gnustep)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages bash)
   #:use-module (gnu system shadow)
@@ -1039,7 +1040,10 @@ (define-record-type* <gdm-configuration>
   (debug? gdm-configuration-debug? (default #f))
   (default-user gdm-configuration-default-user (default #f))
   (gnome-shell-assets gdm-configuration-gnome-shell-assets
-                      (default (list adwaita-icon-theme font-abattis-cantarell)))
+                      (default (list at-spi2-core
+                                     dconf
+                                     gnome-control-center
+                                     adwaita-icon-theme font-abattis-cantarell)))
   (xorg-configuration gdm-configuration-xorg
                       (default (xorg-configuration)))
   (x-session gdm-configuration-x-session

base-commit: 20606ca9af1ac019073f4ed872a9ad9960ff0725
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 21+ messages in thread

* bug#57292: GDM accessibility menu buttons don't do anything
  2022-08-19  2:11 bug#57292: GDM accessibility menu buttons don't do anything Maxim Cournoyer
  2022-09-18 19:36 ` Liliana Marie Prikler
  2024-01-16 20:49 ` bug#57292: [PATCH] services: gdm: Add packages for accessibility settings Dariqq
@ 2024-01-16 21:09 ` Dariqq
  2024-01-29 21:31 ` bug#57292: [PATCH] WIP: gnu: propagate inputs for gdm and rework gdm-service-type Dariqq
  2024-02-20 19:58 ` bug#57292: [PATCH v3] gnu: gdm: Enable accessibility settings Dariqq
  4 siblings, 0 replies; 21+ messages in thread
From: Dariqq @ 2024-01-16 21:09 UTC (permalink / raw)
  To: 57292

hi,

the patch that i've just sent fixes the missing icon and functionality 
(on gdm 42.0, have not tested gnome-team branch). I've also added the 
at-spi2-core package discussed before. With this gdm logs that the 
org.a11y.Bus and  org.a11y.atspi.Registry service are started.

However there is a new warning later:

ATK Bridge is disabled but a11y has already been enabled.

I don't really how this dbus service works and if this a problem.


At least the basic stuff like zoom, big text, etc. work. Also I've been 
unable to verify that the screenreader/orca starts in the gdm menu 
because sound is not working on my machine.





^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#57292: bug#59489: gdm: Accessibility icon missing in log in screen
  2024-01-16 20:49 ` bug#57292: [PATCH] services: gdm: Add packages for accessibility settings Dariqq
@ 2024-01-20  3:12   ` Maxim Cournoyer
  2024-01-20 17:09     ` Dariqq
  0 siblings, 1 reply; 21+ messages in thread
From: Maxim Cournoyer @ 2024-01-20  3:12 UTC (permalink / raw)
  To: Dariqq; +Cc: 57292, 59489

Hi Dariqq,

Thanks for working toward a fix for this.

Dariqq <dariqq@posteo.net> writes:

> gdm needs the "/share" subdirectory of these packages present in XDG_DATA_DIRS
> such that the accessibility settings work:
> - gnome-control-center: For the icon.
> - dconf: To be able to change settings.
> - at-spi2-core: contains accessibiltiy dbus-service.
>
> * gnu/services/xorg.scm (<gdm-configuration>)[gnome-shell-assets]: Add
> at-spi2-core, dconf, gnome-control-center.
>
> Change-Id: I71138ef52af6d440fadc43425b0fc48b186dcc40
> ---
>  gnu/services/xorg.scm | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
> index 1ee15ea90c..27c8aa40c3 100644
> --- a/gnu/services/xorg.scm
> +++ b/gnu/services/xorg.scm
> @@ -51,6 +51,7 @@ (define-module (gnu services xorg)
>    #:use-module (gnu packages freedesktop)
>    #:use-module (gnu packages gnustep)
>    #:use-module (gnu packages gnome)
> +  #:use-module (gnu packages gtk)
>    #:use-module (gnu packages admin)
>    #:use-module (gnu packages bash)
>    #:use-module (gnu system shadow)
> @@ -1039,7 +1040,10 @@ (define-record-type* <gdm-configuration>
>    (debug? gdm-configuration-debug? (default #f))
>    (default-user gdm-configuration-default-user (default #f))
>    (gnome-shell-assets gdm-configuration-gnome-shell-assets
> -                      (default (list adwaita-icon-theme font-abattis-cantarell)))
> +                      (default (list at-spi2-core
> +                                     dconf
> +                                     gnome-control-center
> +                                     adwaita-icon-theme font-abattis-cantarell)))

Since this is, as the name implies, intended for artwork or other
non-functional "assets", perhaps these package should be propagated by
the gdm package itself?  Would that have achieve the same?

This issue appears to have been discussed previously, although I can't
find it anymore...

-- 
Thanks,
Maxim




^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#57292: bug#59489: gdm: Accessibility icon missing in log in screen
  2024-01-20  3:12   ` bug#57292: bug#59489: gdm: Accessibility icon missing in log in screen Maxim Cournoyer
@ 2024-01-20 17:09     ` Dariqq
  2024-01-22  5:30       ` Maxim Cournoyer
  0 siblings, 1 reply; 21+ messages in thread
From: Dariqq @ 2024-01-20 17:09 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: 57292, 59489

Hi Maxim,


On 20.01.24 04:12, Maxim Cournoyer wrote:
> 
> Since this is, as the name implies, intended for artwork or other
> non-functional "assets", perhaps these package should be propagated by
> the gdm package itself?  Would that have achieve the same?
> 


That's what I tried initially and confirmed again today that it doesn't 
work for both inputs or propagated inputs. (the icon from 
gnome-control-center is visible because the share directory will be 
included XDG_DATA_DIRS from the wrapper script from the glib-or-gtk-wrap 
phase but not he other packages).
After that the next most simple solution was the hacky workaround via 
gnome-shell-assets. Maybe someone has a better idea for how to include 
the extra packages?


Also as I use the gnome-desktop via gnome-desktop-service-type all these 
packages should already be in my system profile. So somehow the 
environment is weird when shepherd starts gdm such that gdm can't find 
the extra files but I don't know enough of both guix/shepherd and 
gdm/gnome to figure out what the exact problem is.

> This issue appears to have been discussed previously, although I can't
> find it anymore...
> 

I found https://issues.guix.gnu.org/28088 which is a bit related but not 
exactly the same as there is no login manager involved.




^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#57292: bug#59489: gdm: Accessibility icon missing in log in screen
  2024-01-20 17:09     ` Dariqq
@ 2024-01-22  5:30       ` Maxim Cournoyer
  2024-01-22 18:51         ` Dariqq
  0 siblings, 1 reply; 21+ messages in thread
From: Maxim Cournoyer @ 2024-01-22  5:30 UTC (permalink / raw)
  To: Dariqq; +Cc: 57292, 59489

Hi Dariqq,

Dariqq <dariqq@posteo.net> writes:

> Hi Maxim,
>
>
> On 20.01.24 04:12, Maxim Cournoyer wrote:
>> Since this is, as the name implies, intended for artwork or other
>> non-functional "assets", perhaps these package should be propagated by
>> the gdm package itself?  Would that have achieve the same?
>> 
>
>
> That's what I tried initially and confirmed again today that it
> doesn't work for both inputs or propagated inputs. (the icon from
> gnome-control-center is visible because the share directory will be
> included XDG_DATA_DIRS from the wrapper script from the
> glib-or-gtk-wrap phase but not he other packages).
> After that the next most simple solution was the hacky workaround via
> gnome-shell-assets. Maybe someone has a better idea for how to include
> the extra packages?

Ah, that's interesting.  It means there's probably some environment
variable that gets set and usefor the other things too, or perhaps it
searches relatively to its binary.

Ideally we could patch what it needs in the gdm package definition.  A
second option would be to wrap GDM with the paths such as XDG_DATA_DIRS
it wants.

> Also as I use the gnome-desktop via gnome-desktop-service-type all
> these packages should already be in my system profile. So somehow the
> environment is weird when shepherd starts gdm such that gdm can't find
> the extra files but I don't know enough of both guix/shepherd and
> gdm/gnome to figure out what the exact problem is.
>
>> This issue appears to have been discussed previously, although I can't
>> find it anymore...
>> 
>
> I found https://issues.guix.gnu.org/28088 which is a bit related but
> not exactly the same as there is no login manager involved.

Thanks, that's the issue I remember seeing.

I'd like to avoid abusing the gnome-shell-assets, so would welcome us
further investigating the sources of GDM to get clues as to what/where
it's looking and what it wants exactly, but otherwise with your
explanation I think this can be a first step (apply this change as is).

Does anyone have a problem with it?

-- 
Thanks,
Maxim




^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#59489: gdm: Accessibility icon missing in log in screen
  2024-01-22  5:30       ` Maxim Cournoyer
@ 2024-01-22 18:51         ` Dariqq
  0 siblings, 0 replies; 21+ messages in thread
From: Dariqq @ 2024-01-22 18:51 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: 57292, 59489


[-- Attachment #1.1.1: Type: text/plain, Size: 2342 bytes --]

Hi Maxim,

On 22.01.24 06:30, Maxim Cournoyer wrote:
> 
> Ah, that's interesting.  It means there's probably some environment
> variable that gets set and usefor the other things too, or perhaps it
> searches relatively to its binary.
> 
> Ideally we could patch what it needs in the gdm package definition.  A
> second option would be to wrap GDM with the paths such as XDG_DATA_DIRS
> it wants.

> I'd like to avoid abusing the gnome-shell-assets, so would welcome us
> further investigating the sources of GDM to get clues as to what/where
> it's looking and what it wants exactly, but otherwise with your
> explanation I think this can be a first step (apply this change as 
> is).
> Does anyone have a problem with it?

Currently gdm starts with XDG_DATA_DIRS set to the share directories of 
gnome-shell and all packages in gnome-shell-assets.

Looking at other login-managers it seems they also set XDG_DATA_DRIS 
explicitly. Specifically the sddm-shepherd-service seems to solve this 
by setting XDG_DATA_DIRS to the correct path of the current system 
profile i.e. "/run/current-system/profile/share".

Maybe we could do the same with gdm? We then would need to add the extra 
packages to the system profile rather than some wrapper.


This will then work work for a gdm+gnome setup (with empty 
gnome-shell-assets) as the gnome package propagates all the packages 
needed and more.


For gdm-only there is then a problem how to include the extra packages. 
Currently the gdm-profile-service extension only adds the 
gnome-shell-assets but now also gnome-shell would be needed as this 
currently not in the system profile but added in XDG_DATA_DIRS.

Then there is the question whether the extra packages should be added to 
the profile by the service or propagated from gdm (or some other 
package). If the answer is gdm then gdm would also need to be added to 
the profile and as gdm depends on gnome-shell and want's gnome-shell 
present a service would need to add gnome-shell anyway.

This is essentially the same as the current solution via 
gnome-shell-ssets but this will work if the extra packages are in the 
system profile through any mean (and not explicitly added via the 
gnome-shell-assets) however for non-gnome-setups using gdm a solution is 
needed in any way.


[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 3177 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#57292: [PATCH] WIP: gnu: propagate inputs for gdm and rework gdm-service-type.
  2022-08-19  2:11 bug#57292: GDM accessibility menu buttons don't do anything Maxim Cournoyer
                   ` (2 preceding siblings ...)
  2024-01-16 21:09 ` bug#57292: GDM accessibility menu buttons don't do anything Dariqq
@ 2024-01-29 21:31 ` Dariqq
  2024-01-30  5:27   ` bug#59489: " Liliana Marie Prikler
  2024-02-20 19:58 ` bug#57292: [PATCH v3] gnu: gdm: Enable accessibility settings Dariqq
  4 siblings, 1 reply; 21+ messages in thread
From: Dariqq @ 2024-01-29 21:31 UTC (permalink / raw)
  To: 57292
  Cc: 59489, Dariqq, Liliana Marie Prikler, Maxim Cournoyer,
	Raghav Gururajan, Vivien Kraus

* gnu/packages/gnome.scm (gdm)[propagated inputs]: Add adwaita-icon-theme,
dconf, font-abattis-cantarell, gnome-control-center.
* gnu/services/xorg.scm (gdm-shepherd-service): Set XDG_DATA_DIR to
run/current-system/profile/share.
(gdm-profile-service): New variable.
(gdm-service-type): Use gdm-profile-service.
(gdm-configuration-gnome-shell-assets): Set default to gnome-shell.

Change-Id: I870206a9ee6a7481d19e6b38b6a3ee72b5801c6a
---
Hi Maxim and others,
This is not quite the explicit wrapper we talked about on IRC but something similiar.

The gdm package now propagates the packages from gnome-shell-assets and I added dconf and gnome-control-center for basic accessibility settings functionality + icon. Does this introduce a problem as dconf is already a natice input?
Maybe also some other packages can be added like  at-spi2-core, orca, ... or is this something the user should add to the system profile themselves?

In order for the gdm-shepherd-service to find the propagated packages I changed the XDG_DATA_DIR of the service to the system profile and added a gdm-profile-service to add gdm and gnome-shell to the system profile. Probably the gnome-shell-assets name should now also be changed as is is now only the gnome-shell package.

What do you think?


 gnu/packages/gnome.scm |  5 +++++
 gnu/services/xorg.scm  | 20 +++++++++-----------
 2 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 6f22529dd7..c16079da0a 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -9020,6 +9020,11 @@ (define-public gdm
            libcanberra
            libgudev
            linux-pam))
+    (propagated-inputs
+     (list  adwaita-icon-theme
+            dconf
+            font-abattis-cantarell
+            gnome-control-center))
     (synopsis "Display manager for GNOME")
     (home-page "https://wiki.gnome.org/Projects/GDM/")
     (description
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 1ee15ea90c..8b360d7729 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -1039,7 +1039,9 @@ (define-record-type* <gdm-configuration>
   (debug? gdm-configuration-debug? (default #f))
   (default-user gdm-configuration-default-user (default #f))
   (gnome-shell-assets gdm-configuration-gnome-shell-assets
-                      (default (list adwaita-icon-theme font-abattis-cantarell)))
+                      ;; XXX: Remove gnome-shell below when GDM
+                      ;; can depend on GNOME Shell directly.
+                      (default (list gnome-shell)))
   (xorg-configuration gdm-configuration-xorg
                       (default (xorg-configuration)))
   (x-session gdm-configuration-x-session
@@ -1136,6 +1138,10 @@ (define (gdm-pam-service config)
                      #:allow-empty-passwords?
                      (gdm-configuration-allow-empty-passwords? config))))
 
+(define (gdm-profile-service config)
+  (cons* (gdm-configuration-gdm config)
+         (gdm-configuration-gnome-shell-assets config)))
+
 (define (gdm-shepherd-service config)
   (define config-file
     (gdm-configuration-file config))
@@ -1164,15 +1170,7 @@ (define (gdm-shepherd-service config)
                             "GDM_X_SESSION="
                             #$(gdm-configuration-x-session config))
                            (string-append
-                            "XDG_DATA_DIRS="
-                            ((lambda (ls) (string-join ls ":"))
-                             (map (lambda (path)
-                                    (string-append path "/share"))
-                                  ;; XXX: Remove gnome-shell below when GDM
-                                  ;; can depend on GNOME Shell directly.
-                                  (cons #$gnome-shell
-                                        '#$(gdm-configuration-gnome-shell-assets
-                                            config)))))
+                            "XDG_DATA_DIRS=/run/current-system/profile/share")
                            ;; Add XCURSOR_PATH so that mutter can find its
                            ;; cursors.  gdm doesn't login so doesn't source
                            ;; the corresponding line in /etc/profile.
@@ -1237,7 +1235,7 @@ (define gdm-service-type
                          (service-extension polkit-service-type
                                             gdm-polkit-rules)
                          (service-extension profile-service-type
-                                            gdm-configuration-gnome-shell-assets)
+                                            gdm-profile-service)
                          (service-extension dbus-root-service-type
                                             (compose list
                                                      gdm-configuration-gdm))

base-commit: 21e4d6cd6913eca131f2c0fd0cd509fc843c7eb8
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 21+ messages in thread

* bug#59489: bug#57292: [PATCH] WIP: gnu: propagate inputs for gdm and rework gdm-service-type.
  2024-01-29 21:31 ` bug#57292: [PATCH] WIP: gnu: propagate inputs for gdm and rework gdm-service-type Dariqq
@ 2024-01-30  5:27   ` Liliana Marie Prikler
  2024-02-04  8:53     ` Dariqq
  0 siblings, 1 reply; 21+ messages in thread
From: Liliana Marie Prikler @ 2024-01-30  5:27 UTC (permalink / raw)
  To: Dariqq, 57292; +Cc: 59489, Raghav Gururajan, Vivien Kraus, Maxim Cournoyer

Am Montag, dem 29.01.2024 um 21:31 +0000 schrieb Dariqq:
> * gnu/packages/gnome.scm (gdm)[propagated inputs]: Add adwaita-icon-
> theme,
> dconf, font-abattis-cantarell, gnome-control-center.
> * gnu/services/xorg.scm (gdm-shepherd-service): Set XDG_DATA_DIR to
> run/current-system/profile/share.
> (gdm-profile-service): New variable.
> (gdm-service-type): Use gdm-profile-service.
> (gdm-configuration-gnome-shell-assets): Set default to gnome-shell.
> 
> Change-Id: I870206a9ee6a7481d19e6b38b6a3ee72b5801c6a
> ---
> Hi Maxim and others,
> This is not quite the explicit wrapper we talked about on IRC but
> something similiar.
> 
> The gdm package now propagates the packages from gnome-shell-assets
> and I added dconf and gnome-control-center for basic accessibility
> settings functionality + icon. Does this introduce a problem as dconf
> is already a natice input?
> Maybe also some other packages can be added like  at-spi2-core, orca,
> ... or is this something the user should add to the system profile
> themselves?
> 
> In order for the gdm-shepherd-service to find the propagated packages
> I changed the XDG_DATA_DIR of the service to the system profile and
> added a gdm-profile-service to add gdm and gnome-shell to the system
> profile. Probably the gnome-shell-assets name should now also be
> changed as is is now only the gnome-shell package.
> 
> What do you think?
In my opinion, adding gnome-shell and gnome-control-center to gdm-
configuration-gnome-shell-assets would be preferable to propagating
inputs.

WDYT?




^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#59489: bug#57292: [PATCH] WIP: gnu: propagate inputs for gdm and rework gdm-service-type.
  2024-01-30  5:27   ` bug#59489: " Liliana Marie Prikler
@ 2024-02-04  8:53     ` Dariqq
  2024-02-04 19:26       ` Liliana Marie Prikler
  0 siblings, 1 reply; 21+ messages in thread
From: Dariqq @ 2024-02-04  8:53 UTC (permalink / raw)
  To: Liliana Marie Prikler, 57292
  Cc: 59489, Raghav Gururajan, Vivien Kraus, Maxim Cournoyer


On 30.01.24 06:27, Liliana Marie Prikler wrote:

> In my opinion, adding gnome-shell and gnome-control-center to gdm-
> configuration-gnome-shell-assets would be preferable to propagating
> inputs.
> 
> WDYT?


This is basically my original patch in https://issues.guix.gnu.org/57292#3.

If i understand it correctly Maxim wants gdm to take care of all of 
dependencies providing functionality and handcrafting the environment 
with gdm-shepherd-service and gdm-configuration-gnome-shell-assets feels 
like a hacky workaround.




^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#59489: bug#57292: [PATCH] WIP: gnu: propagate inputs for gdm and rework gdm-service-type.
  2024-02-04  8:53     ` Dariqq
@ 2024-02-04 19:26       ` Liliana Marie Prikler
  2024-02-05 16:08         ` Dariqq
  0 siblings, 1 reply; 21+ messages in thread
From: Liliana Marie Prikler @ 2024-02-04 19:26 UTC (permalink / raw)
  To: Dariqq, 57292; +Cc: 59489, Raghav Gururajan, Vivien Kraus, Maxim Cournoyer

Am Sonntag, dem 04.02.2024 um 08:53 +0000 schrieb Dariqq:
> 
> On 30.01.24 06:27, Liliana Marie Prikler wrote:
> 
> > In my opinion, adding gnome-shell and gnome-control-center to gdm-
> > configuration-gnome-shell-assets would be preferable to propagating
> > inputs.
> > 
> > WDYT?
> 
> 
> This is basically my original patch in
> https://issues.guix.gnu.org/57292#3.
> 
> If i understand it correctly Maxim wants gdm to take care of all of 
> dependencies providing functionality and handcrafting the environment
> with gdm-shepherd-service and gdm-configuration-gnome-shell-assets
> feels like a hacky workaround.
Yes, it seems Maxim and I have conflicting goals.  Maxim wants to avoid
"abusing" gnome-shell-assets whereas I want to avoid propagation, as it
pollutes profiles.  Perhaps Maxim and I can agree on how to interpret
gnome-shell-assets, as IIUC even with packages that aren't "pure data"
only the data portion of it ought to be relevant, no?

We should do so especially because the newly propagated variables are
anyhow propagated by gnome-desktop-service, which could constitute
weird behaviour all around.

Cheers




^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#59489: bug#57292: [PATCH] WIP: gnu: propagate inputs for gdm and rework gdm-service-type.
  2024-02-04 19:26       ` Liliana Marie Prikler
@ 2024-02-05 16:08         ` Dariqq
  2024-02-05 17:55           ` Liliana Marie Prikler
  0 siblings, 1 reply; 21+ messages in thread
From: Dariqq @ 2024-02-05 16:08 UTC (permalink / raw)
  To: Liliana Marie Prikler, 57292
  Cc: 59489, Raghav Gururajan, Vivien Kraus, Maxim Cournoyer


On 04.02.24 20:26, Liliana Marie Prikler wrote:

> Yes, it seems Maxim and I have conflicting goals.  Maxim wants to avoid
> "abusing" gnome-shell-assets whereas I want to avoid propagation, as it
> pollutes profiles.  Perhaps Maxim and I can agree on how to interpret
> gnome-shell-assets, as IIUC even with packages that aren't "pure data"
> only the data portion of it ought to be relevant, no?
> 
> We should do so especially because the newly propagated variables are
> anyhow propagated by gnome-desktop-service, which could constitute
> weird behaviour all around.
> 
> Cheers

What would you think of the wrap-program solution which would avoid 
propagating pacakges?

I currently have something like

#+BEGIN_SRC scheme
(add-after 'install 'wrap-gdm
             (lambda* (#:key inputs outputs #:allow-other-keys)
               (wrap-program (string-append #$output "/bin/gdm")
                 `("XDG_DATA_DIRS" ":" prefix
                   #$(map (lambda (input)
                           (file-append (this-package-input input) 
"/share"))
                         '("at-spi2-core"
                           "dconf"
                           "gnome-control-center"))))))
#+END_SRC

Also this way the assets (adwaita and cantarell) should be kept in the 
gdm-configuration as when I tested this I had a white box as a cursor.





^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#57292: [PATCH] WIP: gnu: propagate inputs for gdm and rework gdm-service-type.
  2024-02-05 16:08         ` Dariqq
@ 2024-02-05 17:55           ` Liliana Marie Prikler
  2024-02-10  3:06             ` Maxim Cournoyer
  2024-02-16 19:10             ` bug#57292: GDM accessibility menu buttons don't do anything Maxim Cournoyer
  0 siblings, 2 replies; 21+ messages in thread
From: Liliana Marie Prikler @ 2024-02-05 17:55 UTC (permalink / raw)
  To: Dariqq, 57292; +Cc: 59489, Raghav Gururajan, Vivien Kraus, Maxim Cournoyer

Am Montag, dem 05.02.2024 um 16:08 +0000 schrieb Dariqq:
> 
> On 04.02.24 20:26, Liliana Marie Prikler wrote:
> 
> > Yes, it seems Maxim and I have conflicting goals.  Maxim wants to
> > avoid "abusing" gnome-shell-assets whereas I want to avoid
> > propagation, as it pollutes profiles.  Perhaps Maxim and I can
> > agree on how to interpret gnome-shell-assets, as IIUC even with
> > packages that aren't "pure data" only the data portion of it ought
> > to be relevant, no?
> > 
> > We should do so especially because the newly propagated variables
> > are anyhow propagated by gnome-desktop-service, which could
> > constitute weird behaviour all around.
> > 
> > Cheers
> 
> What would you think of the wrap-program solution which would avoid 
> propagating pacakges?
> 
> I currently have something like
> 
> #+BEGIN_SRC scheme
> (add-after 'install 'wrap-gdm
>              (lambda* (#:key inputs outputs #:allow-other-keys)
>                (wrap-program (string-append #$output "/bin/gdm")
>                  `("XDG_DATA_DIRS" ":" prefix
>                    #$(map (lambda (input)
>                            (file-append (this-package-input input) 
> "/share"))
>                          '("at-spi2-core"
>                            "dconf"
>                            "gnome-control-center"))))))
> #+END_SRC
> 
> Also this way the assets (adwaita and cantarell) should be kept in
> the gdm-configuration as when I tested this I had a white box as a
> cursor.
That SGTM, but we do need a more descriptive phase name.  The question
is whether we should inline the gnome-shell assets this way as well or
not.

Maxim, WDYT?

^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#57292: [PATCH] WIP: gnu: propagate inputs for gdm and rework gdm-service-type.
  2024-02-05 17:55           ` Liliana Marie Prikler
@ 2024-02-10  3:06             ` Maxim Cournoyer
  2024-02-12 14:02               ` bug#59489: " Liliana Marie Prikler
  2024-02-13 21:25               ` Dariqq
  2024-02-16 19:10             ` bug#57292: GDM accessibility menu buttons don't do anything Maxim Cournoyer
  1 sibling, 2 replies; 21+ messages in thread
From: Maxim Cournoyer @ 2024-02-10  3:06 UTC (permalink / raw)
  To: Liliana Marie Prikler
  Cc: Dariqq, 57292, 59489, Vivien Kraus, Raghav Gururajan

Hello,

Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

> Am Montag, dem 05.02.2024 um 16:08 +0000 schrieb Dariqq:
>> 
>> On 04.02.24 20:26, Liliana Marie Prikler wrote:
>> 
>> > Yes, it seems Maxim and I have conflicting goals.  Maxim wants to
>> > avoid "abusing" gnome-shell-assets whereas I want to avoid
>> > propagation, as it pollutes profiles.  Perhaps Maxim and I can
>> > agree on how to interpret gnome-shell-assets, as IIUC even with
>> > packages that aren't "pure data" only the data portion of it ought
>> > to be relevant, no?
>> > 
>> > We should do so especially because the newly propagated variables
>> > are anyhow propagated by gnome-desktop-service, which could
>> > constitute weird behaviour all around.
>> > 
>> > Cheers
>> 
>> What would you think of the wrap-program solution which would avoid 
>> propagating pacakges?
>> 
>> I currently have something like
>> 
>> #+BEGIN_SRC scheme
>> (add-after 'install 'wrap-gdm
>>              (lambda* (#:key inputs outputs #:allow-other-keys)
>>                (wrap-program (string-append #$output "/bin/gdm")
>>                  `("XDG_DATA_DIRS" ":" prefix
>>                    #$(map (lambda (input)
>>                            (file-append (this-package-input input) 
>> "/share"))
>>                          '("at-spi2-core"
>>                            "dconf"
>>                            "gnome-control-center"))))))
>> #+END_SRC
>> 
>> Also this way the assets (adwaita and cantarell) should be kept in
>> the gdm-configuration as when I tested this I had a white box as a
>> cursor.
> That SGTM, but we do need a more descriptive phase name.  The question
> is whether we should inline the gnome-shell assets this way as well or
> not.

I have never attempted to customize gnome-shell.  If it can be
customized with custom themes, different fonts and what not, then I
think it makes sense to keep the user-choosable art assets as
gnome-shell-assets.

Otherwise, if it's not configurable and expects only a specific font,
specific icons, etc., then it seems it'd make sense that it finds them
out of the gate (wrapped from within a phase).

Could someone confirm whether GDM is configurable when it comes to icons
and fonts?

Thanks for working on it, Dariqq!

-- 
Thanks,
Maxim




^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#59489: bug#57292: [PATCH] WIP: gnu: propagate inputs for gdm and rework gdm-service-type.
  2024-02-10  3:06             ` Maxim Cournoyer
@ 2024-02-12 14:02               ` Liliana Marie Prikler
  2024-02-13 21:25               ` Dariqq
  1 sibling, 0 replies; 21+ messages in thread
From: Liliana Marie Prikler @ 2024-02-12 14:02 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: Dariqq, 57292, 59489, Vivien Kraus, Raghav Gururajan

Am Freitag, dem 09.02.2024 um 22:06 -0500 schrieb Maxim Cournoyer:
> Could someone confirm whether GDM is configurable when it comes to
> icons and fonts?
Without the context of Guix, it is.  Within the context of Guix, we'd
have to make gsettings functional for most (all?) changes to have an
effect.

Cheers




^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#59489: bug#57292: [PATCH] WIP: gnu: propagate inputs for gdm and rework gdm-service-type.
  2024-02-10  3:06             ` Maxim Cournoyer
  2024-02-12 14:02               ` bug#59489: " Liliana Marie Prikler
@ 2024-02-13 21:25               ` Dariqq
  1 sibling, 0 replies; 21+ messages in thread
From: Dariqq @ 2024-02-13 21:25 UTC (permalink / raw)
  To: Maxim Cournoyer, Liliana Marie Prikler
  Cc: 57292, 59489, Vivien Kraus, Raghav Gururajan

Hi,

On 10.02.24 04:06, Maxim Cournoyer wrote:

> I have never attempted to customize gnome-shell.  If it can be
> customized with custom themes, different fonts and what not, then I
> think it makes sense to keep the user-choosable art assets as
> gnome-shell-assets.
> 

I tried in a vm with only gdm-service-type (and no gnome) and the assets 
also wrapped inside gdm and got a white box as a cursor. This might be 
caused by adwaita not being in the profile (which gnome-shell-assets 
also get added to) but I am not sure about this.


> Otherwise, if it's not configurable and expects only a specific font,
> specific icons, etc., then it seems it'd make sense that it finds them
> out of the gate (wrapped from within a phase).
> 
> Could someone confirm whether GDM is configurable when it comes to icons
> and fonts?
> 
> Thanks for working on it, Dariqq!
> 

I'd suggest leaving the gnome-shell-assets as is for now and deal with 
the gdm customisation issue at another time as it looks like it is more 
complicated than just adding the assets to the wrapper.


Regarding the patch should I create and send it or someone of you? (I 
don't really care)

And if the answer is me should the patch be against master or gnome-team 
branch?

Cheers





^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#57292: GDM accessibility menu buttons don't do anything
  2024-02-05 17:55           ` Liliana Marie Prikler
  2024-02-10  3:06             ` Maxim Cournoyer
@ 2024-02-16 19:10             ` Maxim Cournoyer
  1 sibling, 0 replies; 21+ messages in thread
From: Maxim Cournoyer @ 2024-02-16 19:10 UTC (permalink / raw)
  To: Liliana Marie Prikler
  Cc: Dariqq, 57292, 59489, Vivien Kraus, Raghav Gururajan

Hi Liliana, Dariqq,

[...]

>> What would you think of the wrap-program solution which would avoid 
>> propagating pacakges?
>> 
>> I currently have something like
>> 
>> #+BEGIN_SRC scheme
>> (add-after 'install 'wrap-gdm
>>              (lambda* (#:key inputs outputs #:allow-other-keys)
>>                (wrap-program (string-append #$output "/bin/gdm")
>>                  `("XDG_DATA_DIRS" ":" prefix
>>                    #$(map (lambda (input)
>>                            (file-append (this-package-input input) 
>> "/share"))
>>                          '("at-spi2-core"
>>                            "dconf"
>>                            "gnome-control-center"))))))
>> #+END_SRC
>> 
>> Also this way the assets (adwaita and cantarell) should be kept in
>> the gdm-configuration as when I tested this I had a white box as a
>> cursor.
> That SGTM, but we do need a more descriptive phase name.  The question
> is whether we should inline the gnome-shell assets this way as well or
> not.

As Dariqq tried to inline the assets in the wrap phase and that did
*not* immediately, work, and since in theory a user could configure GDM
to use different assets, I think the art assets can stay where they
currently are, and the above patch merged to master to fix this
longstanding issue.  Perhaps the phase name could be
'wrap-accessibility-dependencies'.

Dariqq, if you send an updated patch along these lines, I think we can
finally get it merged.

-- 
Thanks,
Maxim

^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#57292: [PATCH v3] gnu: gdm: Enable accessibility settings.
  2022-08-19  2:11 bug#57292: GDM accessibility menu buttons don't do anything Maxim Cournoyer
                   ` (3 preceding siblings ...)
  2024-01-29 21:31 ` bug#57292: [PATCH] WIP: gnu: propagate inputs for gdm and rework gdm-service-type Dariqq
@ 2024-02-20 19:58 ` Dariqq
  2024-02-24  6:38   ` bug#59489: " Liliana Marie Prikler
  4 siblings, 1 reply; 21+ messages in thread
From: Dariqq @ 2024-02-20 19:58 UTC (permalink / raw)
  To: 57292, 59489
  Cc: Dariqq, Liliana Marie Prikler, Maxim Cournoyer, Raghav Gururajan,
	Vivien Kraus

gdm needs the "/share" subdirectory of these packages present in XDG_DATA_DIRS
such that the accessibility settings work:
- at-spi2-core: contains accessibility dbus service.
- dconf: To be able to change settings.
- gnome-control-center: icon.

* gnu/packages/gnome.scm (gdm)[inputs]: Add at-spi2-core, dconf, gnome-control-center.
[phases]: Add wrap-accessibility-dependencies phase.

Change-Id: Ibfe8f1aee9c8fe0c06f895de121f0f84defe4773
---

Hi everyone,

Here is v3 of gdm accessibility issue which adds the wrapper phase we've been discussing.
I added the extra inputs under a seperate section in the inputs. If you'd like to keep them in alphabetical order feel free to adjust this. 
ALso I am not sure if the format of my commit message is ok.

I've tested on both master and gnome-team and it works on both.

To ennable the screenreader it is enough for orca to be in the system profile (and orca working i.e. on gnome-team branch).
dconf is both a native and normal input: Based on the fedora gdm.spec it seems like a build dependency however i was not able to verify this as cross-compiling (for i686-linux-gnu) requries me to bootstrap gcc. At leeast the default tests do not seem to require it.
Adding gnome-control-center, which is used for the icon, pulls in python dependencies which breaks cross compiling. Maybe you have some ideas for this.

Also some other thing that I notices is that because /var/lib/gdm is mounted as tmpfs this makes the changes in the gdm accessibility settings not persist through reboots which is annoying. These will get stored in /var/lib/gdm/.config/dconf/.


 gnu/packages/gnome.scm | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 953bd817ed..a967c9cb16 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -77,6 +77,7 @@
 ;;; Copyright © 2023 Juliana Sims <juli@incana.org>
 ;;; Copyright © 2023 Dominik Delgado Steuter <d@delgado.nrw>
 ;;; Copyright © 2023 Zhu Zihao <all_but_last@163.com>
+;;; Copyright © 2024 Dariqq <dariqq@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -9007,7 +9008,18 @@ (define-public gdm
                   (for-each (lambda (desktop)
                               (symlink desktop (basename desktop)))
                             (find-files
-                             (string-append settings "/etc/xdg"))))))))))
+                             (string-append settings "/etc/xdg")))))))
+          ;; GDM needs some additional programs available via XDG_DATA_DIRS,
+          ;; to make accessibility settings and related services available.
+          (add-after 'install 'wrap-accessibility-dependencies
+            (lambda _
+              (wrap-program (string-append #$output "/bin/gdm")
+                `("XDG_DATA_DIRS" ":" prefix
+                  #$(map (lambda (input)
+                           (file-append (this-package-input input) "/share"))
+                         '("at-spi2-core"
+                           "dconf"
+                           "gnome-control-center")))))))))
     (native-inputs
      (list `(,glib "bin")               ;for glib-compile-schemas, etc.
            dconf
@@ -9029,7 +9041,12 @@ (define-public gdm
            iso-codes
            libcanberra
            libgudev
-           linux-pam))
+           linux-pam
+
+           ;; accessibility dependencies
+           at-spi2-core
+           dconf
+           gnome-control-center))
     (synopsis "Display manager for GNOME")
     (home-page "https://wiki.gnome.org/Projects/GDM/")
     (description

base-commit: ffcce77ec488e3c89401ad77fafa65fcd9e9f5be
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 21+ messages in thread

* bug#59489: [PATCH v3] gnu: gdm: Enable accessibility settings.
  2024-02-20 19:58 ` bug#57292: [PATCH v3] gnu: gdm: Enable accessibility settings Dariqq
@ 2024-02-24  6:38   ` Liliana Marie Prikler
  0 siblings, 0 replies; 21+ messages in thread
From: Liliana Marie Prikler @ 2024-02-24  6:38 UTC (permalink / raw)
  To: Dariqq, 57292-done, 59489-done
  Cc: Raghav Gururajan, Vivien Kraus, Maxim Cournoyer

Am Dienstag, dem 20.02.2024 um 19:58 +0000 schrieb Dariqq:
> gdm needs the "/share" subdirectory of these packages present in
> XDG_DATA_DIRS
> such that the accessibility settings work:
> - at-spi2-core: contains accessibility dbus service.
> - dconf: To be able to change settings.
> - gnome-control-center: icon.
> 
> * gnu/packages/gnome.scm (gdm)[inputs]: Add at-spi2-core, dconf,
> gnome-control-center.
> [phases]: Add wrap-accessibility-dependencies phase.
> 
> Change-Id: Ibfe8f1aee9c8fe0c06f895de121f0f84defe4773
> ---
I've rewritten the commit message slightly and pushed this to gnome-
team.  Thus closing.

Cheers




^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2024-02-24  7:29 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-22 20:36 bug#59489: gdm: Accessibility icon missing in log in screen Luis Felipe via Bug reports for GNU Guix
  -- strict thread matches above, loose matches on Subject: below --
2022-08-19  2:11 bug#57292: GDM accessibility menu buttons don't do anything Maxim Cournoyer
2022-09-18 19:36 ` Liliana Marie Prikler
2024-01-16 20:49 ` bug#57292: [PATCH] services: gdm: Add packages for accessibility settings Dariqq
2024-01-20  3:12   ` bug#57292: bug#59489: gdm: Accessibility icon missing in log in screen Maxim Cournoyer
2024-01-20 17:09     ` Dariqq
2024-01-22  5:30       ` Maxim Cournoyer
2024-01-22 18:51         ` Dariqq
2024-01-16 21:09 ` bug#57292: GDM accessibility menu buttons don't do anything Dariqq
2024-01-29 21:31 ` bug#57292: [PATCH] WIP: gnu: propagate inputs for gdm and rework gdm-service-type Dariqq
2024-01-30  5:27   ` bug#59489: " Liliana Marie Prikler
2024-02-04  8:53     ` Dariqq
2024-02-04 19:26       ` Liliana Marie Prikler
2024-02-05 16:08         ` Dariqq
2024-02-05 17:55           ` Liliana Marie Prikler
2024-02-10  3:06             ` Maxim Cournoyer
2024-02-12 14:02               ` bug#59489: " Liliana Marie Prikler
2024-02-13 21:25               ` Dariqq
2024-02-16 19:10             ` bug#57292: GDM accessibility menu buttons don't do anything Maxim Cournoyer
2024-02-20 19:58 ` bug#57292: [PATCH v3] gnu: gdm: Enable accessibility settings Dariqq
2024-02-24  6:38   ` bug#59489: " Liliana Marie Prikler

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).