From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 26 16:26:38 2020 Received: (at submit) by debbugs.gnu.org; 26 Feb 2020 21:26:38 +0000 Received: from localhost ([127.0.0.1]:57856 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j74CU-0000xi-05 for submit@debbugs.gnu.org; Wed, 26 Feb 2020 16:26:38 -0500 Received: from lists.gnu.org ([209.51.188.17]:44570) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j741Y-0000ev-U3 for submit@debbugs.gnu.org; Wed, 26 Feb 2020 16:15:21 -0500 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 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=BAYES_40,FREEMAIL_FROM, RCVD_IN_DNSWL_LOW,SPOOFED_FREEMAIL,URIBL_BLOCKED autolearn=disabled version=3.3.2 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1582751711; bh=IKNNA5YiDhe4EIVC9ujnX63p8SvC+bqJ4lm998dH1vQ=; h=X-UI-Sender-Class:From:To:Subject:Date; b=lDSngoeHV9Kw5AMykmS8Oa8LjlvZiE3nXHLP+LTXA+dkzyrn73H+zHhK9+BRM3Uci UVSx9VMtXmY2Y5MnZj9nLwCU7xNCgjg5Yf3Oz1wrivdI/QiqJ0bjWHsIsVIkn0vx+X WdHnhay68NxirxLviKf24kxphwi87SX5MqHSnIS4= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 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 User-agent: mu4e 1.2.0; emacs 27.0.50 From: dakling To: guix-patches@gnu.org Subject: [PATCH] gnu: add emacs-exwm-next package (i.e. exwm for emacs-next) Date: Wed, 26 Feb 2020 22:07:44 +0100 Message-ID: <87blplqcdd.fsf@web.de> MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:atInNwPyqgiq3TcDMQZaAOyt1QqJSj4vvZk0uUXvWUKoEJBLn3L HCzIDs0tKg6HktpF7eh5mTS/ChMWLVkRbxh8ZpGwv8M/bg3EybaTW0Sj0qU9m2tdUvE+6tV 2WKFrx3g2wi0YF80rpO2SkFD74DFmq/ELRNQsfufV7NkyO7wa6KH+e9UYKv79Sdzg1Sy3DS WC1qH3Ou/2ZTCK61eS26g== X-UI-Out-Filterresults: notjunk:1;V03:K0:RVwRrgUGuIs=:sdJa4e8BX+mepVhgMIipX5 HMrN5b8AqFDn6JuARGGVmqjPoJll/5ByEMYJZIU2IUB4k5+9ekXRChoyKlKiNCgteTe/O+hGz UUqR/l7ICzkiPutwtmtbbzSxPMSMm323QRQKMMjNAQ5VYk9Ysuy/52tlYUSajTvnsRJv1LCSV bP/9O9HSvOfIdc2oE1zDYwsGtxoMPi6JOC19BLyfCML5Idd2+HIXRUNEz/2ciGsSV8WpzwIuw AMatdkVhM3Rx9HA5eppuEbRY5cdDFQbUTq7qXR4pH/xIjWT3JLpPDT17oSXQkWF6Fkd6Yl19G 9cBWBClrmLyIQIzN5Gi/4vWUogVkuq2RG3z7au4uwm5udHvpvdjx2uO+j1qQrDdvUDrRHddjU Oa/GnE370/olCIYE3vRiMhs7ACOh/pTmnxpE9b6bLMXWzJesCOzE13XWG6dWr1NBuyqgRG6Ew SdOakciFatDgLMPS+OS2ODVU5hFmWfo71qp73p9VruVt1nqjrXLD1V8IqgsB8apQtzHHTGpTR YuiwC6X+kN6ZTfIW0dXZLMvtWH1hMJvPUADu/WoHzJAmaTRdQu+8nRV60R6JIUL15OIaBDXDu XlPGDujyRSWkiUJ32/amQfD/UUNf+qYRigEl8X3l9/p/6DWfbgKPQr8ycgzDxlV3/zeaK7MCS 15iZkHbgKsnEDdldu6S2i2a71b3Zxd9smkNNRD/zH5cpL6U6enbg2YzYGA4X+t5LYotX+OEG2 JCAJu7lIr0FJcvl95fqc4AmfwINSfnQthFIfPfW7TtM24VMa5vbKChe2HQe3rZe8aiDEeDOl0 66d5njU9TuB97MCaj85Yo7ccs0uAvG5Beqxe7t0+mVg0tkwn1EZQWUZ8RqnKmEot4hW5Ve321 cLRijLTTrbJUopEs3+NEAQ/t9d8dCdqpHv/mRHXl7STY51slszwVA85kkNJqQx9b2MkuftZ4y /e94DV/MFmtqbCeHac0i27Vd5lTJbVA9KnRnvWFFnF8o4zpV2ZSECTXRHeOrBcc8vgCeGtp3T 7mlTdNdsiRiGzYIHobgXkDCHjhfA8nUvdnsiXef3FvcWydzcTaY3OKHZWLpliwWRGop0K0Kwi 7T91WFihq2PRib+PC0IrnYLqxDRW9vXfIZ99xM3lrpqBNgp5mQphS9IxCsIhtL+WvIe7ZRzUn H1oHg8JrIyNeE7Eq5dwTwjvG1rBG868atZ8P50F2MyovZlzBB2KRbqU0PO8fYcwiibdg1vyFp D2C5mwkc2gVUpi/zE4WwHctrR1AOT6xyDbEkwBA== Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 217.72.192.78 X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Wed, 26 Feb 2020 16:26:36 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) =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