;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2015, 2016 Alex Kost <alezost@gmail.com>
-;;; Copyright © 2013, 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2015, 2017, 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2015 Alexander I.Grafov <grafov@gmail.com>
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2015 xd1le <elisp.vim@gmail.com>
;;; Copyright © 2015 Florian Paul Schmidt <mista.tapas@gmx.net>
-;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
+;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016, 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016 Petter <petter@mykolab.ch>
;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz>
;;; Copyright © 2019 Kyle Andrews <kyle.c.andrews@gmail.com>
;;; Copyright © 2019, 2020 Josh Holland <josh@inv.alid.pw>
-;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
+;;; Copyright © 2019, 2021 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020 David Wilson <david@daviwil.com>
;;; Copyright © 2020 Ivan Vilata i Balaguer <ivan@selidor.net>
-;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Damien Cassou <damien@cassou.me>
;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
;;; Copyright © 2020 Boris A. Dekshteyn <boris.dekshteyn@gmail.com>
;;; Copyright © 2020 James Smith <jsubuntuxp@disroot.org>
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
;;; Copyright © 2020, 2021 Zheng Junjie <873216071@qq.com>
-;;; Copyright © 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021, 2022 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>
+;;; Copyright © 2021 Nikita Domnitskii <nikita@domnitskii.me>
+;;; Copyright © 2021 ikasero <ahmed@ikasero.com>
+;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2021 jgart <jgart@dismail.de>
+;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
+;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
(define-module (gnu packages xdisorg)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system scons)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix hg-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
+ #:use-module (gnu packages libbsd)
+ #:use-module (gnu packages libevent)
#:use-module (gnu packages linux)
#:use-module (gnu packages m4)
#:use-module (gnu packages man)
#:use-module (gnu packages qt)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages tcl)
+ #:use-module (gnu packages terminals)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages)
(base32 "0f5070k2bwarghl1vq886pl52xck1x5p7x3qhlfchsc2y3dcqms9"))))
(build-system gnu-build-system)
(inputs
- `(("libxcb" ,libxcb)
- ("xcb-util" ,xcb-util)
- ("xcb-util-wm" ,xcb-util-wm)))
+ (list libxcb xcb-util xcb-util-wm))
(arguments
`(#:tests? #f ;no test suite
#:make-flags (list (string-append "CC=" ,(cc-for-target))
(base32 "0msw9b1hdy3gbq9w5d04mfizhyirz1c648x84mlcbzl8salm7vpg"))))
(build-system python-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
- `(("xrandr" ,xrandr)
- ("libxcb" ,libxcb)))
+ (list xrandr libxcb))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((xrandr (string-append (assoc-ref inputs "xrandr")
- "/bin/xrandr")))
+ (let ((xrandr (search-input-file inputs "/bin/xrandr")))
(substitute* "contrib/etc/xdg/autostart/autorandr.desktop"
(("/usr") (assoc-ref outputs "out")))
(substitute* "autorandr.py"
(define-public bemenu
(package
(name "bemenu")
- (version "0.4.1")
+ (version "0.6.4")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1fjcs9d3533ay3nz79cx3c0lmy2chgragr2lhsy0xl2ckr0iins0"))))
+ (base32 "18vplvnymgc6576sdh84lm5rlwyb9d038plqpjs638hzskf4q577"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
- (delete 'configure))))
+ (delete 'configure)))) ; no configure script
(inputs
`(("cairo" ,cairo)
("libx11" ,libx11)
("wayland" ,wayland)
("wayland-protocols" ,wayland-protocols)))
(native-inputs
- `(("doxygen" ,doxygen)
- ("pkg-config" ,pkg-config)))
+ (list doxygen pkg-config))
(home-page "https://github.com/Cloudef/bemenu")
(synopsis "Dynamic menu library and client program inspired by dmenu")
(description
`(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release")
#:tests? #f)) ; Test suite is a rather manual process.
(inputs
- `(("qtbase" ,qtbase)
- ("qtscript" ,qtscript)
- ("qtsvg" ,qtsvg)
- ("qtx11extras" ,qtx11extras)))
+ (list qtbase-5 qtscript qtsvg qtx11extras))
(synopsis "Clipboard manager with advanced features")
(description "CopyQ is clipboard manager with editing and scripting
features. CopyQ monitors system clipboard and saves its content in customized
(arguments
`(#:tests? #f)) ;tests need /dev/uinput
(inputs
- `(("python-appdirs" ,python-appdirs)
- ("python-evdev" ,python-evdev)
- ("python-inotify-simple" ,python-inotify-simple)
- ("python-xlib" ,python-xlib)
- ("python-six" ,python-six)))
+ (list python-appdirs python-evdev python-inotify-simple python-xlib
+ python-six))
(home-page "https://github.com/mooz/xkeysnail")
(synopsis "Keyboard remapping tool for the X11 environment")
(description
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
+ (list libx11 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 xkblayout
+ ;; Upstream doesn't have any version numbers
+ (let ((version "0.0.0")
+ (revision "0")
+ (commit "c0851b0f4bc9bc1a07240605baac8e50abe63fa8"))
+ (package
+ (name "xkblayout")
+ (version (git-version version revision commit))
+ (home-page "https://gitlab.freedesktop.org/whot/xkblayout")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0057988l5l7pmwg7dp6cqvj5l4lr0g5z3wq189g6kz36l9rmh675"))))
+ (build-system python-build-system)
+ (synopsis "XKB layout template generator")
+ (description "xkblayout is a CLI application to generate templates for
+a new XKB layout, either in the user's home directory or the system directory.")
+ (license license:gpl3+))))
+
(define-public xclip
(package
(name "xclip")
(arguments
'(#:tests? #f)) ;there is no test suite
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)))
- (inputs `(("libxmu" ,libxmu)
- ("libxt" ,libxt)))
+ (list autoconf automake))
+ (inputs (list libxmu libxt))
(home-page "https://github.com/astrand/xclip")
(synopsis "Command line interface to X11 clipboard")
(description "Xclip is a command line interface to the X11 clipboard. It
(define-public libxkbcommon
(package
(name "libxkbcommon")
- (version "1.0.3")
+ (version "1.3.0")
(source (origin
(method url-fetch)
(uri (string-append "https://xkbcommon.org/download/libxkbcommon-"
version ".tar.xz"))
(sha256
(base32
- "0lmwglj16anhpaq0h830xsl1ivknv75i4lir9bk88aq73s2jy852"))))
+ "0ysynzzgzd9jdrh1321r4bgw8wd5zljrlyn5y1a31g39xacf02bv"))))
(build-system meson-build-system)
(inputs
- `(("libx11" ,libx11)
- ("libxcb" ,libxcb)
- ("libxml2" ,libxml2)
- ("wayland" ,wayland)
- ("wayland-protocols" ,wayland-protocols)
- ("xkeyboard-config" ,xkeyboard-config)))
+ (list libx11
+ libxcb
+ libxml2
+ wayland
+ wayland-protocols
+ xkeyboard-config))
(native-inputs
- `(("bison" ,bison)
- ("doxygen" ,doxygen)
- ("pkg-config" ,pkg-config)))
+ (list bison doxygen pkg-config python))
(arguments
`(#:configure-flags
(list (string-append "-Dxkb-config-root="
(lambda _
(invoke "autoreconf" "-vfi"))))))
(native-inputs
- `(("pkg-config" ,pkg-config)
-
- ;; For bootstrapping from git.
- ("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)))
+ (list pkg-config
+ ;; For bootstrapping from git.
+ autoconf automake libtool))
(inputs
- `(("libxtst" ,libxtst)
- ("libx11" ,libx11)))
+ (list libxtst libx11))
(home-page "https://www.yoctoproject.org/tools-resources/projects/matchbox")
(synopsis "X virtual keyboard library")
(description
(define-public xdotool
(package
(name "xdotool")
- (version "3.20160805.1")
+ (version "3.20211022.1")
(source
(origin
(method url-fetch)
version "/xdotool-" version ".tar.gz"))
(sha256
(base32
- "1a6c1zr86zb53352yxv104l76l8x21gfl2bgw6h21iphxpv5zgim"))))
+ "1nlsbwsdsgys607f00sc8xgb7l7cdzsb14avsg5fly3dvv7zmw4n"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; Test suite requires a lot of black magic
(setenv "LDFLAGS" (string-append "-Wl,-rpath=" out "/lib"))
(setenv "CC" "gcc")
#t))))))
- (native-inputs `(("perl" ,perl))) ; for pod2man
- (inputs `(("libx11" ,libx11)
- ("libxext" ,libxext)
- ("libxi" ,libxi)
- ("libxinerama" ,libxinerama)
- ("libxtst" ,libxtst)
- ("libxkbcommon" ,libxkbcommon)))
+ (native-inputs (list perl)) ; for pod2man
+ (inputs (list libx11
+ libxext
+ libxi
+ libxinerama
+ libxtst
+ libxkbcommon))
(home-page "https://www.semicomplete.com/projects/xdotool/")
(synopsis "Fake keyboard/mouse input, window management, and more")
(description "Xdotool lets you simulate keyboard input and mouse activity,
between desktops, and change the number of desktops.")
(license license:bsd-3)))
+(define-public xdo
+ (package
+ (name "xdo")
+ (version "0.5.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/baskerville/xdo")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1h3jrygcjjbavdbkpx2hscsf0yf97gk487lzjdlvymd7dxdv9hy9"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:make-flags
+ (list (string-append "CC=" ,(cc-for-target))
+ (string-append "PREFIX=" %output))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (inputs
+ (list libxcb xcb-util-wm xcb-util))
+ (home-page "https://github.com/baskerville/xdo")
+ (synopsis "Small X utility to perform elementary actions on windows")
+ (description
+ "Apply the given action to the given windows. If no window IDs and no
+options are given, the action applies to the focused window.")
+ (license license:bsd-2)))
+
(define-public xeyes
(package
(name "xeyes")
(base32 "0lq5j7fryx1wn998jq6h3icz1h6pqrsbs3adskjzjyhn5l6yrg2p"))))
(build-system gnu-build-system)
(inputs
- `(("libxext" ,libxext)
- ("libxmu" ,libxmu)
- ("libxrender" ,libxrender)
- ("libxt" ,libxt)))
+ (list libxext libxmu libxrender libxt))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(home-page "https://www.x.org/") ; no dedicated Xeyes page exists
(synopsis "Follow-the-mouse X demo")
(description "Xeyes is a demo program for x.org. It shows eyes
(define-public pixman
(package
(name "pixman")
- (version "0.38.4")
+ (version "0.40.0")
(source
(origin
(method url-fetch)
"https://www.cairographics.org/releases/pixman-"
version ".tar.gz"))
(sha256
- (base32 "1ryxzdf048x7wsx4dlvrr1p00gzwfs7lybnhgc7ygbj0dvyxcrns"))
+ (base32 "1z13n96m7x91j25qq9wlkxsbq04wfwjhw66ir17frna06zn0s83d"))
(patches
(search-patches
"pixman-CVE-2016-5296.patch"))))
(build-system gnu-build-system)
(arguments
- '(#:configure-flags '("--disable-static")))
+ `(#:configure-flags
+ (list
+ "--disable-static"
+ "--enable-timers"
+ "--enable-gnuplot")))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
- `(("libpng" ,libpng)
- ("zlib" ,zlib)))
+ (list libpng zlib))
(synopsis "Low-level pixel manipulation library")
(description "Pixman is a low-level software library for pixel
manipulation, providing features such as image compositing and trapezoid
rasterisation.")
(home-page "http://www.pixman.org/")
- (license license:x11)))
+ (license license:expat)))
(define-public libdrm
(package
(name "libdrm")
- (version "2.4.103")
+ (version "2.4.107")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.xz"))
(sha256
(base32
- "08h2nnf4w96b4ql7485mvjgbbsb8rwc0qa93fdm1cq34pbyszq1z"))))
+ "127qf1rzhaf13vdd75a58v5q34617hvangjlfnlkcdh37gqcwm65"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
#:phases (modify-phases %standard-phases
(replace 'check
- (lambda _
- (invoke "meson" "test" "--timeout-multiplier" "5"))))))
- (inputs
- `(("libpciaccess" ,libpciaccess)))
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "meson" "test" "--timeout-multiplier" "5")))))))
+ (propagated-inputs
+ (list libpciaccess))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(home-page "https://dri.freedesktop.org/wiki/")
(synopsis "Direct rendering userspace library")
(description "The Direct Rendering Infrastructure, also known as the DRI,
(base32
"0jmyryrpqb35y9hd5sgxqy2z0r1snw7d3ljw0jak0n0cjdz1yf9w"))))
(build-system gnu-build-system)
- (native-inputs `(("pkg-config" ,pkg-config)))
+ (native-inputs (list pkg-config))
(inputs
- `(("libx11" ,libx11)
- ("xcb-util" ,xcb-util)))
+ (list libx11 xcb-util))
(home-page "https://www.freedesktop.org/wiki/Software/startup-notification/")
(synopsis "Application startup notification and feedback library")
(description
(assoc-ref %outputs "out")
"/share/man"))))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
- `(("libx11" ,libx11)
- ("libxmu" ,libxmu)
- ("glib" ,glib)))
+ (list libx11 libxmu glib))
(home-page "http://tomas.styblo.name/wmctrl/")
(synopsis "Command-line tool to control X window managers")
(description
(define-public scrot
(package
(name "scrot")
- (version "1.5")
+ (version "1.7")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0x64b7xqi5cbq29pb8s8r2kzbxaday1f5k0j70n3s2p7sahjxy72"))))
+ (base32 "0rls08mpalx4xp5ysmg7m5lgx9q8g8m8q40m47f11mqa84z88nd1"))))
(build-system gnu-build-system)
(native-inputs
- `(("autoconf" ,autoconf)
- ("autoconf-archive" ,autoconf-archive)
- ("automake" ,automake)))
+ (list autoconf autoconf-archive automake pkg-config))
(inputs
- `(("giblib" ,giblib)
- ("libx11" ,libx11)
- ("libxcomposite" ,libxcomposite)
- ("libxext" ,libxext)
- ("libXfixes" ,libxfixes)))
+ (list giblib
+ imlib2
+ libbsd
+ libx11
+ libxcomposite
+ libxext
+ libxfixes))
(home-page "https://github.com/resurrecting-open-source-projects/scrot")
(synopsis "Command-line screen capture utility for X Window System")
(description
(define-public slop
(package
(name "slop")
- (version "7.5")
+ (version "7.6")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1k8xxb4rj2fylr4vj16yvsf73cyywliz9cy78pl4ibmi03jhg837"))))
+ "1xaka98vka5kh3wmby68ifwi6rp0985dj13fgs96bw8a1z3m1l1d"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; no "check" target
(inputs
- `(("glew" ,glew)
- ("glm" ,glm)
- ("icu4c" ,icu4c)
- ("libxext" ,libxext)
- ("libxrender" ,libxrender)
- ("mesa" ,mesa)))
+ (list glew
+ glm
+ icu4c
+ libxext
+ libxrender
+ mesa))
(home-page "https://github.com/naelstrof/slop")
(synopsis "Select a region and print its bounds to stdout")
(description
(invoke "make" "install" "install.man"
(string-append "BINDIR=" bin)
(string-append "MANDIR=" man1))))))))
- (inputs `(("libx11" ,libx11)))
+ (inputs (list libx11))
(home-page "http://ftp.x.org/contrib/utilities/")
(synopsis "Hide idle mouse cursor")
(description
things less distracting.")
(license license:public-domain)))
+(define-public unclutter-xfixes
+ (package
+ (name "unclutter-xfixes")
+ (version "1.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Airblader/unclutter-xfixes")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "148m4wx8v57s3l2wb69y9imb00y8ca2li27hsxibwnl1wrkb7z4b"))))
+ (build-system gnu-build-system)
+ (arguments `(#:tests? #f
+ #:make-flags
+ (list ,(string-append "CC=" (cc-for-target))
+ (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (inputs
+ (list libx11 libev libxfixes libxi))
+ (native-inputs
+ (list asciidoc pkg-config))
+ (home-page "https://github.com/Airblader/unclutter-xfixes")
+ (synopsis "Hide idle mouse cursor")
+ (description
+ "unclutter-xfixes is a rewrite of the popular tool unclutter, but
+using the x11-xfixes extension. This means that this rewrite doesn't
+use fake windows or pointer grabbing and hence causes less problems
+with window managers and/or applications.
+
+Unclutter is a program which runs permanently in the background of an
+X11 session. It checks on the X11 pointer (cursor) position every few
+seconds, and when it finds it has not moved (and no buttons are pressed
+on the mouse, and the cursor is not in the root window) it creates a
+small sub-window as a child of the window the cursor is in. The new
+window installs a cursor of size 1x1 but a mask of all 0, i.e. an
+invisible cursor. This allows you to see all the text in an xterm or
+xedit, for example. The human factors crowd would agree it should make
+things less distracting.")
+ (license license:expat)))
+
(define-public xautomation
(package
(name "xautomation")
"03azv5wpg65h40ip2kk1kdh58vix4vy1r9bihgsq59jx2rhjr3zf"))))
(build-system gnu-build-system)
(inputs
- `(("libpng" ,libpng)
- ("libx11" ,libx11)
- ("libxi" ,libxi)
- ("libxtst" ,libxtst)))
+ (list libpng libx11 libxi libxtst))
(native-inputs
- `(("xorgproto" ,xorgproto)))
+ (list xorgproto))
(synopsis "Tools to automate tasks in X such as detecting on screen images")
(description
"Xautomation can control X from the command line for scripts, and
(define-public xbanish
(package
(name "xbanish")
- (version "1.7")
+ (version "1.8")
(home-page "https://github.com/jcs/xbanish")
(source (origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "0ic5f7zgc32p5g1wxas9y5h8dhik0pvsa8wmn6skdry56gw9vg9q"))))
+ "12mjwn8hvrrhwyg3wi20bqr6k8d57xf9m5qr3s4nn511dcksh04g"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
#:phases (modify-phases %standard-phases
(delete 'configure)))) ; no configure script
(inputs
- `(("libx11" ,libx11)
- ("libxfixes" ,libxfixes)
- ("libxi" ,libxi)
- ("libxt" ,libxt)))
+ (list libx11 libxfixes libxi libxt))
(synopsis "Banish the mouse cursor")
(description
"@command{xbanish} hides the mouse cursor when you start typing, and
(define-public xlockmore
(package
(name "xlockmore")
- (version "5.66")
+ (version "5.68")
(source (origin
- (method url-fetch)
- (uri (list (string-append "http://sillycycle.com/xlock/"
- "xlockmore-" version ".tar.xz")
- ;; Previous releases are moved to a subdirectory.
- (string-append "http://sillycycle.com/xlock/"
- "recent-releases/"
- "xlockmore-" version ".tar.xz")))
- (sha256
- (base32
- "0wdb7gpyjw3sigmhiplgg1bqxz6wipr0c3n9492x2a18cv1saxjr"))))
+ (method url-fetch)
+ (uri (list (string-append "http://sillycycle.com/xlock/"
+ "xlockmore-" version ".tar.xz")
+ ;; Previous releases are moved to a subdirectory.
+ (string-append "http://sillycycle.com/xlock/"
+ "recent-releases/"
+ "xlockmore-" version ".tar.xz")))
+ (sha256
+ (base32
+ "0vndfwccnvkaaraprjam8pmx0aj55va0ag64q6snxw83nbf1ywrh"))))
(build-system gnu-build-system)
(arguments
- '(#:configure-flags (list (string-append "--enable-appdefaultdir="
- (assoc-ref %outputs "out")
- "/lib/X11/app-defaults"))
- #:tests? #f)) ;no such thing as a test suite
+ (list
+ #:configure-flags
+ #~(list (string-append "--enable-appdefaultdir="
+ #$output
+ "/lib/X11/app-defaults"))
+ #:tests? #f)) ;no such thing as a test suite
(inputs
- `(("libX11" ,libx11)
- ("libXext" ,libxext)
- ("libXt" ,libxt)
- ("linux-pam" ,linux-pam)))
+ (list libx11 libxext libxt linux-pam))
(home-page "https://sillycycle.com/xlockmore.html")
(synopsis "Screen locker for the X Window System")
(description
'(#:configure-flags
(list (string-append "--mandir=" %output "/share/man"))))
(inputs
- `(("libx11" ,libx11)
- ("libxt" ,libxt)
- ("libxext" ,libxext)
- ("libxinerama" ,libxinerama)))
+ (list libx11 libxt libxext libxinerama))
(home-page "https://sourceforge.net/projects/libxosd/")
(synopsis "X On Screen Display")
(description
(define-public wob
(package
(name "wob")
- (version "0.11")
+ (version "0.13")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/francma/wob/releases/download/"
version "/wob-" version ".tar.gz"))
(sha256
- (base32 "1vgngcg8wxn6zfg34czn9w55ia0zmhlgnpzf0gh31dc72li9353k"))))
+ (base32 "0i8y6kq37qcgdq85ll4rapisjl7zw6aa11yx2f2xw2d3j93kdxh8"))))
(build-system meson-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("scdoc" ,scdoc)))
+ (list pkg-config scdoc))
(inputs
- `(("libseccomp" ,libseccomp)
- ("wayland" ,wayland)
- ("wayland-protocols" ,wayland-protocols)))
+ (list libseccomp wayland wayland-protocols))
(home-page "https://github.com/francma/wob")
(synopsis "Lightweight overlay bar for Wayland")
(description
(format #f "\"~a/bin/~a\"" out command)))
#t))))))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
- `(("guile" ,guile-2.2)
- ("libx11" ,libx11)
- ("tk" ,tk)))
+ (list guile-2.2 libx11 tk))
(home-page "https://www.nongnu.org/xbindkeys/")
(synopsis "Associate a combination of keys with a shell command")
(description
(base32 "1winwzdy9yxvxnrv8gqpigl9y0c2px27mnms62bdilp4x6llrs9r"))))
(build-system gnu-build-system)
(inputs
- `(("asciidoc" ,asciidoc)
- ("libxcb" ,libxcb)
- ("xcb-util" ,xcb-util)
- ("xcb-util-keysyms" ,xcb-util-keysyms)
- ("xcb-util-wm" ,xcb-util-wm)))
+ (list asciidoc libxcb xcb-util xcb-util-keysyms xcb-util-wm))
(arguments
`(#:phases (modify-phases %standard-phases (delete 'configure))
#:tests? #f ; no check target
(define-public rxvt-unicode
(package
(name "rxvt-unicode")
- (version "9.22")
+ (version "9.30")
(source (origin
(method url-fetch)
(uri (string-append "http://dist.schmorp.de/rxvt-unicode/Attic/"
name "-" version ".tar.bz2"))
- (patches (search-patches "rxvt-unicode-escape-sequences.patch"))
(sha256
(base32
- "1pddjn5ynblwfrdmskylrsxb9vfnk3w4jdnq2l8xn2pspkljhip9"))))
+ "0badnkjsn3zps24r5iggj8k5v4f00npc77wqg92pcn1q5z8r677y"))))
(build-system gnu-build-system)
(arguments
;; This sets the destination when installing the necessary terminal
TryExec=~@*~a/bin/urxvt~@
Icon=~@
Type=Application~%"
- output)))
- #t)))
+ output))))))
(add-after 'install 'install-desktop-urxvtc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((output (assoc-ref outputs "out"))
TryExec=~@*~a/bin/urxvtc~@
Icon=~@
Type=Application~%"
- output)))
- #t))))))
+ output)))))))))
(inputs
- `(("libXft" ,libxft)
- ("libX11" ,libx11)))
+ `(("libptytty" ,libptytty)
+ ("libXft" ,libxft)
+ ("libX11" ,libx11)
+ ("libXt" ,libxt)))
(native-inputs
- `(("ncurses" ,ncurses) ;trigger the installation of terminfo data
- ("perl" ,perl)
- ("pkg-config" ,pkg-config)))
+ (list ncurses ;trigger the installation of terminfo data
+ perl pkg-config))
;; FIXME: This should only be located in 'ncurses'. Nonetheless it is
;; provided for usability reasons. See <https://bugs.gnu.org/22138>.
(native-search-paths
"MANDIR=/share/man/man1"
,(string-append "CC=" (cc-for-target)))))
(inputs
- `(("libxtst" ,libxtst)
- ("libx11" ,libx11)))
+ (list libxtst libx11))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(home-page "https://github.com/alols/xcape")
(synopsis "Use a modifier key in X.org as another key")
(description
(define-public libwacom
(package
(name "libwacom")
- (version "1.7")
+ (version "1.10")
(source (origin
(method url-fetch)
(uri (string-append
"libwacom-" version "/libwacom-" version ".tar.bz2"))
(sha256
(base32
- "0797gc055dgg2jfqijy9823bd83jwr4wb2z9id992qlcr0xmz1rw"))))
+ "14aj4ss1chxxgaprs9sfriia2ch9wj9rqay0ndkzk1m7jx2qrjgn"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags '("--disable-static")))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ;; For tests.
- ("python" ,python)))
+ (list pkg-config
+ ;; For tests.
+ python))
(inputs
- `(("gtk+" ,gtk+)
- ("libgudev" ,libgudev)
- ("eudev" ,eudev)
- ("libxml2" ,libxml2)))
+ (list gtk+ libgudev eudev libxml2))
(propagated-inputs
;; libwacom includes header files that include GLib, and libinput uses
;; those header files.
- `(("glib" ,glib)))
+ (list glib))
(home-page "https://linuxwacom.github.io/")
(synopsis "Helper library for Wacom tablet settings")
(description
"/share/X11/xorg.conf.d"))))
(build-system gnu-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
- `(("xorg-server" ,xorg-server)
- ("libxrandr" ,libxrandr)
- ("libxinerama" ,libxinerama)
- ("libxi" ,libxi)
- ("eudev" ,eudev)))
+ (list xorg-server libxrandr libxinerama libxi eudev))
(home-page "https://linuxwacom.github.io/")
(synopsis "Wacom input driver for X")
(description
(add-after 'split-outputs 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((gtk (assoc-ref outputs "gtk"))
- (python-version
- (@ (guix build python-build-system) python-version))
- (python (assoc-ref inputs "python"))
- (sitedir (string-append gtk "/lib/python"
- (python-version python)
- "/site-packages")))
+ (site-packages (@ (guix build python-build-system)
+ site-packages))
+ (site (site-packages inputs outputs)))
(wrap-program (string-append gtk "/bin/redshift-gtk")
- `("PYTHONPATH" ":" prefix
- (,(string-append sitedir ":" (getenv "PYTHONPATH"))))
+ `("GUIX_PYTHONPATH" ":" prefix
+ (,(string-append site ":" (getenv "GUIX_PYTHONPATH"))))
`("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH"))))
#t))))))
(outputs '("out" "gtk"))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("intltool" ,intltool)))
+ (list pkg-config intltool))
(inputs
- `(("libdrm" ,libdrm)
- ("libx11" ,libx11)
- ("libxcb" ,libxcb)
- ("libxxf86vm" ,libxxf86vm)
- ("glib" ,glib) ;for Geoclue2 support
-
- ;; To build the GTK3 GUI, we need these.
- ("gtk+" ,gtk+)
- ("python" ,python)
- ("python-pygobject" ,python-pygobject)
- ("python-pyxdg" ,python-pyxdg)))
+ (list libdrm
+ libx11
+ libxcb
+ libxxf86vm
+ glib ;for Geoclue2 support
+ ;; To build the GTK3 GUI, we need these.
+ gtk+
+ python
+ python-pygobject
+ python-pyxdg))
(home-page "https://github.com/jonls/redshift")
(synopsis "Adjust the color temperature of your screen")
(description
(("^_") ""))
#t))))))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)
- ("intltool" ,intltool)))
+ (list autoconf automake libtool pkg-config intltool))
(inputs
- `(("libdrm" ,libdrm)
- ("libx11" ,libx11)
- ("libxcb" ,libxcb)
- ("libxxf86vm" ,libxxf86vm)
- ("glib" ,glib) ; for Geoclue2 support
- ("wayland" ,wayland)))
+ (list libdrm
+ libx11
+ libxcb
+ libxxf86vm
+ glib ; for Geoclue2 support
+ wayland))
(home-page "https://github.com/minus7/redshift")
(synopsis "Adjust the color temperature of your screen (with Wayland support)")
(description
(define-public gammastep
(package
(name "gammastep")
- (version "2.0.7")
+ (version "2.0.8")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "11j54rdd3cgngdhjwyapwjbrdm8cii4i7g4zdvfykvmb1w4zdk7g"))))
+ (base32 "071f3iqdbblb3awnx48j19kspk6l2g3658za80i2mf4gacgq9fm1"))))
(build-system gnu-build-system)
(arguments
`(#:phases
;; to Python libraries.
(wrap-program (string-append (assoc-ref outputs "out")
"/bin/gammastep-indicator")
- `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
+ `("PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH")))))))))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("gettext" ,gettext-minimal)
- ("intltool" ,intltool)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)))
+ (list autoconf
+ automake
+ gettext-minimal
+ intltool
+ libtool
+ pkg-config))
(inputs
- `(("glib" ,glib)
- ("gtk" ,gtk+)
- ("libappindicator" ,libappindicator)
- ("libdrm" ,libdrm)
- ("libX11" ,libx11)
- ("libxxf86vm" ,libxxf86vm)
- ("libxcb" ,libxcb)
- ("python" ,python)
- ("python-pygobject" ,python-pygobject)
- ("python-pyxdg" ,python-pyxdg)
- ("wayland" ,wayland)))
+ (list glib
+ gtk+
+ libappindicator
+ libdrm
+ libx11
+ libxxf86vm
+ libxcb
+ python
+ python-pygobject
+ python-pyxdg
+ wayland))
(home-page "https://gitlab.com/chinstrap/gammastep")
(synopsis "Adjust the color temperature of your screen")
(description
(assoc-ref %outputs "out")
"/lib/X11/app-defaults"))))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("intltool" ,intltool)))
+ (list pkg-config intltool))
(inputs
`(("libx11" ,libx11)
("libxext" ,libxext)
(delete 'configure)
(delete 'check))))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
- `(("glib" ,glib)
- ("libx11" ,libx11)
- ("libxext" ,libxext)
- ("libxscrnsaver" ,libxscrnsaver)
- ("dbus" ,dbus)))
+ (list glib libx11 libxext libxscrnsaver dbus))
(synopsis "Forward freedesktop.org Idle Inhibition Service calls to Xss")
(description "xssproxy implements the @code{org.freedesktop.ScreenSaver}
D-Bus interface described in the Idle Inhibition Service Draft by the
(license license:gpl3+)))
(define-public xsel
- (package
- (name "xsel")
- (version "1.2.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://www.vergenet.net/~conrad/software"
- "/xsel/download/xsel-" version ".tar.gz"))
- (sha256
- (base32
- "070lbcpw77j143jrbkh0y1v10ppn1jwmjf92800w7x42vh4cw9xr"))))
- (build-system gnu-build-system)
- (inputs
- `(("libxt" ,libxt)))
- (home-page "http://www.vergenet.net/~conrad/software/xsel/")
- (synopsis "Manipulate X selection")
- (description
- "XSel is a command-line program for getting and setting the contents of
+ ;; The 1.2.0 release no longer compiles with GCC 8 and upper, see:
+ ;; https://github.com/kfish/xsel/commit/d88aa9a8dba9228e6780d6bb5a5720a36f854918.
+ (let ((commit "062e6d373537c60829fa9b5dcddbcd942986b3c3")
+ (revision "1"))
+ (package
+ (name "xsel")
+ (version (git-version "1.2.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kfish/xsel")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0fbf80zsc22vcqp59r9fdx4icxhrkv7l3lphw83326jrmkzy6kri"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'bootstrap
+ (lambda _
+ (invoke "autoreconf" "-vfi"))))))
+ (native-inputs (list autoconf automake libtool))
+ (inputs
+ (list libxt))
+ (home-page "http://www.vergenet.net/~conrad/software/xsel/")
+ (synopsis "Manipulate X selection")
+ (description
+ "XSel is a command-line program for getting and setting the contents of
the X selection. Normally this is only accessible by manually highlighting
information and pasting it with the middle mouse button.
XSel reads from standard input and writes to standard output by default,
but can also follow a growing file, display contents, delete entries and more.")
- (license (license:x11-style "file://COPYING"
- "See COPYING in the distribution."))))
+ (license (license:x11-style "file://COPYING"
+ "See COPYING in the distribution.")))))
(define-public xdpyprobe
(package
"1h09wd2qcg08rj5hcakvdh9q01hkrj8vxly94ax3ch2x06lm0zq8"))))
(build-system gnu-build-system)
(inputs
- `(("libx11" ,libx11)))
+ (list libx11))
(home-page "https://github.com/alezost/xdpyprobe")
(synopsis "Probe X server for connectivity")
(description
(define-public rofi
(package
(name "rofi")
- (version "1.6.1")
+ (version "1.7.3")
(source (origin
(method url-fetch)
- (uri (string-append "https://github.com/DaveDavenport/rofi/"
+ (uri (string-append "https://github.com/davatorium/rofi/"
"releases/download/"
version "/rofi-" version ".tar.xz"))
(sha256
(base32
- "12p9z8bl1gg8k024m4a6zfz7gf1zbyffardh98raqgabn6knwk22"))))
+ "0yxn9pmn9zp0k5ygnjqbj1pmp73g53wa47r145a8qcwqzxl8p1i5"))))
(build-system gnu-build-system)
- (inputs
- `(("pango" ,pango)
- ("cairo" ,cairo)
- ("glib" ,glib)
- ("startup-notification" ,startup-notification)
- ("libjpeg" ,libjpeg-turbo)
- ("librsvg" ,librsvg)
- ("libxkbcommon" ,libxkbcommon)
- ("libxcb" ,libxcb)
- ("xcb-util" ,xcb-util)
- ("xcb-util-xrm" ,xcb-util-xrm)
- ("xcb-util-wm" ,xcb-util-wm)))
(native-inputs
- `(("bison" ,bison)
- ("check" ,check)
- ("flex" ,flex)
- ("glib:bin" ,glib "bin")
- ("pkg-config" ,pkg-config)))
+ (list bison
+ check
+ flex
+ `(,glib "bin")
+ pkg-config))
+ (inputs
+ (list cairo
+ glib
+ libjpeg-turbo
+ librsvg
+ libxcb
+ libxkbcommon
+ pango
+ startup-notification
+ xcb-util
+ xcb-util-cursor
+ xcb-util-wm
+ xcb-util-xrm))
+ (native-search-paths
+ ;; This is where rofi will search for plugins by default.
+ (list (search-path-specification
+ (variable "ROFI_PLUGIN_PATH")
+ (files '("lib/rofi")))))
(arguments
`(#:parallel-tests? #f ; fails in some circumstances
#:phases
(substitute* '("test/helper-expand.c")
(("~root") "/root")
(("~") "")
- (("g_get_home_dir \\(\\)") "\"/\""))
- #t)))))
- (home-page "https://github.com/DaveDavenport/rofi")
+ (("g_get_home_dir \\(\\)") "\"/\"")))))))
+ (home-page "https://github.com/davatorium/rofi")
(synopsis "Application launcher")
(description "Rofi is a minimalist application launcher. It memorizes which
applications you regularly use and also allows you to search for an application
by name.")
(license license:expat)))
+(define-public rofi-calc
+ (package
+ (name "rofi-calc")
+ (version "2.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/svenstaro/rofi-calc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "021z7hwvdcs3g7icyp6xhry0xlq29gg1288hg2kzyzqq4l2irxdi"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Don't try to install directly to rofi, instead install
+ ;; to lib/rofi to match rofi's search-path ROFI_PLUGIN_PATH.
+ (add-after 'unpack 'patch-plugindir
+ (lambda _
+ (substitute* "Makefile.am"
+ (("plugindir=\\$\\{rofi_PLUGIN_INSTALL_DIR\\}\\/")
+ "plugindir=${libdir}/rofi/"))))
+ (add-after 'unpack 'patch-qalc-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/calc.c"
+ (("\"qalc\"")
+ (string-append "\""
+ (search-input-file inputs "bin/qalc")
+ "\""))))))))
+ (inputs
+ (list cairo libqalculate rofi))
+ (native-inputs
+ (list autoconf automake libtool pkg-config))
+ (home-page
+ "https://github.com/svenstaro/rofi-calc")
+ (synopsis "Do live calculations in rofi with qalc")
+ (description
+ "@code{rofi-calc} is a rofi plugin that uses qalculate's @code{qalc} to parse
+natural language input and provide results.")
+ (license license:expat)))
+
(define-public tint2
(package
(name "tint2")
(("/etc") "${CMAKE_INSTALL_PREFIX}/etc"))
#t)))))
(inputs
- `(("gtk+" ,gtk+-2)
- ("imlib2" ,imlib2)
- ("librsvg" ,librsvg)
- ("libxcomposite" ,libxcomposite)
- ("libxdamage" ,libxdamage)
- ("libxft" ,libxft)
- ("libxinerama" ,libxinerama)
- ("libxrandr" ,libxrandr)
- ("startup-notification" ,startup-notification)))
+ (list gtk+-2
+ imlib2
+ librsvg
+ libxcomposite
+ libxdamage
+ libxft
+ libxinerama
+ libxrandr
+ startup-notification))
(native-inputs
`(("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)))
(substitute* "Makefile" (("include config.mk") ""))
#t)))))
(inputs
- `(("libx11" ,libx11)
- ("libxft" ,libxft)
- ("libxpm" ,libxpm)
- ("libxinerama" ,libxinerama)))
- (native-inputs `(("pkg-config" ,pkg-config)))
+ (list libx11 libxft libxpm libxinerama))
+ (native-inputs (list pkg-config))
(synopsis "General purpose messaging, notification and menuing program for X11")
(description "Dzen is a general purpose messaging, notification and menuing
program for X11. It was designed to be fast, tiny and scriptable in any language.")
("fontconfig" ,fontconfig)
("libxft" ,libxft)))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(arguments
'(#:phases
(modify-phases %standard-phases
#t))))
(build-system gnu-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("m4" ,m4)
- ("libx11" ,libx11))) ; for tests
+ (list pkg-config m4 libx11)) ; for tests
(inputs
- `(("libxcb" ,libxcb)
- ("xcb-util" ,xcb-util)))
+ (list libxcb xcb-util))
(home-page "https://github.com/Airblader/xcb-util-xrm")
(synopsis "XCB utility functions for the X resource manager")
(description
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; no test suite
- (inputs `(("libx11" ,libx11)
- ("libxext" ,libxext)
- ("libxrandr" ,libxrandr)
- ("libxxf86vm" ,libxxf86vm)))
+ (inputs (list libx11 libxext libxrandr libxxf86vm))
(synopsis "Tiny monitor calibration loader for XFree86 (or X.org)")
(description "xcalib is a tiny tool to load the content of vcgt-Tags in ICC
profiles to the video card's gamma ramp. It does work with most video card
(arguments '(#:configure-flags `("--enable-sound"
"--enable-wave"
"--enable-alsa")))
- (native-inputs `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("pkg-config" ,pkg-config)
- ("perl" ,perl)))
- (inputs `(("libx11" ,libx11)
- ("alsa-lib" ,alsa-lib)))
+ (native-inputs (list autoconf automake pkg-config perl))
+ (inputs (list libx11 alsa-lib))
(synopsis "Daemon that performs an action every time the X11 bell is rung")
(description "nxbelld is a tiny utility to aid people who either don't
like the default PC speaker beep, or use a sound driver that doesn't have
"18jd3k3pvlm5x1adyqw63z2b3f4ixh9mfvz9asvnskk3fm8jgw0i"))))
(build-system gnu-build-system)
(native-inputs
- `(("imake" ,imake)))
+ (list imake))
(inputs
- `(("libx11" ,libx11)
- ("libxext" ,libxext)
- ("libxscrnsaver" ,libxscrnsaver)))
+ (list libx11 libxext libxscrnsaver))
(arguments
`(#:tests? #f
#:phases
(inputs `(("gtk3" ,gtk+)
("gdk" ,gdk-pixbuf)
("pango" ,pango)))
- (native-inputs `(("pkg-config" ,pkg-config)))
+ (native-inputs (list pkg-config))
(arguments
;; The default configure puts the 'sm' binary in games/ instead of bin/ -
;; this fixes it:
(base32
"10hx7k7ga8g08akwz8qrsvj8iqr5nd4siiva6sjx789jvf0sak7r"))))
(build-system cmake-build-system)
- (inputs `(("glib" ,glib)
- ("xcb-util" ,xcb-util)))
+ (inputs (list glib xcb-util))
(native-inputs
- `(("python-docutils" ,python-docutils)
- ("pkg-config" ,pkg-config)))
+ (list python-docutils pkg-config))
(arguments
`(#:tests? #f))
(synopsis "Use external screen locker on events")
(define-public python-pyperclip
(package
(name "python-pyperclip")
- (version "1.6.4")
+ (version "1.8.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyperclip" version))
(sha256
(base32
- "1p505c23ji06r28k1y67siihsbdzdf1brhlqpyv9ams4gk9863pp"))))
+ "0mxzm43z2anr55gyz7awagvam4d5c2rlxhp9hjyg0d29n2l58lhh"))))
(build-system python-build-system)
(arguments
'(#:tests? #f)) ; Not clear how to make tests pass.
(inputs
- `(("xclip" ,xclip)
- ("xsel" ,xsel)))
+ (list xclip xsel))
(home-page "https://github.com/asweigart/pyperclip")
(synopsis "Python clipboard module")
(description
"1w49fayhwzn5rx0z1q2lrvm7z8jrd34lgb89p853a024bixc3cf2"))))
(build-system gnu-build-system)
(inputs
- `(("xorg-server" ,xorg-server)))
+ (list xorg-server))
(home-page "https://github.com/rg3/numlockx")
(synopsis "Turns on the numlock key in X11")
(description "@command{numlockx} is a tiny program that lets you turn on
(define-public xrandr-invert-colors
(package
(name "xrandr-invert-colors")
- (version "0.01")
+ (version "0.02")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1br3x9vr6xm4ika06n8cfxx1b3wdchdqvyzjl4y1chmivrml8x9h"))))
+ "0gk1fgxb2kjyr78xn8m0ckjdic99ras7msa67piwnhj3j4scg1ih"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list ,(string-append "CC=" (cc-for-target)))
(modify-phases %standard-phases
(delete 'configure)
(replace 'install
+ ;; It's simpler to install the single binary ourselves than to patch
+ ;; the Makefile's install target into working.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
- (install-file "xrandr-invert-colors.bin" bin)
- #t))))))
+ (mkdir-p bin)
+ (copy-file "xrandr-invert-colors.bin"
+ (string-append bin "/xrandr-invert-colors"))))))))
(inputs
- `(("libxrandr" ,libxrandr)))
+ (list libxrandr))
(home-page "https://github.com/zoltanp/xrandr-invert-colors")
(synopsis "Invert display colors")
(description "This package provides a small utility for inverting the
(string-append out "/bin/sctd"))
#t))))))
(inputs
- `(("coreutils" ,coreutils) ; sctd uses "date", "printf" and "sleep"
- ("inetutils" ,inetutils) ; sctd uses "logger"
- ("libxrandr" ,libxrandr)
- ("sed" ,sed))) ; sctd uses "sed"
+ (list coreutils ; sctd uses "date", "printf" and "sleep"
+ inetutils ; sctd uses "logger"
+ libxrandr
+ sed)) ; sctd uses "sed"
(home-page "https://www.umaxx.net")
(synopsis "Set the color temperature of the screen")
(description "@code{sct} is a lightweight utility to set the color
(define-public xsecurelock
(package
(name "xsecurelock")
- (version "1.6.0")
+ (version "1.7.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/google/xsecurelock/releases"
"/download/v" version "/xsecurelock-" version ".tar.gz"))
(sha256
- (base32 "070gknyv0s5hz9hkc6v73m2v7ssyjwgl93b5hd4glayfqxqjbmdp"))))
+ (base32 "0s2q69g1xhvs18q2jhcval5vpa9j0kkrdv02r176vvxvdms7hhc7"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
"--with-xkb"
"--with-default-authproto-module=/run/setuid-programs/authproto_pam")))
(native-inputs
- `(("pandoc" ,pandoc)
- ("pkg-config" ,pkg-config)))
+ (list pandoc pkg-config))
(inputs
`(("fontconfig" ,fontconfig)
("libX11" ,libx11)
(sha256
(base32 "0c4w87ipsw09aii34szj9p0xfy0m00wyjpll0gb0aqmwa60p0c5d"))))
(build-system meson-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-file-names
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* (find-files "src" "\\.c$")
+ (("\"(cat|rm)\"" _ command)
+ (string-append "\"" (assoc-ref inputs "coreutils")
+ "/bin/" command "\""))
+ (("\"xdg-mime\"")
+ (string-append "\"" (assoc-ref inputs "xdg-utils")
+ "/bin/xdg-mime\""))))))))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
- `(("wayland" ,wayland)
- ("wayland-protocols" ,wayland-protocols)))
+ (list coreutils wayland wayland-protocols xdg-utils))
(home-page "https://github.com/bugaevc/wl-clipboard")
(synopsis "Command-line copy/paste utilities for Wayland")
(description "Wl-clipboard is a set of command-line copy/paste utilities for
Wayland.")
(license license:gpl3+)))
+(define-public wl-clipboard-x11
+ (package
+ (name "wl-clipboard-x11")
+ (version "5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/brunelli/wl-clipboard-x11")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1y7jv7rps0sdzmm859wn2l8q4pg2x35smcrm7mbfxn5vrga0bslb"))))
+ (build-system copy-build-system)
+ (arguments
+ `(#:install-plan
+ '(("src/" "bin/")
+ ("man/" "man/man1"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'wrap-binary
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (wl-clipboard (assoc-ref inputs "wl-clipboard")))
+ (wrap-program (string-append out "/bin/wl-clipboard-x11")
+ `("PATH" prefix (,(string-append wl-clipboard "/bin")))))
+ #t))
+ (add-after 'wrap-binary 'symlink-utilities
+ ;; As seen in the Makefile.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
+ (symlink "wl-clipboard-x11" (string-append bin "xclip"))
+ (symlink "wl-clipboard-x11" (string-append bin "xsel")))
+ #t)))))
+ (inputs
+ (list bash-minimal wl-clipboard))
+ (home-page "https://github.com/brunelli/wl-clipboard-x11")
+ (synopsis "Use wl-clipboard as a drop-in replacement to X11 clipboard tools")
+ (description "This package provides a wrapper script around
+@code{x11-clipboard} to use it as a clipboard on X11 also. It also contains
+helper scripts for @code{xclip} and @code{xsel} to assist with the transition.")
+ (license license:gpl3+)))
+
(define-public autocutsel
(package
(name "autocutsel")
(build-system gnu-build-system)
(arguments
'(#:tests? #f)) ; no "check" target
- (native-inputs `(("libx11" ,libx11)
- ("libxaw" ,libxaw)))
+ (native-inputs (list libx11 libxaw))
(home-page "https://www.nongnu.org/autocutsel/")
(synopsis "Automated X11 clipboard and cutbuffer synchronization")
(description "@code{autocutsel} tracks changes in the server's cutbuffer
(define-public jgmenu
(package
(name "jgmenu")
- (version "4.3.0")
+ (version "4.4.0")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "13y4ra2hjfqbn2vxyyn4ar5iqklbabyfwksbryc2gzxspw1vz4zq"))))
+ (base32 "08dyygclayyipa0p2qsxqa3fsfyflkrkhpi25dkc3ybkicvynk24"))))
(build-system gnu-build-system)
(native-inputs
- `(("cppcheck" ,cppcheck)
- ("perl" ,perl)
- ("pkg-config" ,pkg-config)))
+ (list cppcheck perl pkg-config))
(inputs
- `(("cairo" ,cairo)
- ("glib" ,glib)
- ("librsvg" ,librsvg)
- ("libx11" ,libx11)
- ("libxml2" ,libxml2)
- ("libxrandr" ,libxrandr)
- ("pango" ,pango)))
+ (list cairo
+ glib
+ librsvg
+ libx11
+ libxml2
+ libxrandr
+ pango))
(arguments
`(#:test-target "test"
#:phases
(define-public xwallpaper
(package
(name "xwallpaper")
- (version "0.6.6")
+ (version "0.7.3")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "10klm81rs3k3l2i7whpvcsg95x51ja11l86fmwbrvg3kq705p2sr"))))
+ (base32 "1rsv42cl0s149sbpdxz9yqqjip3si95jv3dglwzrcm7pjfg7519v"))))
(build-system gnu-build-system)
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("pkg-config" ,pkg-config)))
+ (list autoconf automake pkg-config))
(inputs
- `(("libjpeg-turbo" ,libjpeg-turbo)
- ("libpng" ,libpng)
- ("libxpm" ,libxpm)
- ("pixman" ,pixman)
- ("xcb-util" ,xcb-util)
- ("xcb-util-image" ,xcb-util-image)))
+ (list libjpeg-turbo
+ libpng
+ libxpm
+ pixman
+ xcb-util
+ xcb-util-image))
(home-page "https://github.com/stoeckmann/xwallpaper")
(synopsis "Wallpaper setting utility for X")
(description
(install-file "README" doc)
#t))))))
(inputs
- `(("libx11" ,libx11)
- ("libxinerama" ,libxinerama)))
+ (list libx11 libxinerama))
(home-page "https://www.lcdf.org/~eddietwo/xwrits/")
(synopsis "Reminds you to take wrist breaks")
(description "Xwrits reminds you to take wrist breaks for prevention or
(base32 "14gnkz18dipsa2v24f4nm9syxaa7g21iqjm7y65jn849ka2jr1h8"))))
(build-system scons-build-system)
(inputs
- `(("libx11" ,libx11)))
+ (list libx11))
(native-inputs
`(("pkg-config" ,pkg-config)
("googletest" ,googletest)
(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")
(gawk (assoc-ref inputs "gawk"))
(util-linux (assoc-ref inputs "util-linux"))
(xdotool (assoc-ref inputs "xdotool"))
- (xsel (assoc-ref inputs "xsel")))
+ (xsel (assoc-ref inputs "xsel"))
+ (guile (search-input-file inputs "bin/guile")))
(for-each
(lambda (prog)
(wrap-script (string-append out "/bin/" prog)
+ #:guile guile
`("PATH" ":" prefix
,(map (lambda (dir)
(string-append dir "/bin"))
(invoke "tests/test-clipmenu")
#t)))))
(inputs
- `(("clipnotify" ,clipnotify)
- ("coreutils-minimal" ,coreutils-minimal)
- ("gawk" ,gawk)
- ("guile" ,guile-3.0) ; for wrap-script
- ("util-linux" ,util-linux)
- ("xdotool" ,xdotool)
- ("xsel" ,xsel)))
+ (list clipnotify
+ coreutils-minimal
+ gawk
+ guile-3.0 ; for wrap-script
+ util-linux
+ xdotool
+ xsel))
(home-page "https://github.com/cdown/clipmenu")
(synopsis "Simple clipboard manager using dmenu or rofi and xsel")
(description "Start @command{clipmenud}, then run @command{clipmenu} to
"0qkq75grbd4wkx4nlvswgavpijk9ad0pzqyj89a0ayjsbsn36pqy"))))
(build-system gnu-build-system)
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("glib" ,glib "bin")
- ("pkg-config" ,pkg-config)))
+ (list autoconf automake
+ `(,glib "bin") pkg-config))
(inputs
- `(("dbus-glib" ,dbus-glib)
- ("glib" ,glib)
- ("libx11" ,libx11)))
+ (list dbus-glib glib libx11))
(home-page "https://github.com/qnikst/kbdd")
(synopsis "Per-window keyboard layout switching daemon for X")
(description "@command{kbdd} is a simple keyboard layout switching
"1gxpgifzy0hnpd0ymw3r32amzr32z3bgb90ldjzl438p6h1q0i26"))))
(build-system cmake-build-system)
(native-inputs
- `(("catch2" ,catch-framework2)))
+ (list catch-framework2))
(arguments
`(#:configure-flags '("-DWITH_GIT_CATCH=off")
#:phases
(arguments
`(#:glib-or-gtk? #t))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
`(("gtk3" ,gtk+)
("wayland" ,wayland)))
(delete 'configure))
#:tests? #f))
(inputs
- `(("python" ,python)))
+ (list python))
(native-inputs
- `(("python-sphinx" ,python-sphinx)))
+ (list python-sphinx))
(home-page "https://github.com/jceb/dex")
(synopsis "Execute DesktopEntry files")
(description
(define-public sx
(package
(name "sx")
- (version "2.1.6")
+ (version "2.1.7")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "0p24ghp1ygvyc2hv81byhxax7491yhcc5priq5ldv07nzl7akagc"))))
+ "0xv15m30nhcknasqiybj5wwf7l91q4a4jf6xind8x5x00c6br6nl"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no tests
(list (string-append "PREFIX=" out)))
#:phases
(modify-phases %standard-phases
- ;; no configure script
- (delete 'configure))))
- (propagated-inputs
- `(("xauth" ,xauth)))
+ (add-after 'unpack 'refer-to-xauth
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "sx"
+ (("\\bxauth\\b" command)
+ (string-append (assoc-ref inputs "xauth") "/bin/" command)))))
+ (delete 'configure)))) ; no configure script
+ (inputs
+ (list xauth))
(home-page "https://github.com/Earnestly/sx")
(synopsis "Start an xorg server")
(description
(let ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/bin"))))))))
(inputs
- `(("libx11" ,libx11)
- ("imlib2" ,imlib2)
- ("libxinerama" ,libxinerama)))
+ (list libx11 imlib2 libxinerama))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(synopsis "Imlib2-based wallpaper changer")
(description
"The @command{hsetroot} command composes wallpapers for X.
This package is the fork of hsetroot by Hyriand.")
(license license:gpl2+)))
+
+(define-public jumpapp
+ (package
+ (name "jumpapp")
+ (version "1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mkropat/jumpapp")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05shgw4agkhgk5vbvc05s12q7m0djc0m4qrd328hmis37bxp9j7n"))))
+ (build-system gnu-build-system)
+ (arguments `(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'check)
+ (add-before 'install 'set-prefix-in-makefile
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "Makefile"
+ (("PREFIX =.*")
+ (string-append "PREFIX = " out "\n")))))))))
+ (propagated-inputs
+ (list wmctrl xdotool xprop))
+ (native-inputs
+ (list pandoc perl))
+ (synopsis "Run-or-raise application switcher for any X11 desktop")
+ (description
+ "Bind a key for any given application that will launch the application,
+if it's not already running, or focus the application's window,if it is running.
+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
+ (list libx11 perl 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)))
+
+(define-public wlsunset
+ (package
+ (name "wlsunset")
+ (version "0.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~kennylevinsen/wlsunset/")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0hhsddh3rs066rbsjksr8kcwg8lvglbvs67dq0r5wx5c1xcwb51w"))))
+ (build-system meson-build-system)
+ (inputs
+ (list wayland wayland-protocols))
+ (native-inputs
+ (list pkg-config))
+ (synopsis "Day/night gamma adjustments for Wayland compositors")
+ (home-page "https://sr.ht/~kennylevinsen/wlsunset/")
+ (description
+ "wlunset adjusts gamma based on day-night cycles on Wayland compositors
+that support @samp{wlr-gamma-control-unstable-v1}. It is also known as a blue
+light filter or night light.")
+ (license license:expat)))
+