Subject: Re: [bug#53879] [PATCH] gnu: Add emacs-everywhere.

From: Jai Vetrivelan <[email-masked]>
Date: Wed, 09 Feb 2022 06:21:14 +0530

>From baf437b34b900ba1733657e560187807c7a67007 Mon Sep 17 00:00:00 2001
From: Jai Vetrivelan <[email-masked]>
Date: Tue, 8 Feb 2022 20:44:05 +0530
Subject: [PATCH] gnu: Add emacs-everywhere.

* gnu/packages/emacs-xyz.scm (emacs-everywhere): New variable.
---
 gnu/packages/emacs-xyz.scm | 43 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 56af72b2ab..e68877ee30 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -26279,6 +26279,49 @@ (define-public emacs-evil-tmux-navigator
 Emacs windows and tmux panes.")
     (license license:expat)))
 
+(define-public emacs-everywhere
+  ;; No upstream release.  Extract version from main file.
+  (let ((commit "ace53396a66ed4b753f42c04a5a0db2bcd770423")
+        (revision "0"))
+    (package
+      (name "emacs-everywhere")
+      (version (git-version "0.0.1" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/tecosaur/emacs-everywhere")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0p55shxvqm1713af33mfglny7rpi31d42wvgwylcsfy4jvnsq8bb"))))
+      (arguments
+       `(#:phases (modify-phases %standard-phases
+                    (add-after 'unpack 'patch-exec-paths
+                      (lambda* (#:key inputs #:allow-other-keys)
+                        (let ((xclip (assoc-ref inputs "xclip"))
+                              (xdotool (assoc-ref inputs "xdotool"))
+                              (xprop (assoc-ref inputs "xprop"))
+                              (xwininfo (assoc-ref inputs "xwininfo")))
+                          (substitute* "emacs-everywhere.el"
+                            (("\"xclip\"") (string-append "\"" xclip
+                                                          "/bin/xclip\""))
+                            (("\"xdotool\"") (string-append "\"" xdotool
+                                                            "/bin/xdotool\""))
+                            (("\"xprop\"") (string-append "\"" xprop
+                                                          "/bin/xprop\""))
+                            (("\"xwininfo\"") (string-append "\"" xwininfo
+                                                             "/bin/xwininfo\""))))
+                        #t)))))
+      (inputs (list xclip xdotool xprop xwininfo))
+      (build-system emacs-build-system)
+      (home-page "https://github.com/tecosaur/emacs-everywhere")
+      (synopsis "System-wide popup Emacs windows for quick edits")
+      (description "@code{emacs-everywhere} launches a new Emacs frame, and the
+contents of the buffer are pasted into the previously focused application on
+deletion of the frame.")
+      (license license:gpl3+))))
+
 (define-public emacs-xclip
   (package
     (name "emacs-xclip")

base-commit: 35d56676db0988aad6d1a5b52dc4efef578885f2
-- 
2.34.0