mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
gnu: Add herbstluftwm.
* gnu/packages/wm.scm (herbstluftwm): New variable. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
a1a4a40715
commit
1d25447e8b
1 changed files with 81 additions and 0 deletions
|
@ -21,6 +21,7 @@
|
|||
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2019 Timothy Sample <samplet@ngyro.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.
|
||||
;;;
|
||||
|
@ -128,6 +129,86 @@ (define-public bspwm
|
|||
the leaves of a full binary tree.")
|
||||
(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
|
||||
(package
|
||||
(name "i3status")
|
||||
|
|
Loading…
Reference in a new issue