gnu: Add herbstluftwm.

* gnu/packages/wm.scm (herbstluftwm): New variable.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Kyle Andrews 2019-09-14 15:43:53 -04:00 committed by Ludovic Courtès
parent a1a4a40715
commit 1d25447e8b
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 81 additions and 0 deletions

View File

@ -21,6 +21,7 @@
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com> ;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com>
;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2019 Kyle Andrews <kyle.c.andrews@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -128,6 +129,86 @@
the leaves of a full binary tree.") the leaves of a full binary tree.")
(license license:bsd-2))) (license license:bsd-2)))
(define-public herbstluftwm
(package
(name "herbstluftwm")
(version "0.7.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://herbstluftwm.org/tarballs/herbstluftwm-"
version ".tar.gz"))
(sha256
(base32
"1kc18aj9j3nfz6fj4qxg9s3gg4jvn6kzi3ii24hfm0vqdpy17xnz"))
(file-name (string-append "herbstluftwm-" version ".tar.gz"))))
(build-system gnu-build-system)
(inputs
`(("dzen" ,dzen)
("dmenu" ,dmenu)
("glib" ,glib)
("glibmm" ,glibmm)
("xterm" ,xterm)
("xsetroot" ,xsetroot)
("libx11" ,libx11)
("libxext" ,libxext)
("libxinerama" ,libxinerama)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(arguments
'(#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'check)
(add-after 'install 'install-xsession
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(xsessions (string-append out "/share/xsessions")))
(mkdir-p xsessions)
(call-with-output-file
(string-append xsessions "/herbstluftwm.desktop")
(lambda (port)
(format port "~
[Desktop Entry]~@
Name=herbstluftwm~@
Comment=Manual tiling window manager~@
Exec=~a/bin/herbstluftwm~@
Type=XSession~%" out)))
#t))))
#:tests? #f
#:make-flags
(let ((out (assoc-ref %outputs "out")))
(list "CC=gcc"
(string-append "PREFIX=''")
(string-append "DESTDIR=" out)
(string-append "BASHCOMPLETIONDIR=" out
"/etc/bash_completion.d")))))
(synopsis "Tiling window manager for X11")
(description "herbstluftwm is a manual tiling window manager for X11 using
Xlib and GLib. Its main features are:
@itemize
@item
The layout is based on splitting frames into subframes which can be split
again or can be filled with windows (similar to i3 or musca).
@item
Tags (or workspaces or virtual desktops or ) can be added/removed at runtime.
Each tag contains an own layout.
@item
Exactly one tag is viewed on each monitor. The tags are monitor independent
(similar to Xmonad).
@item
It is configured at runtime via IPC calls from @command{herbstclient}. So the
configuration file is just a script which is run on startup (similar to wmii
or musca).
@end itemize")
(home-page "https://herbstluftwm.org")
(license license:bsd-2)))
(define-public i3status (define-public i3status
(package (package
(name "i3status") (name "i3status")