all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#27062: New WM addition: Spectrwm
@ 2017-05-24 22:59 ng0
  2017-05-28 19:53 ` Ludovic Courtès
  0 siblings, 1 reply; 2+ messages in thread
From: ng0 @ 2017-05-24 22:59 UTC (permalink / raw)
  To: 27062

[-- Attachment #1: Type: text/plain, Size: 352 bytes --]

Spectrwm is the new name of Scrotwm which has been around for some time.

You need to have dmenu in your path for this (works without it, you'll be noticed that it is
required by spectrwm itself). It must be handled like in i3-wm, which is just install
dmenu in addition to spectrwm.

Works, tested, this message was written from within spectrwm.

[-- Attachment #2: 0001-gnu-Add-spectrwm.patch --]
[-- Type: application/octet-stream, Size: 4742 bytes --]

From 8b8ac0c10f7bb8252a1a9499542c44186ffb02e5 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@no-reply.pragmatique.xyz>
Date: Thu, 4 May 2017 19:45:54 +0000
Subject: [PATCH] gnu: Add spectrwm.

* gnu/packages/wm.scm (spectrwm): New variable.
---
 gnu/packages/wm.scm | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 88 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 607ef2b0e..5efe73101 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,90 @@ 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:
+
+@enumerate
+@item Dynamic RandR support (multi-head)
+@item Navigation anywhere on all screens with either the keyboard or mouse
+@item Customizable status bar
+@item Human readable configuration file
+@item Restartable without losing state
+@item Quick launch menu
+@item Many screen layouts possible with a few simple key strokes
+@item Windows can be added or removed from master area
+@item Windows can be moved to any workspace or within a region
+@item Resizable master area
+@item Move/resize floating windows
+@item Drag-to-float
+@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.
+@item User definable regions
+@item User definable modkey & key bindings
+@item User definable quirk bindings
+@item User definable key bindings to launch applications
+@item Reparenting window manager\n")
+    (home-page "https://spectrwm.org")
+    (license license:isc)))
-- 
2.13.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-05-28 19:54 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-24 22:59 bug#27062: New WM addition: Spectrwm ng0
2017-05-28 19:53 ` Ludovic Courtès

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.