Merge branch 'master' into core-updates-frozen
[jackhill/guix/guix.git] / gnu / packages / wm.scm
index f7a9dda..1986fbb 100644 (file)
@@ -8,7 +8,7 @@
 ;;; Copyright © 2016, 2019, 2020 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, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2017, 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016, 2017, 2018, 2020 Nikita <nikita@n0.is>
 ;;; Copyright © 2016 doncatnip <gnopap@gmail.com>
 ;;; Copyright © 2016 Ivan Vilata i Balaguer <ivan@selidor.net>
@@ -45,6 +45,7 @@
 ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
 ;;; Copyright © 2021 qblade <qblade@protonmail.com>
 ;;; Copyright © 2021 lasnesne <lasnesne@lagunposprasihopre.org>
+;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -82,6 +83,7 @@
   #:use-module (gnu packages bison)
   #:use-module (gnu packages build-tools) ;for meson-0.55
   #:use-module (gnu packages calendar)
+  #:use-module (gnu packages datastructures)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages fontutils)
@@ -383,14 +385,14 @@ from many programming languages.")
 (define-public i3lock
   (package
     (name "i3lock")
-    (version "2.11.1")
+    (version "2.13")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://i3wm.org/i3lock/i3lock-"
                                   version ".tar.bz2"))
               (sha256
                (base32
-                "015dn534m7cxjvqdncpvaq9p8b2r4w5hp1yanbdy2abmhbcc7a7j"))))
+                "02szjsaz7rqrdkd0r2nwgwa85c4hwfrcskxw7ryk695kmjcfhzv3"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
@@ -410,6 +412,43 @@ from many programming languages.")
 Despite the name it should work with any X11 window manager.")
     (license license:bsd-3)))
 
+(define-public i3lock-blur
+  (package
+    (name "i3lock-blur")
+    (version "2.10")
+    (source (origin
+              (method git-fetch)
+              (uri
+               (git-reference
+                (url "https://github.com/karulont/i3lock-blur")
+                (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1bd5nrlga5g1sz1f64gnc3dqy8yfrr4q1ss59krymbpxa1hhf55c"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("automake" ,automake)
+       ("autoconf" ,autoconf)))
+    (inputs
+     `(("cairo" ,cairo)
+       ("mesa" ,mesa)
+       ("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://github.com/karulont/i3lock-blur")
+    (synopsis "Lightweight screen locker with transparent blurring background")
+    (description
+     "Simple X11 screen locker with transparent blurring background developed
+alongside the i3 project.  Despite the name it should work with any X11 window
+manager.")
+    (license license:expat)))
+
 (define-public i3blocks
   (package
     (name "i3blocks")
@@ -612,14 +651,10 @@ Features include:
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
                     (icons (string-append out "/share/i3lock-fancy/icons/"))
-                    (wmctrl (string-append (assoc-ref inputs "wmctrl")
-                                           "/bin/wmctrl"))
-                    (mconvert (string-append (assoc-ref inputs "imagemagick")
-                                             "/bin/convert"))
-                    (mimport (string-append (assoc-ref inputs "imagemagick")
-                                            "/bin/import"))
-                    (awk (string-append (assoc-ref inputs "gawk")
-                                        "/bin/gawk")))
+                    (wmctrl (search-input-file inputs "/bin/wmctrl"))
+                    (mconvert (search-input-file inputs "/bin/convert"))
+                    (mimport (search-input-file inputs "/bin/import"))
+                    (awk (search-input-file inputs "/bin/gawk")))
 
                (substitute* "lock"
                  (("\\$\\(command -V wmctrl\\)") wmctrl)
@@ -644,6 +679,7 @@ Features include:
     (inputs
      `(("imagemagick" ,imagemagick)
        ("wmctrl" ,wmctrl)
+       ("i3lock" ,i3lock)
        ("gawk" ,gawk)))
     (home-page "https://github.com/meskarune/i3lock-fancy")
     (synopsis "Screen locker with screenshot function")
@@ -908,6 +944,39 @@ experience.")
     (home-page "http://fluxbox.org/")
     (license license:expat)))
 
+(define-public fnott
+  (package
+    (name "fnott")
+    (version "1.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://codeberg.org/dnkl/fnott")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1xaz13iry3fdjhqk9xzg29kbv7hqj8dzzqxr5mhrj8f2m013jdc3"))))
+    (build-system meson-build-system)
+    (arguments `(#:build-type "release"))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("wayland-protocols" ,wayland-protocols)
+       ("tllist" ,tllist)
+       ("gcc" ,gcc-10)     ;TODO: Remove when the default compiler is > GCC 7.
+       ("scdoc" ,scdoc)))
+    (inputs
+     `(("wlroots" ,wlroots)
+       ("wayland" ,wayland)
+       ("fcft" ,fcft)
+       ("dbus" ,dbus)
+       ("libpng" ,libpng)))
+    (home-page "https://codeberg.org/dnkl/fnott")
+    (synopsis "Keyboard driven and lightweight Wayland notification daemon")
+    (description "Fnott is a keyboard driven and lightweight notification daemon
+for wlroots-based Wayland compositors.")
+    (license license:expat)))
+
 (define-public awesome
   (package
     (name "awesome")