summary refs log tree commit diff
path: root/gnu/packages/xdisorg.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/xdisorg.scm')
-rw-r--r--gnu/packages/xdisorg.scm90
1 files changed, 88 insertions, 2 deletions
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index fe28585dd5..97fc921436 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -47,6 +47,8 @@
 ;;; Copyright © 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
 ;;; Copyright © 2021 Renzo Poddighe <renzo@poddighe.nl>
+;;; Copyright © 2021 Paul A. Patience <paul@apatience.com>
+;;; Copyright © 2021 Niklas Eklund <niklas.eklund@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -319,7 +321,7 @@ with X11 or Wayland, or in a text terminal with ncurses.")
    `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release")
      #:tests? #f)) ; Test suite is a rather manual process.
   (inputs
-   `(("qtbase" ,qtbase)
+   `(("qtbase" ,qtbase-5)
      ("qtscript" ,qtscript)
      ("qtsvg" ,qtsvg)
      ("qtx11extras" ,qtx11extras)))
@@ -359,6 +361,33 @@ high-level and flexible remapping mechanisms.  It affects the low-level
 layers (evdev and uinput), making remapping work in almost all the places.")
     (license license:gpl3+)))           ; see README.md (no licence headers)
 
+(define-public xkb-switch
+  (package
+    (name "xkb-switch")
+    (version "1.8.5")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/grwlf/xkb-switch")
+         (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1sd6ihgsswp6hjm1i4y092n4gl3gj0bc22grz4n7iy43mwphi40d"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f))                    ;no test target
+    (inputs
+     `(("libx11" ,libx11)
+       ("libxkbfile" ,libxkbfile)))
+    (home-page "https://github.com/grwlf/xkb-switch")
+    (synopsis "Switch your X keyboard layouts from the command line")
+    (description
+     "xkb-switch is a C++ program that queries and changes the XKB layout
+state.")
+    (license license:gpl3+)))
+
 (define-public xclip
   (package
     (name "xclip")
@@ -2485,10 +2514,13 @@ Xwrits hides itself until you should take another break.")
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
-                    (bin (string-append out "/bin")))
+                    (bin (string-append out "/bin"))
+                    (man (string-append out "/share/man/man1")))
                (mkdir-p bin)
                (install-file "xsettingsd" bin)
                (install-file "dump_xsettings" bin)
+               (install-file "xsettingsd.1" man)
+               (install-file "dump_xsettings.1" man)
                #t))))))
     (home-page "https://github.com/derat/xsettingsd")
     (synopsis "Xorg settings daemon")
@@ -2875,3 +2907,57 @@ Pressing the key again will cycle to the application's next window,
 if there's more than one.")
     (home-page "https://github.com/mkropat/jumpapp")
     (license license:expat)))
+
+(define-public xkbset
+  (package
+    (name "xkbset")
+    (version "0.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://faculty.missouri.edu/~stephen/software/"
+                           name "/" name "-" version ".tar.gz"))
+       (sha256
+        (base32 "199mlm127zk1lr8nrq22n68l2l8cjwc4cgwd67rg1i6497n2y0xc"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("libx11" ,libx11)
+       ("perl" ,perl)
+       ("perl-tk" ,perl-tk)))
+    (arguments
+     `(#:tests? #f                      ; There are none.
+       #:make-flags
+       `(,,(string-append "CC=" (cc-for-target))
+         ,(string-append "X11PREFIX=" %output)
+         ,(string-append "X11BASE=" (assoc-ref %build-inputs "libx11"))
+         ,(string-append "INSTALL_MAN1=" %output "/share/man/man1"))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (add-before 'install 'create-install-directories
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (mkdir-p out)
+               (with-directory-excursion out
+                 (for-each mkdir-p '("bin" "share/man/man1"))))
+             #t))
+         (add-after 'install 'wrap-perl-script
+           (lambda* (#:key outputs #:allow-other-keys)
+             (wrap-program (string-append (assoc-ref outputs "out")
+                                          "/bin/xkbset-gui")
+               `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
+             #t))
+         (replace 'install-license-files
+           (lambda* (#:key outputs #:allow-other-keys)
+             (install-file "COPYRIGHT"
+                           (string-append (assoc-ref outputs "out")
+                                          "/share/doc/" ,name "-" ,version))
+             #t)))))
+    (home-page "https://faculty.missouri.edu/~stephen/software/")
+    (synopsis "User-preference utility for XKB extensions for X")
+    (description
+     "This is a program to help manage many of the XKB features of the X Window
+System.  This includes such features as MouseKeys, AccessX, StickyKeys,
+BounceKeys, and SlowKeys.  It includes a graphical program to help with
+MouseKeys-acceleration management.")
+    (license license:bsd-3)))