unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: Leo Prikler <leo.prikler@student.tugraz.at>
Cc: 36376@debbugs.gnu.org, Maxim Cournoyer <maxim.cournoyer@gmail.com>
Subject: bug#36376: Application menu of desktop environment not automatically updated
Date: Wed, 04 Nov 2020 23:15:19 +0100	[thread overview]
Message-ID: <878sbg7oqw.fsf@gnu.org> (raw)
In-Reply-To: <63d4101b796673602872997b7680d6b04a189de3.camel@student.tugraz.at> (Leo Prikler's message of "Wed, 04 Nov 2020 00:28:51 +0100")

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

Hi!

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

> Am Dienstag, den 03.11.2020, 23:46 +0100 schrieb Ludovic Courtès:
>> Ludovic Courtès <ludo@gnu.org> skribis:
>> 
>> > This is not news to us, but as
>> > <https://distrowatch.com/weekly.php?issue=20190624#guixsd> notes,
>> > the
>> > application menu of desktop environments is not automatically
>> > updated
>> > when a package is installed or removed.  It’d be great if we could
>> > somehow notify the desktop environment.
>> 
>> We’ve investigated today on IRC with Maxim and Leo P. and here’s the
>> summary of our findings:
> Seeing my name thrown around more and more lately makes me blush a
> little.

Heheh, you provided useful hints!

>> The GLib patch below is an attempt to monitor ~/.guix-profile and to
>> treat changes to that symlink as if they were changes to
>> ~/.guix-profile/share/applications (which contains ‘.desktop’ files.)
>> It actually builds but I haven’t tested it yet.  :-)
>> 
>> WDYT?
> Not having tested it either, I think that we should also listen on
> /run/current-system/ (if it exists), so that changes to the system as
> done by `reconfigure` are picked up.  This includes most importantly
> changes to the GNOME ecosystem itself.

Like I wrote in the related bug, I think /run/current-system is less
important because it typically doesn’t change much:

  https://issues.guix.gnu.org/35594#6

But I guess I’m also being a bit lazy…

Anyhow, I’ve tested the patch in ‘guix system vm
gnu/system/examples/desktop.tmpl’, with a ‘glib’ replacement as shown
below.  I strace’d the user’s gnome-shell and ran:

  ln -s /run/current-system/profile ~/.guix-profile

The trace showed that this led gnome-shell to traverse files in
~/.guix-profile/share (not just the applications/ sub-directory.)

I wanted to test ‘guix install’ for real, which meant doing it on ‘guix
system vm-image’, but that took too long; so I tried ‘disk-image -t
qcow2’ instead but partition.img.drv fails.  So I haven’t been able to
actually test with ‘guix install’.

Anyway, here’s the Guix patch.  You need to drop the GLib patch in the
right place.

Thanks,
Ludo’.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 2120 bytes --]

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index bba9461d44..1c0de6eaed 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -181,6 +181,7 @@ shared NFS home directories.")
   (package
    (name "glib")
    (version "2.62.6")
+   (replacement glib-with-gio-patch)
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnome/sources/"
@@ -387,6 +388,14 @@ dynamic loading, and an object system.")
    (home-page "https://developer.gnome.org/glib/")
    (license license:lgpl2.1+)))
 
+(define glib-with-gio-patch
+  (package
+    (inherit glib)
+    (source (origin
+              (inherit (package-source glib))
+              (patches (append (search-patches "glib-appinfo-watch.patch")
+                               (origin-patches (package-source glib))))))))
+
 (define-public glib-with-documentation
   ;; glib's doc must be built in a separate package since it requires gtk-doc,
   ;; which in turn depends on glib.
diff --git a/gnu/system/examples/desktop.tmpl b/gnu/system/examples/desktop.tmpl
index 716b9feb8d..4797111c67 100644
--- a/gnu/system/examples/desktop.tmpl
+++ b/gnu/system/examples/desktop.tmpl
@@ -4,7 +4,7 @@
 
 (use-modules (gnu) (gnu system nss))
 (use-service-modules desktop xorg)
-(use-package-modules certs gnome)
+(use-package-modules certs gnome linux)
 
 (operating-system
   (host-name "antelope")
@@ -57,7 +57,8 @@
                      ;; for HTTPS access
                      nss-certs
                      ;; for user mounts
-                     gvfs)
+                     gvfs
+                     strace)
                     %base-packages))
 
   ;; Add GNOME and Xfce---we can choose at the log-in screen
@@ -65,7 +66,6 @@
   ;; include the X11 log-in service, networking with
   ;; NetworkManager, and more.
   (services (append (list (service gnome-desktop-service-type)
-                          (service xfce-desktop-service-type)
                           (set-xorg-configuration
                            (xorg-configuration
                             (keyboard-layout keyboard-layout))))

  parent reply	other threads:[~2020-11-04 22:16 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-25 14:12 bug#36376: Application menu of desktop environment not automatically updated Ludovic Courtès
2020-11-03 22:46 ` Ludovic Courtès
2020-11-03 23:28   ` Leo Prikler
2020-11-04 21:41     ` bug#35594: " Maxim Cournoyer
2020-11-04 22:15     ` Ludovic Courtès [this message]
2020-11-05  6:38   ` Maxim Cournoyer
2020-11-06 16:02     ` Ludovic Courtès
2020-11-06 18:56       ` Maxim Cournoyer
2020-11-10 15:23         ` Ludovic Courtès
2020-11-10 17:48           ` bug#35594: " zimoun
2020-11-10 21:23             ` Ludovic Courtès
2020-11-12 15:56           ` bug#35594: " Ludovic Courtès
2020-11-13 20:38             ` bug#36376: " Ludovic Courtès
2020-11-17  4:57             ` Maxim Cournoyer
2020-11-17  9:08               ` Ludovic Courtès
2020-11-18  4:34                 ` Maxim Cournoyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=878sbg7oqw.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=36376@debbugs.gnu.org \
    --cc=leo.prikler@student.tugraz.at \
    --cc=maxim.cournoyer@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).