diff options
Diffstat (limited to 'gnu/packages/wm.scm')
-rw-r--r-- | gnu/packages/wm.scm | 400 |
1 files changed, 322 insertions, 78 deletions
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index bd7589b2a6..588b62516e 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2015 xd1le <elisp.vim@gmail.com> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org> -;;; Copyright © 2016, 2019, 2020, 2023 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2019, 2020, 2023, 2024 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Al McElrath <hello@yrns.org> ;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; Copyright © 2016 2019, 2021-2022 Ludovic Courtès <ludo@gnu.org> @@ -41,7 +41,7 @@ ;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com> ;;; Copyright © 2020 Niklas Eklund <niklas.eklund@posteo.net> ;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net> -;;; Copyright © 2021, 2023 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2021, 2023, 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2021 qblade <qblade@protonmail.com> ;;; Copyright © 2021 lasnesne <lasnesne@lagunposprasihopre.org> @@ -64,7 +64,11 @@ ;;; Copyright © 2023 Jonathan Brielamier <jonathan.brielmaier@web.de> ;;; Copyright © 2023 Vessel Wave <vesselwave@disroot.org> ;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr> -;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com> +;;; 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. ;;; @@ -88,6 +92,7 @@ #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix build-system asdf) + #:use-module (guix build-system cargo) #:use-module (guix build-system cmake) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) @@ -105,11 +110,14 @@ #:use-module (gnu packages bison) #:use-module (gnu packages build-tools) #:use-module (gnu packages calendar) - #:use-module (gnu packages compression) #:use-module (gnu packages check) + #:use-module (gnu packages compression) + #:use-module (gnu packages crates-io) + #:use-module (gnu packages crates-graphics) #: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) @@ -179,13 +187,13 @@ xcb-util-keysyms xcb-util-wm)) (arguments - '(#:phases - (modify-phases %standard-phases - (delete 'configure)) ; no configure script - #:tests? #f ; no check target - #:make-flags - (list "CC=gcc" - (string-append "PREFIX=" %output)))) + (list #:phases + #~(modify-phases %standard-phases + (delete 'configure)) ; no configure script + #:tests? #f ; no check target + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "PREFIX=" #$output)))) (home-page "https://github.com/baskerville/bspwm") (synopsis "Tiling window manager based on binary space partitioning") (description "bspwm is a tiling window manager that represents windows as @@ -205,8 +213,10 @@ the leaves of a full binary tree.") (file-name (git-file-name name version)) (sha256 (base32 "11sg9x08zl2nr7a723h462knz5lf58sgvkhv1mgc9z3hhkhvbsja")))) (build-system meson-build-system) - (native-inputs (list pkg-config scdoc)) - (inputs (list wayland wlroots libxkbcommon)) + (native-inputs (list pkg-config scdoc + ;; for wayland-scanner + wayland)) + (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 @@ -787,7 +797,7 @@ desktop environment.") (define-public icewm (package (name "icewm") - (version "3.4.5") + (version "3.4.6") (source (origin (method url-fetch) (uri (string-append @@ -795,7 +805,7 @@ desktop environment.") version "/icewm-" version ".tar.lz")) (sha256 (base32 - "1wd5k0whh2b43a72223cy19pwc29fhrhd2dnc61fha2y5ndgw6ld")))) + "1j4jd1fim12h8ry7jkx6y298kyn63pabih1m61rljbzvr3lyy1db")))) (build-system gnu-build-system) (native-inputs (list pkg-config)) (inputs (list fontconfig @@ -820,13 +830,6 @@ desktop environment.") (arguments (list #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'remove-gmo-files - ;; gmo files are generated from .po files - ;; so remove them before build to make sure - ;; they are re-generated if needed - (lambda _ - (for-each delete-file - (find-files "po" "\\.gmo$")))) (add-after 'unpack 'skip-failing-test ;; strtest.cc tests failing due to $HOME and /etc setup ;; difference under guix @@ -1148,7 +1151,7 @@ the XDG Autostart specification.") (define-public fnott (package (name "fnott") - (version "1.4.0") + (version "1.4.1") (source (origin (method git-fetch) (uri (git-reference @@ -1157,7 +1160,7 @@ the XDG Autostart specification.") (file-name (git-file-name name version)) (sha256 (base32 - "0l0brayvcifrc5rxxkqfrskd6523vs3allg2cxhwkixqf2ddg7kh")))) + "0fmjvmsm2ikcmdzrf6xwyq6vxb9p1dd3bhvz3bvi7q7rb2g8h8pi")))) (build-system meson-build-system) (arguments `(#:build-type "release")) (native-inputs @@ -1166,7 +1169,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 @@ -1495,7 +1498,7 @@ project derived from the original Calm Window Manager.") (define-public dunst (package (name "dunst") - (version "1.9.2") + (version "1.10.0") (source (origin (method git-fetch) @@ -1504,7 +1507,7 @@ project derived from the original Calm Window Manager.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "17zrw7jrnlyln81pxw7p4jgvl7j1w1gf488nfskhns6j6dcz90gh")))) + (base32 "1d6mc3ac4z16iwgq9934g1yc3412xl0hwv5vs40ycfmasm8qbjga")))) (build-system gnu-build-system) (arguments (list @@ -1568,7 +1571,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 @@ -1621,14 +1624,14 @@ its size (define-public polybar (package (name "polybar") - (version "3.6.3") + (version "3.7.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/polybar/polybar/releases/" "download/" version "/polybar-" version ".tar.gz")) (sha256 - (base32 "19azx5dpfyfh0pv4q2fcrf4p7a0pc5d13m7lnv3qy8376mbmhmzj")))) + (base32 "03zz2c3ckxqbwixc2qhsnasq4j4sfia71v75li9w97d0bcwavrjx")))) (build-system cmake-build-system) (arguments ;; Test is disabled because it requires downloading googletest from the @@ -1674,7 +1677,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) @@ -1683,7 +1686,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 @@ -1704,6 +1709,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 @@ -1729,10 +1735,71 @@ 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 wlroots-0.15 + (package + (inherit wlroots) + (name "wlroots-0.15") + (version "0.15.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.freedesktop.org/wlroots/wlroots") + (commit version))) + (file-name (git-file-name "wlroots" version)) + (sha256 + (base32 "00s73nhi3sc48l426jdlqwpclg41kx1hv0yk4yxhbzw19gqpfm1h")))))) + +(define-public wmenu + (package + (name "wmenu") + (version "0.1.7") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~adnano/wmenu") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0wjn68r5cx4zvw7sby6sk2ip5h4fn0jbgb1nasm9nsgjpv63pnpm")))) + (build-system meson-build-system) + (native-inputs (append (if (%current-target-system) + ;; for wayland-scanner + (list pkg-config-for-build + wayland) + '()) + (list pkg-config scdoc))) + (inputs (list cairo pango wayland libxkbcommon wayland-protocols)) + (home-page "https://git.sr.ht/~adnano/wmenu") + (synopsis "Dynamic menu for Wayland") + (description "@command{wmenu} is a dynamic menu for Wayland, which reads a list +of newline-separated items from stdin. When the user selects an item and presses +Return, their choice is printed to stdout and wmenu terminates. Entering text will +narrow the items to those matching the tokens in the input.") + (license license:expat))) + (define-public sway (package (name "sway") - (version "1.8.1") + (version "1.9") (source (origin (method git-fetch) @@ -1741,27 +1808,23 @@ modules for building a Wayland compositor.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1y7brfrsjnm9gksijgnr6zxqiqvn06mdiwsk5j87ggmxazxd66av")))) + (base32 "1n36vgpi4bg2gkiq4fam4khly1z9bjinmjclzq5vfx0z8h7a5bzz")))) (build-system meson-build-system) (arguments - `(;; elogind is propagated by wlroots -> libseat - ;; and would otherwise shadow basu. - #:configure-flags '("-Dsd-bus-provider=basu") - #:phases - (modify-phases %standard-phases - (add-before 'configure 'hardcode-paths - (lambda* (#:key inputs #:allow-other-keys) - ;; Hardcode path to swaybg. - (substitute* "sway/config.c" - (("strdup..swaybg..") - (string-append "strdup(\"" (assoc-ref inputs "swaybg") - "/bin/swaybg\")"))) - ;; Hardcode path to scdoc. - (substitute* "meson.build" - (("scdoc.get_pkgconfig_variable..scdoc..") - (string-append "'" (assoc-ref inputs "scdoc") - "/bin/scdoc'"))) - #t))))) + (list + ;; elogind is propagated by wlroots -> libseat + ;; and would otherwise shadow basu. + #:configure-flags + #~'("-Dsd-bus-provider=basu") + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'hardcode-paths + (lambda* (#:key inputs #:allow-other-keys) + ;; Hardcode path to swaybg. + (substitute* "sway/config.c" + (("strdup..swaybg..") + (format #f "strdup(\"~a\")" + (search-input-file inputs "bin/swaybg"))))))))) (inputs (list basu cairo gdk-pixbuf @@ -1811,7 +1874,7 @@ corners, shadows, inactive window dimming, etc.") (define-public swayidle (package (name "swayidle") - (version "1.7.1") + (version "1.8.0") (source (origin (method git-fetch) @@ -1820,7 +1883,7 @@ corners, shadows, inactive window dimming, etc.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "06iq12p4438d6bv3jlqsf01wjaxrzlnj1bnicn41kad563aq41xl")))) + (base32 "0y0qdqzx90kvk6l80darldvizr7p5g65bnblhxlq5a2rgvs9hkpx")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Dlogind-provider=elogind"))) @@ -1853,7 +1916,7 @@ corners, shadows, inactive window dimming, etc.") (list pkg-config-for-build wayland) '()) (list pango pkg-config scdoc wayland-protocols))) - (home-page "https://github.com/swaywm/sway") + (home-page "https://github.com/swaywm/swaylock") (synopsis "Screen locking utility for Wayland compositors") (description "Swaylock is a screen locking utility for Wayland compositors.") (license license:expat))) ; MIT license @@ -1862,7 +1925,7 @@ corners, shadows, inactive window dimming, etc.") (package (inherit swaylock) (name "swaylock-effects") - (version "1.6.11") + (version "1.7.0.0") (source (origin (method git-fetch) @@ -1872,7 +1935,7 @@ corners, shadows, inactive window dimming, etc.") (file-name (git-file-name name version)) (sha256 (base32 - "0j7dxn66xqlf6iv2arqzz7mxlh7nf85anvpyf30d2frcidarda9h")))) + "0cgpbzdpxj6bbpa8jwql1snghj21mhryyvj6sk46g66lqvwlrqbj")))) (arguments (list #:configure-flags #~'("-Dsse=false"))) (synopsis "Screen locking utility for Wayland compositors with effects") @@ -1910,6 +1973,94 @@ display a clock or apply image manipulation techniques to the background image." (description "Swaybg is a wallpaper utility for Wayland compositors.") (license license:expat))) ; MIT license +(define-public swww + (package + (name "swww") + (version "0.8.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/LGFae/swww") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ps10dv6a8a0hiw7p8kg64mf81pvavskmyn5xpbfw6hrc991vdlz")) + (modules '((guix build utils))) + (snippet + '(begin (substitute* "utils/Cargo.toml" + (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version) + (string-append "\"^" version))))))) + (build-system cargo-build-system) + (arguments + (list + #:install-source? #f + #:cargo-inputs + `(("rust-log" ,rust-log-0.4) + ("rust-simplelog" ,rust-simplelog-0.12) + ("rust-wayland-client" ,rust-wayland-client-0.31) + ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.18) + ("rust-nix" ,rust-nix-0.27) + ("rust-keyframe" ,rust-keyframe-1) + ("rust-rkyv" ,rust-rkyv-0.7) + ("rust-rayon" ,rust-rayon-1) + ("rust-spin-sleep" ,rust-spin-sleep-1) + ("rust-sd-notify" ,rust-sd-notify-0.4) + ("rust-image" ,rust-image-0.24) + ("rust-fast-image-resize" ,rust-fast-image-resize-2) + ("rust-clap" ,rust-clap-4) + ("rust-rand" ,rust-rand-0.8) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-lzzzz" ,rust-lzzzz-1)) + #:cargo-development-inputs + `(("rust-rand" ,rust-rand-0.8) + ("rust-assert-cmd" ,rust-assert-cmd-2) + ("rust-criterion" ,rust-criterion-0.5)) + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'build-documentation + (lambda* (#:key inputs #:allow-other-keys) + (invoke "doc/gen.sh"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (share (string-append out "/share")) + (man1 (string-append share "/man/man1")) + (swww (car (find-files "target" "^swww$"))) + (swww-daemon (car (find-files "target" "^swww-daemon$"))) + (bash-completions-dir + (string-append share "/bash-completion/completions")) + (zsh-completions-dir + (string-append share "/zsh/site-functions")) + (fish-completions-dir + (string-append share "/fish/vendor_completions.d")) + (elvish-completions-dir + (string-append share "/elvish/lib"))) + (install-file swww bin) + (install-file swww-daemon bin) + (copy-recursively "doc/generated" man1) + (install-file "completions/swww.bash" bash-completions-dir) + (install-file "completions/_swww" zsh-completions-dir) + (install-file "completions/swww.fish" fish-completions-dir) + (install-file "completions/swww.elv" elvish-completions-dir)))) + (add-after 'install 'wrap-binaries + (lambda* (#:key outputs inputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (lz4 (assoc-ref inputs "lz4"))) + (wrap-program (string-append out "/bin/swww") + `("PATH" prefix (,(string-append lz4 "/bin")))) + (wrap-program (string-append out "/bin/swww-daemon") + `("PATH" prefix (,(string-append lz4 "/bin")))))))))) + (native-inputs (list scdoc)) + (inputs (list bash-minimal lz4)) + (home-page "https://github.com/LGFae/swww") + (synopsis + "Efficient animated wallpaper daemon for wayland controlled at runtime") + (description + "A Solution to your Wayland Wallpaper Woes (swww). It uses minimal resources +and provides animations for switching between backgrounds.") + (license license:gpl3+))) (define-public swaynotificationcenter (package @@ -1966,7 +2117,7 @@ compository, supporting the following featuers: (define-public waybar (package (name "waybar") - (version "0.9.20") + (version "0.10.0") (source (origin (method git-fetch) @@ -1975,7 +2126,7 @@ compository, supporting the following featuers: (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "07h5l7h7wmzqgg7fbp98khrxg2sq2s4ncp4fiiz1yg62r752idy4")))) + (base32 "00a8npilvcvicn9mff00i5rdzdll0zrmq0y8wgr314gnljn52md7")))) (build-system meson-build-system) (arguments (list #:configure-flags #~(list "--wrap-mode=nodownload"))) @@ -2046,7 +2197,7 @@ core/thread.") (define-public wlr-randr (package (name "wlr-randr") - (version "0.3.1") + (version "0.4.1") (source (origin (method git-fetch) @@ -2055,7 +2206,7 @@ core/thread.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "13mya6j5z7cwg2a973y28ya8w36kxhj0fgj8bk9z6yf2w0ryr5xv")))) + (base32 "1kl5awwclmlfcxfz0jp8gzpg2vffsl9chfilysfsv1mq11a96ifs")))) (build-system meson-build-system) (inputs (list wayland)) (native-inputs (list pkg-config)) @@ -2104,7 +2255,7 @@ compositors that support the layer-shell protocol.") (define-public kanshi (package (name "kanshi") - (version "1.4.0") + (version "1.5.1") (source (origin (method git-fetch) @@ -2113,7 +2264,7 @@ compositors that support the layer-shell protocol.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "016s2896mnf4dnyyrqp2pnqrvrqn404c6b16d5kcjf1p21003lp5")))) + (base32 "1mc2zcqsv79y7682nwi1gn8p751zwflm9zirl98v2q2kvx334k8a")))) (build-system meson-build-system) (inputs (list wayland)) (native-inputs (list pkg-config scdoc)) @@ -2940,7 +3091,7 @@ shows a notification for the user on the screen.") (define-public cagebreak (package (name "cagebreak") - (version "2.2.0") + (version "2.3.1") (source (origin (method git-fetch) (uri (git-reference @@ -2949,7 +3100,7 @@ shows a notification for the user on the screen.") (file-name (git-file-name name version)) (sha256 (base32 - "0yhn77hdy7c80hd6r8nmvs206pmp76bx4zr94imfvgs8fh5gb8cy")))) + "0firjpp7qw4kb2h1zh5pv5k0xf0jvx6x0r0s7j6y7dhlh5j0s00q")))) (build-system meson-build-system) (arguments (list @@ -2974,6 +3125,49 @@ for wayland conceptually based on the X11 window manager @command{ratpoison}.") (license license:expat))) +(define-public libdisplay-info + (let ((commit "ebee35935dad01478ae1ae5ead298c4cd8018ac2") + (revision "0")) + (package + (name "libdisplay-info") + (version (git-version "0.2.0-dev" revision commit)) + (home-page "https://gitlab.freedesktop.org/emersion/libdisplay-info") + (source + (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ly8acdjxn8l55y0wc07n7pb6rzh9dpr1vbsakdib2zrl0i5yh3a")))) + (build-system meson-build-system) + (arguments + (list + #:phases #~(modify-phases %standard-phases + (add-before 'configure 'fix-meson-file + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (substitute* "meson.build" + (("/usr/share/hwdata/pnp.ids") + (string-append (assoc-ref (or native-inputs inputs) + "hwdata") + "/share/hwdata/pnp.ids")))))))) + (native-inputs (list `(,hwdata "pnp") python)) + (synopsis "EDID and DisplayID library") + (description + "This package provides a library to read @acronym{EDID, Extended +Display Identification Data} and DisplayID metadata from display devices. It +has the following goals: + +@enumerate +@item +Provide a set of high-level, easy-to-use, opinionated functions +as well as low-level functions to access detailed information. +@item +Simplicity and correctness over performance and resource usage. +@item +Well-tested and fuzzed. +@end enumerate") + (license license:expat)))) + (define-public libucl (package (name "libucl") @@ -3001,7 +3195,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 @@ -3010,7 +3204,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)) @@ -3062,7 +3256,7 @@ session. Nor does it depend on any UI toolkits such as Qt or GTK.") linux-pam pango wayland - wlroots)) + wlroots-0.15)) (arguments `(#:tests? #f ; no tests #:make-flags @@ -3340,7 +3534,7 @@ Type=Application~%" (define-public avizo (package (name "avizo") - (version "1.2.1") + (version "1.3") (source (origin (method git-fetch) (uri (git-reference @@ -3349,7 +3543,7 @@ Type=Application~%" (file-name (git-file-name name version)) (sha256 (base32 - "0ddv5ssxfjbzhqskbbhi9qj1yqkraiv3r8svfmp9s5nnfpid8aba")))) + "01v1c9376pbjndyhj9r6f214kzhivl1m9pkl05sdkcj0v6n0wgsn")))) (build-system meson-build-system) (inputs (list gtk+)) (native-inputs @@ -3367,20 +3561,24 @@ used for multimedia keys.") (define-public grimshot (package - (inherit sway) (name "grimshot") + (version "1.9-contrib.0") (source (origin - (inherit (package-source sway)) - (snippet #~(delete-file "contrib/grimshot.1")))) + (method git-fetch) + (uri (git-reference + (url "https://github.com/OctopusET/sway-contrib") + (commit version))) + (file-name (git-file-name name version)) + (snippet #~(delete-file "grimshot.1")) + (sha256 + (base32 + "16fa8l81zjy25nsky1i525hb7zjprqz74mbirm9b76pvksschdv5")))) (build-system copy-build-system) (arguments (list #:install-plan #~`(("grimshot" "bin/") ("grimshot.1" "share/man/man1/")) #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'chdir - (lambda _ - (chdir "contrib"))) - (add-after 'chdir 'patch-script-dependencies + (add-after 'unpack 'patch-script-dependencies (lambda* (#:key inputs #:allow-other-keys) (substitute* "grimshot" (("\\b(date|grim|jq|notify-send|slurp|swaymsg|wl-copy)\\b" @@ -3402,11 +3600,13 @@ used for multimedia keys.") slurp sway wl-clipboard)) + (home-page "https://github.com/OctopusET/sway-contrib") (synopsis "Screenshot utility for the Sway window manager") (description "Grimshot is a screenshot utility for @code{sway}. It provides an interface over @code{grim}, @code{slurp} and @code{jq}, and supports storing the screenshot either directly to the clipboard using @code{wl-copy} or to a -file."))) +file.") + (license license:expat))) (define-public wld (let ((commit "6586736176ef50a88025abae835e29a7ca980126") @@ -3518,3 +3718,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))) |