summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorReza Alizadeh Majd <r.majd@pantherx.org>2020-01-07 11:24:05 +0330
committerMarius Bakke <mbakke@fastmail.com>2020-01-11 21:28:05 +0100
commit13efb24850bc40fab2448771c87c77c9a69fc231 (patch)
treee47234dd1158c650f12f28c22af9bcd5388f1841 /gnu
parent34e8f0afef7cb6dbe7891707326a625a8f02657d (diff)
downloadguix-13efb24850bc40fab2448771c87c77c9a69fc231.tar.gz
gnu: pcmanfm-qt: Fix opening files by double-click.
Fixes <https://bugs.gnu.org/38926>.

* gnu/packages/lxqt.scm (pcmanfm-qt)[arguments]: Add phase to wrap the
executable with the GIO_LAUNCH_DESKTOP environment variable.
[inputs]: Add GLIB:BIN.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/lxqt.scm17
1 files changed, 14 insertions, 3 deletions
diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm
index 5a3708e30a..b23d2e17dc 100644
--- a/gnu/packages/lxqt.scm
+++ b/gnu/packages/lxqt.scm
@@ -7,7 +7,7 @@
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018, 2019 Meiyo Peng <meiyo@riseup.net>
 ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2019 Reza Alizadeh Majd <r.majd@pantherx.org>
+;;; Copyright © 2019, 2020 Reza Alizadeh Majd <r.majd@pantherx.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -984,7 +984,8 @@ components to build desktop file managers which belongs to LXDE.")
         (base32 "0x3c25inlxll965xszx37mnl5gp3smm2h7x04f67z0qlh3vsbrjq"))))
     (build-system cmake-build-system)
     (inputs
-     `(("libfm-qt" ,libfm-qt)
+     `(("glib:bin" ,glib "bin")
+       ("libfm-qt" ,libfm-qt)
        ("qtbase" ,qtbase)
        ("qtx11extras" ,qtx11extras)))
     (native-inputs
@@ -1000,7 +1001,17 @@ components to build desktop file managers which belongs to LXDE.")
              (substitute* '("autostart/CMakeLists.txt")
                (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
                 "DESTINATION \"etc/xdg"))
-             #t)))))
+             #t))
+         (add-after 'install 'wrap-glib
+           (lambda* (#:key outputs inputs #:allow-other-keys)
+             (let* ((out  (assoc-ref outputs "out"))
+                    (glib (assoc-ref inputs "glib:bin"))
+                    (gio-exe-path (string-append glib "/bin/gio-launch-desktop")))
+               (if (file-exists? gio-exe-path)
+                 (wrap-program (string-append out "/bin/pcmanfm-qt")
+                   `("GIO_LAUNCH_DESKTOP" = (,gio-exe-path)))
+                 (error "could not find gio-launch-desktop"))
+               #t))))))
     (home-page "https://lxqt.org/")
     (synopsis "File manager and desktop icon manager")
     (description "PCManFM-Qt is the Qt port of PCManFM, the file manager of