diff mbox series

[bug#58707] gnu: Add snixembed.

Message ID 875ygcbh0v.fsf@protonmail.com
State New
Headers show
Series [bug#58707] gnu: Add snixembed. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch success
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

John Kehayias Oct. 22, 2022, 4:48 a.m. UTC
Hi guix-ers,

Here's a quick patch to add snixembed, a little utility to allow fallback older systemtray support for some newer programs that only have StatusNotifierItem support. I've used guix style (though I usually do a little more vertical space over horizontal on origin and had make-flags as one line) and lint, checked the license, built, and successfully used the program.

Thanks!
John

Comments

Ludovic Courtès Nov. 14, 2022, 11:28 a.m. UTC | #1
Hi John,

John Kehayias <john.kehayias@protonmail.com> skribis:

> From 9534c8c0cae16252353efaca4a6a4db28927e005 Mon Sep 17 00:00:00 2001
> From: John Kehayias <john.kehayias@protonmail.com>
> Date: Sat, 22 Oct 2022 00:40:27 -0400
> Subject: [PATCH] gnu: Add snixembed.
>
> * gnu/packages/freedesktop.scm (snixembed): New variable.

Applied, thanks!
diff mbox series

Patch

From 9534c8c0cae16252353efaca4a6a4db28927e005 Mon Sep 17 00:00:00 2001
From: John Kehayias <john.kehayias@protonmail.com>
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 <iskarian@mgsn.dev>
 ;;; Copyright © 2021 Robby Zambito <contact@robbyzambito.me>
 ;;; Copyright © 2021, 2022 Maxime Devos <maximedevos@telenet.be>
-;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
+;;; Copyright © 2021, 2022 John Kehayias <john.kehayias@protonmail.com>
 ;;; Copyright © 2021, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2022 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
 ;;; Copyright © 2022 muradm <mail@muradm.net>
@@ -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