aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/wm.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/wm.scm')
-rw-r--r--gnu/packages/wm.scm87
1 files changed, 77 insertions, 10 deletions
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index fbee200729..768fbc5bc7 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -67,6 +67,8 @@
;;; Copyright © 2023, 2024 Jaeme Sifat <jaeme@runbox.com>
;;; Copyright © 2023 Josselin Poiret <dev@jpoiret.xyz>
;;; Copyright © 2024 Timotej Lazar <timotej.lazar@araneo.si>
+;;; Copyright © 2024 Ahmad Draidi <a.r.draidi@redscript.org>
+;;; Copyright © 2024 chris <chris@bumblehead.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -115,6 +117,7 @@
#:use-module (gnu packages datastructures)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
+ #:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages fribidi)
@@ -211,7 +214,7 @@ the leaves of a full binary tree.")
(sha256 (base32 "11sg9x08zl2nr7a723h462knz5lf58sgvkhv1mgc9z3hhkhvbsja"))))
(build-system meson-build-system)
(native-inputs (list pkg-config scdoc))
- (inputs (list wayland wlroots libxkbcommon))
+ (inputs (list wayland wlroots-0.16 libxkbcommon))
(home-page "https://github.com/cage-kiosk/cage")
(synopsis "Wayland kiosk")
(description "This package provides a Wayland @dfn{kiosk}, which runs a
@@ -1171,7 +1174,7 @@ the XDG Autostart specification.")
tllist
scdoc))
(inputs
- (list wlroots wayland fcft dbus libpng))
+ (list wlroots-0.16 wayland fcft dbus 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
@@ -1573,7 +1576,7 @@ started automatically on the first call via D-Bus.")
(native-inputs
(list pkg-config))
(inputs
- (list wlroots))
+ (list wlroots-0.16))
(home-page "https://github.com/djpohly/dwl")
(synopsis "Dynamic window manager for Wayland")
(description
@@ -1679,7 +1682,7 @@ functionality to display information about the most commonly used services.")
(define-public wlroots
(package
(name "wlroots")
- (version "0.16.2")
+ (version "0.17.1")
(source
(origin
(method git-fetch)
@@ -1688,7 +1691,9 @@ functionality to display information about the most commonly used services.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1m12nv6avgnz626h3giqp6gcx44w1wq6z0jy780mx8z255ic7q15"))))
+ (base32 "1hj4gq5vx8in65622yvjm8bwqkw2vpc556k9my997a0hn0ricj37"))
+ ;; This patch can be removed once hwdata in Guix supports pkg-config
+ (patches (search-patches "wlroots-hwdata-fallback.patch"))))
(build-system meson-build-system)
(arguments
`(#:phases
@@ -1709,6 +1714,7 @@ functionality to display information about the most commonly used services.")
(propagated-inputs
(list ;; As required by wlroots.pc.
eudev
+ libdisplay-info
libinput-minimal
libxkbcommon
mesa
@@ -1734,6 +1740,23 @@ Wayland compositor")
modules for building a Wayland compositor.")
(license license:expat))) ; MIT license
+(define-public wlroots-0.16
+ (package
+ (inherit wlroots)
+ (name "wlroots-0.16")
+ (version "0.16.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.freedesktop.org/wlroots/wlroots")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1m12nv6avgnz626h3giqp6gcx44w1wq6z0jy780mx8z255ic7q15"))))
+ (propagated-inputs (modify-inputs (package-propagated-inputs wlroots)
+ (delete libdisplay-info)))))
+
(define-public sway
(package
(name "sway")
@@ -1778,7 +1801,7 @@ modules for building a Wayland compositor.")
pcre2
swaybg
wayland
- wlroots))
+ wlroots-0.16))
(native-inputs
(cons* linux-pam mesa pkg-config scdoc wayland-protocols
(if (%current-target-system)
@@ -3058,7 +3081,7 @@ shows a notification for the user on the screen.")
(("/etc/") (string-append #$output "/etc/"))
(("/usr/share/") (string-append #$output "/usr/share/"))))))))
(native-inputs (list pkg-config scdoc))
- (inputs (list libevdev pango wlroots))
+ (inputs (list libevdev pango wlroots-0.16))
(home-page "https://github.com/project-repo/cagebreak")
(synopsis "Tiling wayland compositor inspired by ratpoison")
(description
@@ -3137,7 +3160,7 @@ read and write, and compatible with JSON.")
(define-public labwc
(package
(name "labwc")
- (version "0.6.5")
+ (version "0.7.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3146,7 +3169,7 @@ read and write, and compatible with JSON.")
(file-name (git-file-name name version))
(sha256
(base32
- "04401k1i6b9s2v6mbhw5llla8fdpkhmgz826iva246iqch9z20lx"))))
+ "17p3wcnggnd4v37z1dgv8nmc35nq4261s8sglr44bf71vjircggz"))))
(build-system meson-build-system)
(native-inputs
(list pkg-config gettext-minimal scdoc))
@@ -3198,7 +3221,7 @@ session. Nor does it depend on any UI toolkits such as Qt or GTK.")
linux-pam
pango
wayland
- wlroots))
+ wlroots-0.16))
(arguments
`(#:tests? #f ; no tests
#:make-flags
@@ -3654,3 +3677,47 @@ notable features include:
(description "velox is a simple window manager for Wayland based on swc.
It is inspired by dwm and xmonad.")
(license license:expat))))
+
+(define-public yambar-wayland
+ (package
+ (name "yambar-wayland")
+ (version "1.10.0")
+ (home-page "https://codeberg.org/dnkl/yambar")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "14lxhgyyia7sxyqjwa9skps0j9qlpqi8y7hvbsaidrwmy4857czr"))))
+ (build-system meson-build-system)
+ (arguments
+ (list
+ #:build-type "release"
+ #:configure-flags #~'("-Db_lto=true"
+ "-Dbackend-x11=disabled"
+ "-Dbackend-wayland=enabled")))
+ (native-inputs (list pkg-config
+ tllist
+ flex
+ bison
+ scdoc
+ wayland-protocols))
+ (inputs (list fcft
+ wayland
+ pipewire
+ libyaml
+ pixman
+ alsa-lib
+ json-c
+ libmpdclient
+ eudev))
+ (synopsis "X11 and Wayland status panel")
+ (description
+ "@command{yambar} is a lightweight and configurable status panel (bar,
+for short) for X11 and Wayland, that goes to great lengths to be both CPU and
+battery efficient---polling is only done when absolutely necessary.")
+ (license license:expat)))