unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#38172: fixing dangerous PulseAudio defaults and giving it a record type
@ 2019-11-11 21:09 ` raingloom
  2019-11-12 11:00   ` Leo Prikler
  2020-01-09  1:22   ` bug#38172: WebkitGTK-based browsers: System volume suddenly maxed out when playing audio or video Leo Prikler
  0 siblings, 2 replies; 7+ messages in thread
From: raingloom @ 2019-11-11 21:09 UTC (permalink / raw)
  To: 38172

Discussion from IRC:
http://logs.guix.gnu.org/guix/2019-11-11.log#213424

Basically it makes volume settings behave in erratic and surprising
ways that are not obvious even to seasoned Linux users, including
sudden loud noises.

The fix is as simple as adding "flat-volumes = no"
to .config/pulse/daemon.conf, but this should really be a system
default.

However, rather than patching it, the consensus seems to be that we
should create a <pulseaudio-configuration> record type.
http://logs.guix.gnu.org/guix/2019-11-11.log#213953

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

* bug#38172: fixing dangerous PulseAudio defaults and giving it a record type
  2019-11-11 21:09 ` bug#38172: fixing dangerous PulseAudio defaults and giving it a record type raingloom
@ 2019-11-12 11:00   ` Leo Prikler
  2020-01-09  1:22   ` bug#38172: WebkitGTK-based browsers: System volume suddenly maxed out when playing audio or video Leo Prikler
  1 sibling, 0 replies; 7+ messages in thread
From: Leo Prikler @ 2019-11-12 11:00 UTC (permalink / raw)
  To: 38172

[-- Attachment #1: Type: text/plain, Size: 2 bytes --]



[-- Attachment #2: 0001-services-Add-PulseAudio-service.patch --]
[-- Type: text/x-patch, Size: 3094 bytes --]

From d48594a3e7e02aef0c5ff9fff719c1d0fb45207e Mon Sep 17 00:00:00 2001
From: Leo Prikler <leo.prikler@student.tugraz.at>
Date: Tue, 12 Nov 2019 02:08:40 +0100
Subject: [PATCH] services: Add PulseAudio service

* gnu/services/sound.scm: (<pulseaudio-configuration>): New record type.
(pulseaudio-service-type): New service type.
---
 gnu/services/sound.scm | 58 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 57 insertions(+), 1 deletion(-)

diff --git a/gnu/services/sound.scm b/gnu/services/sound.scm
index f2dd24402f..2aedc03c75 100644
--- a/gnu/services/sound.scm
+++ b/gnu/services/sound.scm
@@ -30,7 +30,9 @@
   #:use-module (gnu packages pulseaudio)
   #:use-module (ice-9 match)
   #:export (alsa-configuration
-            alsa-service-type))
+            alsa-service-type
+            pulseaudio-configuration
+            pulseaudio-service-type))
 
 ;;; Commentary:
 ;;;
@@ -97,4 +99,58 @@ ctl.!default {
    (default-value (alsa-configuration))
    (description "Configure low-level Linux sound support, ALSA.")))
 
+\f
+;;;
+;;; PulseAudio
+;;;
+
+(define-record-type* <pulseaudio-configuration>
+  pulseaudio-configuration make-pulseaudio-configuration
+  pulseaudio-configuration?
+  (package pulseaudio-package (default pulseaudio))
+  (client-conf pulseaudio-client-conf (default '()))
+  (daemon-conf pulseaudio-daemon-conf (default '((flat-volumes no))))
+  (default-script pulseaudio-default-script (default #f))
+  (system-script pulseaudio-system-script (default #f)))
+
+(define (pulseaudio-conf-entry arg)
+  (match arg
+    ((key value)
+     (format #f "~a = ~a~%" key value))
+    ((? string? _)
+     (string-append arg "\n"))))
+
+(define pulseaudio-etc-service
+  (match-lambda
+    (($ <pulseaudio-configuration> package client-conf daemon-conf
+                                   default-script system-script)
+     (let ((default.pa (if default-script
+                           (apply mixed-text-file "default.pa"
+                                  default-script)
+                           (file-append package "/etc/pulse/default.pa"))))
+       `(("pulse"
+          ,(file-union
+            "pulse"
+            `(("client.conf"
+               ,(apply mixed-text-file "client.conf"
+                       (map pulseaudio-conf-entry client-conf)))
+              ("daemon.conf"
+               ,(apply mixed-text-file "daemon.conf"
+                       "default-script-file = " default.pa "\n"
+                       (map pulseaudio-conf-entry daemon-conf)))
+              ("default.pa" ,default.pa)
+              ("system.pa"
+               ,(if default-script
+                    (apply mixed-text-file "system.pa"
+                           system-script)
+                    (file-append package "/etc/pulse/system.pa")))))))))))
+
+(define pulseaudio-service-type
+  (service-type
+   (name 'pulseaudio)
+   (extensions
+    (list (service-extension etc-service-type pulseaudio-etc-service)))
+   (default-value (pulseaudio-configuration))
+   (description "Configure PulseAudio.")))
+
 ;;; sound.scm ends here
-- 
2.24.0


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

* bug#38172: WebkitGTK-based browsers: System volume suddenly maxed out when playing audio or video
       [not found] <pz4LLjGMExF6yjrqndx7uhuXMNQf95pbQOvVNBU16OrH7JDuHoTlsT3pzgAaUhRCyPB9QzgZP2gUO_D0H_gQbOrjG1yVWbf7_u5vYdpSzdw=@protonmail.com>
@ 2020-01-07  6:07 ` raingloom
  0 siblings, 0 replies; 7+ messages in thread
From: raingloom @ 2020-01-07  6:07 UTC (permalink / raw)
  To: Alek Zikon, help-guix@gnu.org; +Cc: 38172

On Mon, 2020-01-06 at 18:02 +0000, Alek Zikon wrote:
> Everytime audio or video starts playing on WebkitGTK-based browsers
> (epiphany, next), the system volume is maxed out. This happens when
> you start the audio or video by clicking on the play button and also
> when audio or videos are played automatically (in a playlist, or ad
> videos, for example).
> 
> This issue has been reported before upstream, but epiphany people say
> the source of the problem is in pulsaudio defaults on distros (
> https://gitlab.gnome.org/GNOME/epiphany/issues/73):
> 
>   Thanks for reporting this issue. You'll need to ask Debian to
> disable
>   PulseAudio's flat volumes feature, as is done by all other major
>   distributions (Ubuntu, Arch, Fedora, openSUSE, probably more),
>   since we're not going to make any changes here.
> 
> I found that there is a related pulsaudio bug reported on Guix (
> https://issues.guix.gnu.org/issue/38172). Unfortunately, this issue
> is still open.
> 
> Epiphany people say you, as a user, can work around the issue by
> setting "flat-volumes = no in your /etc/pulse/daemon.conf." What's
> the correct way to this on the Guix System?
> 
> 
> I'm using this software:
> 
> epiphany 3.30.4
> WebKitGTK+ 2.26.1
> GNOME 3.30.2
> 
> $ guix describe
> Generation 16	Jan 03 2020 14:36:37	(current)
>   guix 7158fe4
>     repository URL: https://git.savannah.gnu.org/git/guix.git
>     branch: master
>     commit: 7158fe4ded47a599ceb8d556132ba83fcc686962
> 
CC-ing https://issues.guix.gnu.org/issue/38172

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

* bug#38172: WebkitGTK-based browsers: System volume suddenly maxed out when playing audio or video
  2019-11-11 21:09 ` bug#38172: fixing dangerous PulseAudio defaults and giving it a record type raingloom
  2019-11-12 11:00   ` Leo Prikler
@ 2020-01-09  1:22   ` Leo Prikler
  2020-01-09 20:48     ` Marius Bakke
  1 sibling, 1 reply; 7+ messages in thread
From: Leo Prikler @ 2020-01-09  1:22 UTC (permalink / raw)
  To: raingloom; +Cc: 38172

[-- Attachment #1: Type: text/plain, Size: 993 bytes --]

Hi Guix,

After looking at my older patch (which no longer cleanly applies), I've
noticed, that pulseaudio doesn't even read the files from /etc.  This
is troublesome in multiple ways.  For one, pulseaudio causes >500
rebuilds (with >900 dependent packages) and is therefore staging
material, for the other, hardcoding /etc in such a way breaks
pulseaudio without the service.

So far, I've only tested containers via `guix environment --container`, 
but from what I can gather with strace, the config file is indeed read
and hence flat-volumes are eliminated.  Other ways of making pulseaudio
accept /etc are very welcome.  Looking at Nix, they configure
pulseaudio with "--sysconfdir=/etc", but then override sysconfdir and
pulseconfdir during install.  I'm not quite sure which solution is
"better", but neither is going to read the config shipped with the
package.

Note: before this can be applied on staging,
a66ee82a05d8ff1ef7c5ff9ac7723cb32fc4e22a needs to be applied.

Regards,
Leo



[-- Attachment #2: 0001-services-Add-pulseaudio-configuration.patch --]
[-- Type: text/x-patch, Size: 3312 bytes --]

From bf4708923d14356c87daec69209b30aa0427d64f Mon Sep 17 00:00:00 2001
From: Leo Prikler <leo.prikler@student.tugraz.at>
Date: Wed, 8 Jan 2020 19:50:51 +0100
Subject: [PATCH 1/3] services: Add pulseaudio-configuration.

* gnu/services/sound (<pulseaudio-configuration>): New record.
(pulseaudio-etc): New procedure.
(pulseaudio-service-type): Update accordingly.
---
 gnu/services/sound.scm | 47 ++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 45 insertions(+), 2 deletions(-)

diff --git a/gnu/services/sound.scm b/gnu/services/sound.scm
index aaca733729..f01d958ce7 100644
--- a/gnu/services/sound.scm
+++ b/gnu/services/sound.scm
@@ -34,6 +34,7 @@
   #:export (alsa-configuration
             alsa-service-type
 
+            pulseaudio-configuration
             pulseaudio-service-type))
 
 ;;; Commentary:
@@ -106,19 +107,61 @@ ctl.!default {
 ;;; PulseAudio
 ;;;
 
+(define-record-type* <pulseaudio-configuration>
+  pulseaudio-configuration make-pulseaudio-configuration
+  pulseaudio-configuration?
+  (package pulseaudio-package (default pulseaudio))
+  (client-conf pulseaudio-client-conf (default '()))
+  (daemon-conf pulseaudio-daemon-conf (default '((flat-volumes no))))
+  (default-script pulseaudio-default-script (default #f))
+  (system-script pulseaudio-system-script (default #f)))
+
 (define (pulseaudio-environment config)
   ;; Define this variable in the global environment such that
   ;; pulseaudio swh-plugins works.
   `(("LADSPA_PATH"
      . ,(file-append swh-plugins "/lib/ladspa"))))
 
+(define (pulseaudio-conf-entry arg)
+  (match arg
+    ((key value)
+     (format #f "~a = ~s~%" key value))
+    ((? string? _)
+     (string-append arg "\n"))))
+
+(define pulseaudio-etc
+  (match-lambda
+    (($ <pulseaudio-configuration> package client-conf daemon-conf
+                                   default-script system-script)
+     (let ((default.pa (if default-script
+                           (apply mixed-text-file "default.pa"
+                                  default-script)
+                           (file-append package "/etc/pulse/default.pa"))))
+       `(("pulse"
+          ,(file-union
+            "pulse"
+            `(("client.conf"
+               ,(apply mixed-text-file "client.conf"
+                       (map pulseaudio-conf-entry client-conf)))
+              ("daemon.conf"
+               ,(apply mixed-text-file "daemon.conf"
+                       "default-script-file = " default.pa "\n"
+                       (map pulseaudio-conf-entry daemon-conf)))
+              ("default.pa" ,default.pa)
+              ("system.pa"
+               ,(if system-script
+                    (apply mixed-text-file "system.pa"
+                           system-script)
+                    (file-append package "/etc/pulse/system.pa")))))))))))
+
 (define pulseaudio-service-type
   (service-type
    (name 'pulseaudio)
    (extensions
     (list (service-extension session-environment-service-type
-                             pulseaudio-environment)))
-   (default-value #f)
+                             pulseaudio-environment)
+          (service-extension etc-service-type pulseaudio-etc)))
+   (default-value (pulseaudio-configuration))
    (description "Configure PulseAudio sound support.")))
 
 ;;; sound.scm ends here
-- 
2.24.1


[-- Attachment #3: 0002-gnu-pulseaudio-Honor-etc.patch --]
[-- Type: text/x-patch, Size: 1237 bytes --]

From 843d3968db990b5b7ff3f618db5847f83b999cb8 Mon Sep 17 00:00:00 2001
From: Leo Prikler <leo.prikler@student.tugraz.at>
Date: Thu, 9 Jan 2020 01:24:09 +0100
Subject: [PATCH 2/3] gnu: pulseaudio: Honor /etc.

* gnu/packages/pulseaudio.scm (pulseaudio) [phases]:
Set PA_DEFAULT_CONFIG_DIR to "/etc/pulse".
---
 gnu/packages/pulseaudio.scm | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm
index 671dcd1563..1fb5a2f578 100644
--- a/gnu/packages/pulseaudio.scm
+++ b/gnu/packages/pulseaudio.scm
@@ -161,6 +161,11 @@ rates.")
                                               (assoc-ref %outputs "out")
                                               "/lib/udev/rules.d"))
        #:phases (modify-phases %standard-phases
+                 (add-after 'configure 'hardcode-default-config-dir
+                   (lambda _
+                     (substitute* "config.h"
+                       (("(#define PA_DEFAULT_CONFIG_DIR).*$" all prefix)
+                        (string-append prefix " \"/etc/pulse\"")))))
                  (add-before 'check 'pre-check
                    (lambda _
                      ;; 'tests/lock-autospawn-test.c' wants to create a file
-- 
2.24.1


[-- Attachment #4: 0003-services-Add-pulseaudio-to-desktop-services.patch --]
[-- Type: text/x-patch, Size: 760 bytes --]

From e24016f9a44a113847dd937ac47ab4bdb960236d Mon Sep 17 00:00:00 2001
From: Leo Prikler <leo.prikler@student.tugraz.at>
Date: Thu, 9 Jan 2020 01:29:13 +0100
Subject: [PATCH 3/3] services: Add pulseaudio to %desktop-services.

* gnu/services/desktop.scm (%desktop-services): Add pulseaudio service.
---
 gnu/services/desktop.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index b40622a637..1be05fda4e 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -1183,6 +1183,7 @@ or setting its password with passwd.")))
 
          x11-socket-directory-service
 
+         (service pulseaudio-service-type)
          (service alsa-service-type)
 
          %base-services))
-- 
2.24.1


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

* bug#38172: WebkitGTK-based browsers: System volume suddenly maxed out when playing audio or video
  2020-01-09  1:22   ` bug#38172: WebkitGTK-based browsers: System volume suddenly maxed out when playing audio or video Leo Prikler
@ 2020-01-09 20:48     ` Marius Bakke
  2020-01-09 22:49       ` Leo Prikler
  0 siblings, 1 reply; 7+ messages in thread
From: Marius Bakke @ 2020-01-09 20:48 UTC (permalink / raw)
  To: Leo Prikler, raingloom; +Cc: 38172

[-- Attachment #1: Type: text/plain, Size: 5866 bytes --]

Leo,

Leo Prikler <leo.prikler@student.tugraz.at> writes:

> Hi Guix,
>
> After looking at my older patch (which no longer cleanly applies), I've
> noticed, that pulseaudio doesn't even read the files from /etc.  This
> is troublesome in multiple ways.  For one, pulseaudio causes >500
> rebuilds (with >900 dependent packages) and is therefore staging
> material, for the other, hardcoding /etc in such a way breaks
> pulseaudio without the service.
>
> So far, I've only tested containers via `guix environment --container`, 
> but from what I can gather with strace, the config file is indeed read
> and hence flat-volumes are eliminated.  Other ways of making pulseaudio
> accept /etc are very welcome.  Looking at Nix, they configure
> pulseaudio with "--sysconfdir=/etc", but then override sysconfdir and
> pulseconfdir during install.  I'm not quite sure which solution is
> "better", but neither is going to read the config shipped with the
> package.
>
> Note: before this can be applied on staging,
> a66ee82a05d8ff1ef7c5ff9ac7723cb32fc4e22a needs to be applied.

Thank you for these patches.  Overall it LGTM.

[...]

> From bf4708923d14356c87daec69209b30aa0427d64f Mon Sep 17 00:00:00 2001
> From: Leo Prikler <leo.prikler@student.tugraz.at>
> Date: Wed, 8 Jan 2020 19:50:51 +0100
> Subject: [PATCH 1/3] services: Add pulseaudio-configuration.
>
> * gnu/services/sound (<pulseaudio-configuration>): New record.
> (pulseaudio-etc): New procedure.
> (pulseaudio-service-type): Update accordingly.

[...]

> +(define-record-type* <pulseaudio-configuration>
> +  pulseaudio-configuration make-pulseaudio-configuration
> +  pulseaudio-configuration?
> +  (package pulseaudio-package (default pulseaudio))
> +  (client-conf pulseaudio-client-conf (default '()))
> +  (daemon-conf pulseaudio-daemon-conf (default '((flat-volumes no))))

I have a preference for making this field empty initially to have a 1:1
compatibility with the current PA client and daemon configuration
(i.e. nothing).  Then a follow-up patch can add this new configuration,
perhaps with an explaining comment.

> +  (default-script pulseaudio-default-script (default #f))
> +  (system-script pulseaudio-system-script (default #f)))
> +
>  (define (pulseaudio-environment config)
>    ;; Define this variable in the global environment such that
>    ;; pulseaudio swh-plugins works.
>    `(("LADSPA_PATH"
>       . ,(file-append swh-plugins "/lib/ladspa"))))
>  
> +(define (pulseaudio-conf-entry arg)
> +  (match arg
> +    ((key value)
> +     (format #f "~a = ~s~%" key value))
> +    ((? string? _)
> +     (string-append arg "\n"))))
> +
> +(define pulseaudio-etc
> +  (match-lambda
> +    (($ <pulseaudio-configuration> package client-conf daemon-conf
> +                                   default-script system-script)
> +     (let ((default.pa (if default-script
> +                           (apply mixed-text-file "default.pa"
> +                                  default-script)
> +                           (file-append package "/etc/pulse/default.pa"))))
> +       `(("pulse"
> +          ,(file-union
> +            "pulse"
> +            `(("client.conf"
> +               ,(apply mixed-text-file "client.conf"
> +                       (map pulseaudio-conf-entry client-conf)))
> +              ("daemon.conf"
> +               ,(apply mixed-text-file "daemon.conf"
> +                       "default-script-file = " default.pa "\n"
> +                       (map pulseaudio-conf-entry daemon-conf)))
> +              ("default.pa" ,default.pa)
> +              ("system.pa"
> +               ,(if system-script
> +                    (apply mixed-text-file "system.pa"
> +                           system-script)
> +                    (file-append package "/etc/pulse/system.pa")))))))))))
> +

Does it make sense to have default-script and system-script default to
(file-append pulseaudio "...") and avoid the conditional altogether?

[...]

> From 843d3968db990b5b7ff3f618db5847f83b999cb8 Mon Sep 17 00:00:00 2001
> From: Leo Prikler <leo.prikler@student.tugraz.at>
> Date: Thu, 9 Jan 2020 01:24:09 +0100
> Subject: [PATCH 2/3] gnu: pulseaudio: Honor /etc.
>
> * gnu/packages/pulseaudio.scm (pulseaudio) [phases]:
> Set PA_DEFAULT_CONFIG_DIR to "/etc/pulse".

This means pulseaudio will start looking in /etc/pulse for configuration
files on foreign distributions too, right?

I wonder if there is better way to give it configuration files.  Perhaps
by patching the D-Bus service files?  Not a blocker for this series, but
something to consider in case /etc/pulse causes trouble.

[...]

> +                 (add-after 'configure 'hardcode-default-config-dir
> +                   (lambda _
> +                     (substitute* "config.h"
> +                       (("(#define PA_DEFAULT_CONFIG_DIR).*$" all prefix)
> +                        (string-append prefix " \"/etc/pulse\"")))))

End on #t.

[...]

> From e24016f9a44a113847dd937ac47ab4bdb960236d Mon Sep 17 00:00:00 2001
> From: Leo Prikler <leo.prikler@student.tugraz.at>
> Date: Thu, 9 Jan 2020 01:29:13 +0100
> Subject: [PATCH 3/3] services: Add pulseaudio to %desktop-services.
>
> * gnu/services/desktop.scm (%desktop-services): Add pulseaudio service.

This will pull in "swh-plugins" which was the original intention behind
pulseaudio-service before this patch series.  Before adding it to
%desktop-services, I would prefer if the pulseaudio environment
configuration could be made modular, so that there are no configuration
differences for end users, i.e. they'd have to actively enable the
LADSPA plugin.

I'm not sure what the best approach would be though.  Ideas, Oleg?

As a final note, can you also update doc/guix.texi accordingly?

TIA,
Marius

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

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

* bug#38172: WebkitGTK-based browsers: System volume suddenly maxed out when playing audio or video
  2020-01-09 20:48     ` Marius Bakke
@ 2020-01-09 22:49       ` Leo Prikler
  2020-01-11 16:48         ` Marius Bakke
  0 siblings, 1 reply; 7+ messages in thread
From: Leo Prikler @ 2020-01-09 22:49 UTC (permalink / raw)
  To: Marius Bakke, raingloom; +Cc: 39053, 38172

Am Donnerstag, den 09.01.2020, 21:48 +0100 schrieb Marius Bakke:
> 
> I have a preference for making this field empty initially to have a
> 1:1
> compatibility with the current PA client and daemon configuration
> (i.e. nothing).  Then a follow-up patch can add this new
> configuration,
> perhaps with an explaining comment.
Fair enough.  This would mean I'd have to split 0001 into two, but
okay.

> Does it make sense to have default-script and system-script default
> to
> (file-append pulseaudio "...") and avoid the conditional altogether?
The idea behind it was to have the script itself in the code rather
than asking users to construct a mixed-text-file, but I'm fine either
way.

> This means pulseaudio will start looking in /etc/pulse for
> configuration
> files on foreign distributions too, right?
> 
> I wonder if there is better way to give it configuration
> files.  Perhaps
> by patching the D-Bus service files?  Not a blocker for this series,
> but
> something to consider in case /etc/pulse causes trouble.
This is already addressed by the renewed series I sent to guix-patches. 
I know you already found that, but I'd like to repeat it for those who
thus far have only read this thread.

> End on #t.
As above, but thanks for the hint, I missed the warning it seems.

> [...]
> 
> > From e24016f9a44a113847dd937ac47ab4bdb960236d Mon Sep 17 00:00:00
> > 2001
> > From: Leo Prikler <leo.prikler@student.tugraz.at>
> > Date: Thu, 9 Jan 2020 01:29:13 +0100
> > Subject: [PATCH 3/3] services: Add pulseaudio to %desktop-services.
> > 
> > * gnu/services/desktop.scm (%desktop-services): Add pulseaudio
> > service.
> 
> This will pull in "swh-plugins" which was the original intention
> behind
> pulseaudio-service before this patch series.  Before adding it to
> %desktop-services, I would prefer if the pulseaudio environment
> configuration could be made modular, so that there are no
> configuration
> differences for end users, i.e. they'd have to actively enable the
> LADSPA plugin.
I think adding a field ladspa-plugins, which accepts a list of packages
and adds their "lib/ladspa" would be the right approach here, but I
also feel, that this perhaps deserves its own service unrelated to
pulseaudio.  WDYT?
Either way, I agree on the "having to actively enable" part. 

> As a final note, can you also update doc/guix.texi accordingly?
I will once I've figured out how to best handle these fields.

Regards,
Leo

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

* bug#38172: WebkitGTK-based browsers: System volume suddenly maxed out when playing audio or video
  2020-01-09 22:49       ` Leo Prikler
@ 2020-01-11 16:48         ` Marius Bakke
  0 siblings, 0 replies; 7+ messages in thread
From: Marius Bakke @ 2020-01-11 16:48 UTC (permalink / raw)
  To: Leo Prikler, raingloom; +Cc: 39053, 38172

[-- Attachment #1: Type: text/plain, Size: 1187 bytes --]

Leo Prikler <leo.prikler@student.tugraz.at> writes:

> Am Donnerstag, den 09.01.2020, 21:48 +0100 schrieb Marius Bakke:
>> 
>> I have a preference for making this field empty initially to have a
>> 1:1
>> compatibility with the current PA client and daemon configuration
>> (i.e. nothing).  Then a follow-up patch can add this new
>> configuration,
>> perhaps with an explaining comment.
> Fair enough.  This would mean I'd have to split 0001 into two, but
> okay.

Excellent.  :-)

>> Does it make sense to have default-script and system-script default
>> to
>> (file-append pulseaudio "...") and avoid the conditional altogether?
> The idea behind it was to have the script itself in the code rather
> than asking users to construct a mixed-text-file, but I'm fine either
> way.

Right.  I just have a preference for the default being "up-front",
instead of magic hiding behind an #f.  :-)

There's also LOCAL-FILE and PLAIN-FILE, which are more "obvious" than
MIXED-TEXT-FILE.

It could be useful to support plain strings for users who don't wish to
much about with G-expressions though, hopefully users will send a bug
report if they find it limiting.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

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

end of thread, other threads:[~2020-01-11 16:49 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <e9aba2fd590811bda70b65036f682b764c7141cf.camel@student.tugraz.at>
2019-11-11 21:09 ` bug#38172: fixing dangerous PulseAudio defaults and giving it a record type raingloom
2019-11-12 11:00   ` Leo Prikler
2020-01-09  1:22   ` bug#38172: WebkitGTK-based browsers: System volume suddenly maxed out when playing audio or video Leo Prikler
2020-01-09 20:48     ` Marius Bakke
2020-01-09 22:49       ` Leo Prikler
2020-01-11 16:48         ` Marius Bakke
     [not found] <pz4LLjGMExF6yjrqndx7uhuXMNQf95pbQOvVNBU16OrH7JDuHoTlsT3pzgAaUhRCyPB9QzgZP2gUO_D0H_gQbOrjG1yVWbf7_u5vYdpSzdw=@protonmail.com>
2020-01-07  6:07 ` raingloom

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).