[PATCH] gnu: gtk+: Add libxrandr input.

  • Done
  • quality assurance status badge
Details
3 participants
  • Danny Milosavljevic
  • Ingo Ruhnke
  • Marius Bakke
Owner
unassigned
Submitted by
Ingo Ruhnke
Severity
normal
I
I
Ingo Ruhnke wrote on 1 Oct 2019 14:25
(address . guix-patches@gnu.org)
20191001122532.6514-1-grumbel@gmail.com
This fixes multi-monitor issues in XFCE and other Gtk+ apps.

* gnu/packages/gtk.scm: Add libxrandr input.
---
gnu/packages/gtk.scm | 1 +
1 file changed, 1 insertion(+)

Toggle diff (14 lines)
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 12972b75df..55c24c774c 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -753,6 +753,7 @@ application suites.")
("libxinerama" ,libxinerama)
("libxkbcommon" ,libxkbcommon)
("libxdamage" ,libxdamage)
+ ("libxrandr" ,libxrandr)
("mesa" ,mesa)
("pango" ,pango)
("wayland" ,wayland)
--
2.20.1
D
D
Danny Milosavljevic wrote on 2 Oct 2019 01:55
(name . Ingo Ruhnke)(address . grumbel@gmail.com)(address . 37570@debbugs.gnu.org)
20191002015552.026cb2f6@scratchpost.org
Hmm, gtk+ has a huge number of dependents.

Also, shouldn't gtk+ already have libxrandr in its inputs by virtue of gtk+
inheriting from gtk+-2, which does have it in its inputs? Why doesn't it
work without the patch?

I suspect that other (xfce) packages actually should require libxrandr in THEIR
inputs, and it's missing there.

Of course adding it to propagated-inputs of gtk+ would "fix" (work around) the
problem, but that's usually not the correct place for it.
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAl2T54gACgkQ5xo1VCww
uqUL+Af+Nw3O9Tid6mqO9wXVujmnfN/7CEsiGElUFfuAQ1Kc3N9zPjrrarB6E59D
NnkwKk67qXlL/oj57VznSdM3OtYB9+b1gSWwQ6+ZooXkNvqhymgWOUfqd1mW6NMc
n0cOZ7rXv0wUbysxmOZS4Bdi98aXoKqTQdAwOGd9lRWTa11GIfXdlCi7Ip38DSY5
tIa9UPZTUQ5VM5BxFYRfkyIBHdfbm/b7lrbfeVAjsMsG5fw/OhwQD6YrS9WtRHuf
wWohixA7ECSBRVsm+hz3DUERviewJ2Jc7kKblPXQGZXzmYjmDuI4yCxUKqHQ8tgV
00tGo/gZ0woTp+NKcbT4VvCFH0vlDw==
=fWnK
-----END PGP SIGNATURE-----


I
I
Ingo Ruhnke wrote on 2 Oct 2019 20:46
(address . 37570@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
CAHz1FYhQ2Hc_gaFNSj9LFa45UR0bCtbs2VCMR6fqvuACep=NCg@mail.gmail.com
The issue with Xfce specifically was that "gdk_monitor_get_model()" would
return NULL instead of the proper name and all the multi-monitor handling
would fall apart in turn, that seems like an gtk issue, not an Xfce issue.

As for "propagated-inputs", I put it there because that's where all the
other X11 libraries already are. Don't know exactly why, but it seems to
cause xrandr show up in the pkgconfig file which it wouldn't otherwise:

pkgconfig/gdk-3.0.pc:
Requires.private: ... xrandr ...
Attachment: file
M
M
Marius Bakke wrote on 9 Oct 2019 18:58
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
87o8yp500g.fsf@devup.no
Hello Ingo,

Ingo Ruhnke <grumbel@gmail.com> writes:

Toggle quote (11 lines)
> The issue with Xfce specifically was that "gdk_monitor_get_model()" would
> return NULL instead of the proper name and all the multi-monitor handling
> would fall apart in turn, that seems like an gtk issue, not an Xfce issue.
>
> As for "propagated-inputs", I put it there because that's where all the
> other X11 libraries already are. Don't know exactly why, but it seems to
> cause xrandr show up in the pkgconfig file which it wouldn't otherwise:
>
> pkgconfig/gdk-3.0.pc:
> Requires.private: ... xrandr ...

Thank you very much for this debugging work and patch. Pushed to the
'staging' branch in 52b61e999101724c7e2d341586e9a6150614f208.
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl2eEa8ACgkQoqBt8qM6
VPr4YAgAxI5pyVxqH8IkTWVcUWCszqZ494CB9Kbh46sMg9LnjRLTwslu2kxvm6aR
jJIKJFtom0uBAiPvE1zjdLy2ZinROsqC/1woOa5fvL8DqpkaT0XpQGZTt/AbI6T5
q92BttdA21119n2eG60LVybZ33VXgnWUf0Jx3NV4CSQq0y6tDI5YGcp2TXeoFKLa
ONi/1H39D3VL/9xfngiDk7tplfGrCDmI7Xj2XgcY31RdMWELdhqKI6CO/xotVnJe
Qa2ATAA9uuKfxXLJidUsGYyr6dClpYwOQY46e3tsKJp5yLCpYlnsbe22N3AY/fry
MgYoqZiveylTtDQ+T+RLt+9OD4axsw==
=nA3C
-----END PGP SIGNATURE-----

Closed
?