From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:60057) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j74Cx-0004xm-3o for guix-patches@gnu.org; Wed, 26 Feb 2020 16:27:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j74Cv-0003FN-RD for guix-patches@gnu.org; Wed, 26 Feb 2020 16:27:07 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:51885) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j74Cv-0003Ds-Et for guix-patches@gnu.org; Wed, 26 Feb 2020 16:27:05 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1j74Cs-0000yb-Bt for guix-patches@gnu.org; Wed, 26 Feb 2020 16:27:02 -0500 Subject: [bug#39804] [PATCH] gnu: add emacs-exwm-next package (i.e. exwm for emacs-next) Resent-Message-ID: Received: from eggs.gnu.org ([2001:470:142:3::10]:53780) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j741X-00069q-Bn for guix-patches@gnu.org; Wed, 26 Feb 2020 16:15:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j741V-0000V3-Te for guix-patches@gnu.org; Wed, 26 Feb 2020 16:15:19 -0500 Received: from mout.web.de ([217.72.192.78]:53389) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j741T-0000Go-6o for guix-patches@gnu.org; Wed, 26 Feb 2020 16:15:16 -0500 Received: from klingenberg-tablet ([95.222.214.30]) by smtp.web.de (mrweb102 [213.165.67.124]) with ESMTPSA (Nemesis) id 0MOzsZ-1j1GSO0wHH-006QLd for ; Wed, 26 Feb 2020 22:15:11 +0100 From: dakling Date: Wed, 26 Feb 2020 22:07:44 +0100 Message-ID: <87blplqcdd.fsf@web.de> MIME-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 39804@debbugs.gnu.org =2D-- gnu/packages/emacs-xyz.scm | 71 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 6b9027df8a..c6df469895 100644 =2D-- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -8601,6 +8601,77 @@ It should enable you to implement low-level X11 app= lications.") built on top of XELB.") (license license:gpl3+))) +(define-public emacs-exwm-next + (package + (name "emacs-exwm-next") + (version "0.23") + (synopsis "Emacs X window manager") + (source (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/exwm-" + version ".tar")) + (sha256 + (base32 + "05w1v3wrp1lzz20zd9lcvr5nhk809kgy6svvkbs15xhnr6x55ad5")))= ) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-xelb" ,emacs-xelb))) + (inputs + `(("xhost" ,xhost) + ("emacs-next" ,emacs-next) + ("dbus" ,dbus))) + ;; The following functions and variables needed by emacs-exwm are + ;; not included in emacs-minimal: + ;; scroll-bar-mode, fringe-mode + ;; x-display-pixel-width, x-display-pixel-height + (arguments + `(#:emacs ,emacs + #:phases + (modify-phases %standard-phases + (add-after 'build 'install-xsession + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (xsessions (string-append out "/share/xsessions")) + (bin (string-append out "/bin")) + (exwm-executable (string-append bin "/exwm"))) + ;; Add a .desktop file to xsessions + (mkdir-p xsessions) + (mkdir-p bin) + (with-output-to-file + (string-append xsessions "/exwm.desktop") + (lambda _ + (format #t "[Desktop Entry]~@ + Name=3D~a~@ + Comment=3D~a~@ + Exec=3D~a~@ + TryExec=3D~:*~a~@ + Type=3DApplication~%" ,name ,synopsis exwm-executabl= e))) + ;; Add a shell wrapper to bin + (with-output-to-file exwm-executable + (lambda _ + (format #t "#!~a ~@ + ~a +SI:localuser:$USER ~@ + exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%= " + (string-append (assoc-ref inputs "bash") "/bin= /sh") + (string-append (assoc-ref inputs "xhost") "/bi= n/xhost") + (string-append (assoc-ref inputs "dbus") "/bin= /dbus-launch") + (string-append (assoc-ref inputs "emacs-next")= "/bin/emacs") + '(cond + ((file-exists-p "~/.exwm") + (load-file "~/.exwm")) + ((not (featurep 'exwm)) + (require 'exwm) + (require 'exwm-config) + (exwm-config-default) + (message (concat "exwm configuration not fo= und. " + "Falling back to default c= onfiguration..."))))))) + (chmod exwm-executable #o555) + #t)))))) + (home-page "https://github.com/ch11ng/exwm") + (description "EXWM is a full-featured tiling X window manager for Ema= cs +built on top of XELB.") + (license license:gpl3+))) + (define-public emacs-switch-window (package (name "emacs-switch-window") =2D- 2.25.1