diff options
author | ng0 <ng0@no-reply.pragmatique.xyz> | 2017-05-04 19:45:54 +0000 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2017-05-28 23:13:40 +0200 |
commit | 78dfc9e2dd3fd10ac3f6a01617b41bb08a80f173 (patch) | |
tree | 59d09aa18aa208e5941a83b90ff38d835319332a | |
parent | ce676015645949091ceb54f7eb9daede7bc619fc (diff) | |
download | guix-78dfc9e2dd3fd10ac3f6a01617b41bb08a80f173.tar.gz |
gnu: Add spectrwm.
* gnu/packages/wm.scm (spectrwm): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r-- | gnu/packages/wm.scm | 79 |
1 files changed, 78 insertions, 1 deletions
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 607ef2b0e7..cd53091ced 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2016 Al McElrath <hello@yrns.org> ;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net> +;;; Copyright © 2016, 2017 ng0 <ng0@no-reply.pramatique.xyz> ;;; Copyright © 2016 doncatnip <gnopap@gmail.com> ;;; Copyright © 2016 Ivan Vilata i Balaguer <ivan@selidor.net> ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com> @@ -675,3 +675,80 @@ all of them. Currently supported window managers include: Keybinder works with GTK-based applications using the X Window System.") (home-page "https://github.com/engla/keybinder") (license license:gpl2+))) + +(define-public spectrwm + (package + (name "spectrwm") + (version "3.0.2") + (source + (origin + (method url-fetch) + (uri (let ((version-with-underscores + (string-join (string-split version #\.) "_"))) + (string-append "https://github.com/conformal/spectrwm/archive/" + "SPECTRWM_" version-with-underscores ".tar.gz"))) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "065b7j8s0lxw3p58fyf3c1mr5203pdm0kww42v245rlx0f005kl2")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (let ((pkg-config (lambda (flag) + (string-append + "$(shell pkg-config " flag " " + "xft fontconfig x11 libpng)")))) + (list + "CC=gcc" + (string-append "PREFIX=" %output) + (string-append "INCS=-I. " (pkg-config "--cflags")) + (string-append "LIBS=" (pkg-config "--libs") " -lm"))) + #:tests? #f ;No test suite + #:phases + (modify-phases %standard-phases + (add-before 'build 'change-dir + (lambda _ + (chdir "linux") #t)) + (add-after 'change-dir 'patch-makefile + (lambda _ + (substitute* "Makefile" + (("-g") "")))) + (add-after 'change-dir 'fix-freetype-include + (lambda _ + (substitute* "Makefile" + (("/usr/include/freetype2") + (string-append (assoc-ref %build-inputs "freetype") + "/include/freetype2"))))) + (delete 'configure)))) ;no 'configure' exists + (inputs + `(("freetype" ,freetype) + ("fontconfig" ,fontconfig) + ("libx11" ,libx11) + ("libxcursor" ,libxcursor) + ("libxrandr" ,libxrandr) + ("libxtst" ,libxtst) + ("libxft" ,libxft) + ("xcb-util" ,xcb-util) + ("xcb-util-wm" ,xcb-util-wm) + ("xcb-util-keysyms" ,xcb-util-keysyms))) + (native-inputs + `(("libxt" ,libxt) + ("pkg-config" ,pkg-config))) + (synopsis "Minimalistic automatic tiling window manager") + (description + "Spectrwm is a small dynamic tiling and reparenting window manager for X11. +It is inspired by Xmonad and dwm. Its major features include: + +@itemize +@item Navigation anywhere on all screens with either the keyboard or mouse +@item Customizable status bar +@item Restartable without losing state +@item Quick launch menu +@item Many screen layouts possible with a few simple key strokes +@item Move/resize floating windows +@item Extended Window Manager Hints (EWMH) support +@item Configureable tiling +@item Adjustable tile gap allows for a true one pixel border +@item Customizable colors and border width +@end itemize\n") + (home-page "https://github.com/conformal/spectrwm") + (license license:isc))) |