From 9534c8c0cae16252353efaca4a6a4db28927e005 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Sat, 22 Oct 2022 00:40:27 -0400 Subject: [PATCH] gnu: Add snixembed. * gnu/packages/freedesktop.scm (snixembed): New variable. --- gnu/packages/freedesktop.scm | 45 +++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 07ccf9f8f2..7f9b9f932b 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -26,7 +26,7 @@ ;;; Copyright © 2021 Sarah Morgensen ;;; Copyright © 2021 Robby Zambito ;;; Copyright © 2021, 2022 Maxime Devos -;;; Copyright © 2021 John Kehayias +;;; Copyright © 2021, 2022 John Kehayias ;;; Copyright © 2021, 2021, 2022 Maxim Cournoyer ;;; Copyright © 2022 Daniel Meißner ;;; Copyright © 2022 muradm @@ -2385,6 +2385,49 @@ (define-public libappindicator fallback to generic Systray support if none of those are available.") (license license:lgpl2.1+)))) +(define-public snixembed + (package + (name "snixembed") + (version "0.3.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~steef/snixembed/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "14fkgxww4qbsxyqj9h3yqpdqsdz9r6015c9graas50r5b5ggd3bj")) + (modules '((guix build utils))))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ;no tests + #:make-flags #~(list "CC=gcc" + (string-append "PREFIX=" + #$output)) + #:phases #~(modify-phases %standard-phases + (delete 'configure)))) ;no configure + (inputs (list gtk+ libdbusmenu)) + (native-inputs (list pkg-config vala)) + (synopsis "Proxy StatusNotifierItems as XEmbedded systemtray-spec icons") + (home-page "https://git.sr.ht/~steef/snixembed") + (description + "Snixembed is a program to proxy StatusNotifierItems as +XEmbedded systemtray-spec icons. This allows programs that only support the +newer StatusNotifierItem to have the older XEmbedded systemtray support. +While snixembed works fine with most setups, some bars and DEs provide their +own optional SNI support, which should be preferred when available. + +Currently supported: +@itemize +@item icons (by pixmap and by freedesktop name) +@item activation on left mouse button +@item context menu on right mouse button (Menu dbusmenu or ContextMenu) +@item tooltips (on hover, all markup except hyperlinks) +@item limited AppIndicator support as a fallback +@end itemize") + (license license:isc))) + (define-public libportal (package (name "libportal") -- 2.38.0