summaryrefslogtreecommitdiff
path: root/gnu/packages/wm.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/wm.scm')
-rw-r--r--gnu/packages/wm.scm67
1 files changed, 59 insertions, 8 deletions
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 0a05ff4ae4..ddc6905c82 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -8,17 +8,18 @@
;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Al McElrath <hello@yrns.org>
;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au>
-;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018 ng0 <ng0@n0.is>
;;; Copyright © 2016 doncatnip <gnopap@gmail.com>
;;; Copyright © 2016 Ivan Vilata i Balaguer <ivan@selidor.net>
;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
-;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -181,7 +182,19 @@ commands would.")
(list "--disable-builddir")
;; The test suite requires the unpackaged Xephyr X server.
- #:tests? #f))
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'patch-session-file
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (i3 (string-append out "/bin/i3"))
+ (i3-with-shmlog (string-append out "/bin/i3-with-shmlog")))
+ (substitute* (string-append out "/share/xsessions/i3.desktop")
+ (("Exec=i3") (string-append "Exec=" i3)))
+ (substitute* (string-append out "/share/xsessions/i3-with-shmlog.desktop")
+ (("Exec=i3-with-shmlog") (string-append "Exec=" i3-with-shmlog)))
+ #t))))))
(inputs
`(("libxcb" ,libxcb)
("xcb-util" ,xcb-util)
@@ -220,6 +233,36 @@ i3 uses a plain-text configuration file, and can be extended and controlled from
many programming languages.")
(license license:bsd-3)))
+(define-public i3lock
+ (package
+ (name "i3lock")
+ (version "2.11.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://i3wm.org/i3lock/i3lock-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "015dn534m7cxjvqdncpvaq9p8b2r4w5hp1yanbdy2abmhbcc7a7j"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("cairo" ,cairo)
+ ("libev" ,libev)
+ ("linux-pam" ,linux-pam)
+ ("libxcb" ,libxcb)
+ ("libxkbcommon" ,libxkbcommon)
+ ("xcb-util" ,xcb-util)
+ ("xcb-util-image" ,xcb-util-image)
+ ("xcb-util-xrm" ,xcb-util-xrm)))
+ (home-page "https://i3wm.org/i3lock/")
+ (synopsis "Lightweight screen locker")
+ (description
+ "i3lock is a simple X11 screen locker developed alongside the i3 project.
+Despite the name it should work with any X11 window manager.")
+ (license license:bsd-3)))
+
(define-public i3blocks
(let ((commit "37f23805ff886639163fbef8aedba71c8071eff8")
(revision "1"))
@@ -536,7 +579,7 @@ tiled on several screens.")
(source (origin
(method url-fetch)
(uri (string-append "mirror://hackage/package/xmobar/"
- name "-" version ".tar.gz"))
+ "xmobar-" version ".tar.gz"))
(sha256
(base32
"1xh87asg8y35srvp7d3gyyy4bkxsw122liihxgzgm8pqv2z3h4zd"))))
@@ -793,6 +836,13 @@ experience.")
;; There aren't any tests, so just make sure the binary
;; gets built and can be run successfully.
(invoke "../build/awesome" "-v")))
+ (add-after 'install 'patch-session-file
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (awesome (string-append out "/bin/awesome")))
+ (substitute* (string-append out "/share/xsessions/awesome.desktop")
+ (("Exec=awesome") (string-append "Exec=" awesome)))
+ #t)))
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((awesome (assoc-ref outputs "out"))
@@ -811,7 +861,7 @@ experience.")
"Awesome has been designed as a framework window manager. It is fast, small,
dynamic and extensible using the Lua programming language.")
(license license:gpl2+)
- (home-page "https://awesome.naquadah.org/")))
+ (home-page "https://awesomewm.org/")))
(define-public menumaker
(package
@@ -1048,14 +1098,14 @@ its size
(define-public polybar
(package
(name "polybar")
- (version "3.3.0")
+ (version "3.3.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/jaagr/polybar/releases/"
- "download/" version "/polybar.tar"))
+ "download/" version "/polybar-" version ".tar"))
(sha256
- (base32 "0sjh3xmf11g09spi88zj7xsc3a3vv78kixab6n5i7436py7xwzb4"))
+ (base32 "0758na059vpgnsrcdrxmh9wsahs80wnmizb9g7bmixlrkxr2m65h"))
(file-name (string-append name "-" version ".tar"))))
(build-system cmake-build-system)
(arguments
@@ -1160,6 +1210,7 @@ modules for building a Wayland compositor.")
("elogind" ,elogind)
("gdk-pixbuf" ,gdk-pixbuf)
("json-c" ,json-c)
+ ("libevdev" ,libevdev)
("libinput" ,libinput)
("libxkbcommon" ,libxkbcommon)
("pango" ,pango)