aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/xdisorg.scm
diff options
context:
space:
mode:
authorIgor Goryachev via Guix-patches via <guix-patches@gnu.org>2024-06-13 09:17:57 +0300
committerAndrew Tropin <andrew@trop.in>2024-06-20 16:26:38 +0400
commit8980618b2dce9a594524908475d144796096619c (patch)
tree9f55dd9ee684b23502d35260ddaf5309ac3d2bdc /gnu/packages/xdisorg.scm
parent8690f678f3f9c096db68421f1670b0d7d27ed3d0 (diff)
downloadguix-8980618b2dce9a594524908475d144796096619c.tar.gz
guix-8980618b2dce9a594524908475d144796096619c.zip
gnu: Add xxkb.
* gnu/packages/xdisorg.scm (xxkb): New variable. Change-Id: Ibf7ff3394438490045c1821b9f9e417adc8d5e0b Signed-off-by: Andrew Tropin <andrew@trop.in>
Diffstat (limited to 'gnu/packages/xdisorg.scm')
-rw-r--r--gnu/packages/xdisorg.scm48
1 files changed, 48 insertions, 0 deletions
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index bd58269e72..9e1e9fbc6f 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -62,6 +62,7 @@
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2022 Mehmet Tekman <mtekman89@gmail.com>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
+;;; Copyright © 2024 Igor Goryachev <igor@goryachev.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3804,3 +3805,50 @@ on the screen and which then writes out the necessary C code for it.")
and works under both Xorg and Wayland (via @code{libinput}), inspired by
@code{python-screenkey}.")
(license license:asl2.0)))
+
+(define-public xxkb
+ (package
+ (name "xxkb")
+ (version "1.11.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/xxkb/"
+ name "-" version "-src.tar.gz"))
+ (sha256
+ (base32
+ "0hl1i38z9xnbgfjkaz04vv1n8xbgfg88g5z8fyzyb2hxv2z37anf"))))
+ (build-system gnu-build-system)
+ (inputs (list libx11
+ libxext
+ libxt
+ libxpm))
+ (native-inputs
+ (list imake))
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((imake (assoc-ref inputs "imake"))
+ (out (assoc-ref outputs "out")))
+ (invoke "xmkmf")
+ (substitute* "Makefile"
+ ((imake) out)
+ (("(MANPATH = )[[:graph:]]*" _ front)
+ (string-append front out "/share/man"))
+ (("XAPPLOADDIR = /etc/X11/app-defaults")
+ (string-append "XAPPLOADDIR = " out "/lib/X11/app-defaults"))
+ (("ETCX11DIR = /etc/X11")
+ (string-append "ETCX11DIR = " out "/etc/X11")))
+ #t))))))
+ (home-page "https://xxkb.sourceforge.net/")
+ (synopsis "Keyboard layout indicator and switcher")
+ (description
+ "The xxkb program is a keyboard layout switcher and indicator. Unlike
+the programs that reload keyboard maps and use their own hot-keys, xxkb is
+a simple GUI for XKB (X KeyBoard extension) and just sends commands to and
+accepts events from XKB. That means that it will work with the existing
+setup of your X Server without any modifications.")
+ (license license:artistic2.0)))