gnu: xcalc: Don't use NAME in source URI.
[jackhill/guix/guix.git] / gnu / packages / xdisorg.scm
CommitLineData
3c156c8a
JD
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
56ac2bf4 3;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
3c156c8a 4;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
9f1d33be 5;;; Copyright © 2014, 2015, 2016 Alex Kost <alezost@gmail.com>
189be331 6;;; Copyright © 2013, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
751f6871 7;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
42f2c2b9 8;;; Copyright © 2015 Alexander I.Grafov <grafov@gmail.com>
f1f7049e 9;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
998b8c07 10;;; Copyright © 2015 xd1le <elisp.vim@gmail.com>
6645753b 11;;; Copyright © 2015 Florian Paul Schmidt <mista.tapas@gmx.net>
6f74aecd 12;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
4cbbb160 13;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
19110787 14;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
71ca0539 15;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
6cfd1a68 16;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
0ea0452c 17;;; Copyright © 2016, 2017, 2019 Marius Bakke <mbakke@fastmail.com>
01278f16 18;;; Copyright © 2016 Petter <petter@mykolab.ch>
37447422 19;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
4a78fd46 20;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
3659b0d7 21;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
f021382b 22;;; Copyright © 2017 Marek Benc <dusxmt@gmx.com>
1d752e43 23;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
af1e3dfe 24;;; Copyright © 2018 Thomas Sigurdsen <tonton@riseup.net>
95bf2fb6 25;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
4715f92e 26;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
d852cf9e 27;;; Copyright © 2018 Nam Nguyen <namn@berkeley.edu>
3c156c8a
JD
28;;;
29;;; This file is part of GNU Guix.
30;;;
31;;; GNU Guix is free software; you can redistribute it and/or modify it
32;;; under the terms of the GNU General Public License as published by
33;;; the Free Software Foundation; either version 3 of the License, or (at
34;;; your option) any later version.
35;;;
36;;; GNU Guix is distributed in the hope that it will be useful, but
37;;; WITHOUT ANY WARRANTY; without even the implied warranty of
38;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
39;;; GNU General Public License for more details.
40;;;
41;;; You should have received a copy of the GNU General Public License
42;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
43
44(define-module (gnu packages xdisorg)
45 #:use-module ((guix licenses) #:prefix license:)
46 #:use-module (guix packages)
47 #:use-module (guix download)
37447422 48 #:use-module (guix git-download)
18ad5bff 49 #:use-module (guix utils)
9f1d33be 50 #:use-module (guix build-system cmake)
3c156c8a 51 #:use-module (guix build-system gnu)
f1f7049e 52 #:use-module (guix build-system glib-or-gtk)
4382cef2 53 #:use-module (guix build-system meson)
ae05b185 54 #:use-module (guix build-system python)
3c156c8a 55 #:use-module (gnu packages)
99828fa7 56 #:use-module (gnu packages documentation)
d852cf9e
NN
57 #:use-module (gnu packages admin)
58 #:use-module (gnu packages base)
b4c400a7 59 #:use-module (gnu packages algebra)
b2193c35 60 #:use-module (gnu packages autotools)
23e12d9d 61 #:use-module (gnu packages check)
3c156c8a
JD
62 #:use-module (gnu packages compression)
63 #:use-module (gnu packages image)
64 #:use-module (gnu packages pkg-config)
23e12d9d 65 #:use-module (gnu packages flex)
95bf2fb6 66 #:use-module (gnu packages freedesktop)
ae05b185 67 #:use-module (gnu packages gettext)
9f1d33be 68 #:use-module (gnu packages gl)
2e88e089 69 #:use-module (gnu packages glib)
751f6871 70 #:use-module (gnu packages gnome)
01614de1 71 #:use-module (gnu packages icu4c)
937b71df 72 #:use-module (gnu packages maths)
4493a3c2 73 #:use-module (gnu packages m4)
1ef3f91a 74 #:use-module (gnu packages ncurses)
de51bf58 75 #:use-module (gnu packages perl)
ae05b185 76 #:use-module (gnu packages python)
44d10b1f 77 #:use-module (gnu packages python-xyz)
ab69d9ac 78 #:use-module (gnu packages linux)
b4c400a7 79 #:use-module (gnu packages gl)
76212b57 80 #:use-module (gnu packages guile)
f1f7049e
AW
81 #:use-module (gnu packages xml)
82 #:use-module (gnu packages gtk)
cf60e76a 83 #:use-module (gnu packages xorg)
1f42989e
EF
84 #:use-module (gnu packages bison)
85 #:use-module (ice-9 match))
3c156c8a 86
3c156c8a
JD
87;; packages outside the x.org system proper
88
ae05b185
ML
89(define-public arandr
90 (package
91 (name "arandr")
16d8f9be 92 (version "0.1.9")
ae05b185
ML
93 (source (origin
94 (method url-fetch)
95 (uri (string-append "http://christian.amsuess.com/tools/" name
96 "/files/" name "-" version ".tar.gz"))
97 (sha256
98 (base32
04fa4cdf
LC
99 "1i3f1agixxbfy4kxikb2b241p7c2lg73cl9wqfvlwz3q6zf5faxv"))
100 (modules '((guix build utils)))
101 (snippet
6cbee49d
MW
102 '(begin
103 ;; Do not record a timestamp and file name in gzipped man
104 ;; pages (this is equivalent to 'gzip --no-name'.)
105 (substitute* "setup.py"
106 (("gzip\\.open\\(gzfile, 'w', 9\\)")
107 "gzip.GzipFile('', 'wb', 9, open(gzfile, 'wb'), 0.)"))
108 #t))))
ae05b185 109 (build-system python-build-system)
b951e26f
RW
110 (arguments
111 `(#:python ,python-2 ;incompatible with python 3
28fd275c
AI
112 #:phases
113 (modify-phases %standard-phases
114 (add-before 'build 'configure
115 (lambda* (#:key inputs #:allow-other-keys)
116 (substitute* "screenlayout/xrandr.py"
117 (("\"xrandr\"") (string-append "\"" (assoc-ref inputs "xrandr")
118 "/bin/xrandr\"")))
119 #t)))
b5244fcb 120 #:tests? #f)) ;no tests
b951e26f
RW
121 (inputs `(("pygtk" ,python2-pygtk)
122 ("xrandr" ,xrandr)))
b94a6ca0 123 (native-inputs `(("gettext" ,gettext-minimal)
f3b98f4f 124 ("python-docutils" ,python2-docutils)))
ae05b185
ML
125 (home-page "https://christian.amsuess.com/tools/arandr/")
126 (synopsis "Another RandR graphical user interface")
127 ;; TRANSLATORS: "X11 resize-and-rotate" should not be translated.
128 (description "ARandR is designed to provide a simple visual front end for
129the X11 resize-and-rotate (RandR) extension. Relative monitor positions are
130shown graphically and can be changed in a drag-and-drop way. Configurations
131are saved as executable shell scripts which can be loaded without using this
132program.")
133 (license license:gpl3+)))
134
de878f1b
JD
135(define-public xclip
136 (package
137 (name "xclip")
b2193c35 138 (version "0.13")
de878f1b 139 (source
2d8387c3
RW
140 (origin
141 (method git-fetch)
142 (uri (git-reference
143 (url "https://github.com/astrand/xclip.git")
144 (commit version)))
145 (file-name (git-file-name name version))
146 (sha256
147 (base32
148 "0q0hmvcjlv8arhh1pzhja2wglyj6n7z209jnpnzd281kqqv4czcs"))))
de878f1b
JD
149 (build-system gnu-build-system)
150 (arguments
189be331 151 '(#:tests? #f)) ;there is no test suite
b2193c35
MB
152 (native-inputs
153 `(("autoconf" ,autoconf)
154 ("automake" ,automake)))
de878f1b
JD
155 (inputs `(("libxmu" ,libxmu)
156 ("libxt" ,libxt)))
b2193c35 157 (home-page "https://github.com/astrand/xclip")
de878f1b
JD
158 (synopsis "Command line interface to X11 clipboard")
159 (description "Xclip is a command line interface to the X11 clipboard. It
160can also be used for copying files, as an alternative to sftp/scp, thus
161avoiding password prompts when X11 forwarding has already been setup.")
162 (license license:gpl2+)))
163
cf60e76a
DM
164(define-public libxkbcommon
165 (package
166 (name "libxkbcommon")
766e46e2 167 (version "0.8.2")
cf60e76a
DM
168 (source (origin
169 (method url-fetch)
fbb4755c 170 (uri (string-append "https://xkbcommon.org/download/" name "-"
cf60e76a
DM
171 version ".tar.xz"))
172 (sha256
173 (base32
766e46e2 174 "136mdq11lrwg6rjmm44lmysxxgb9c35p4sq6k0cd129x82rw9f3s"))))
cf60e76a
DM
175 (build-system gnu-build-system)
176 (inputs
177 `(("libx11" ,libx11)
178 ("libxcb" ,libxcb)
179 ("xkeyboard-config" ,xkeyboard-config)))
180 (native-inputs
181 `(("bison" ,bison)
182 ("pkg-config" ,pkg-config)))
183 (arguments
184 `(#:configure-flags
185 (list (string-append "--with-xkb-config-root="
186 (assoc-ref %build-inputs "xkeyboard-config")
187 "/share/X11/xkb")
188 (string-append "--with-x-locale-root="
189 (assoc-ref %build-inputs "libx11")
190 "/share/X11/locale"))))
fbb4755c 191 (home-page "https://xkbcommon.org/")
cf60e76a
DM
192 (synopsis "Library to handle keyboard descriptions")
193 (description "Xkbcommon is a library to handle keyboard descriptions,
194including loading them from disk, parsing them and handling their
195state. It is mainly meant for client toolkits, window systems, and other
196system applications; currently that includes Wayland, kmscon, GTK+, Qt,
197Clutter, and more. Despite the name, it is not currently used by anything
198X11 (yet).")
199 (license (license:x11-style "file://COPYING"
200 "See 'COPYING' in the distribution."))))
201
e91f9d40 202(define-public libfakekey
203 (package
204 (name "libfakekey")
205 (version "0.1")
206 (source
207 (origin
208 (method url-fetch)
209 (uri (string-append "https://downloads.yoctoproject.org/releases"
210 "/matchbox/libfakekey/" version "/libfakekey-"
211 version ".tar.bz2"))
212 (sha256
213 (base32
214 "1501l0bflcrhqbf12n7a7cqilvr0w4xawxw0vw75p2940nkl4464"))))
215 (build-system gnu-build-system)
216 (arguments
217 `(#:make-flags (list "AM_LDFLAGS=-lX11")))
218 (native-inputs
219 `(("pkg-config" ,pkg-config)))
220 (inputs
221 `(("libxtst" ,libxtst)
222 ("libx11" ,libx11)))
223 (home-page "https://www.yoctoproject.org/tools-resources/projects/matchbox")
224 (synopsis "X virtual keyboard library")
225 (description
226 "Libfakekey is a virtual keyboard library for X.")
227 (license license:gpl2)))
228
de51bf58
JD
229(define-public xdotool
230 (package
231 (name "xdotool")
ad430c71 232 (version "3.20160805.1")
de51bf58
JD
233 (source
234 (origin
235 (method url-fetch)
236 (uri (string-append
6f74aecd
CAW
237 "https://github.com/jordansissel/xdotool/releases/download/v"
238 version "/xdotool-" version ".tar.gz"))
de51bf58
JD
239 (sha256
240 (base32
ad430c71 241 "1a6c1zr86zb53352yxv104l76l8x21gfl2bgw6h21iphxpv5zgim"))))
de51bf58
JD
242 (build-system gnu-build-system)
243 (arguments
244 '(#:tests? #f ; Test suite requires a lot of black magic
ca0d2a63 245 #:phases
c237480b
EF
246 (modify-phases %standard-phases
247 (replace 'configure
248 (lambda* (#:key outputs #:allow-other-keys #:rest args)
ad430c71
MB
249 (let ((out (assoc-ref outputs "out")))
250 (mkdir-p (string-append out "/lib"))
251 (setenv "PREFIX" out)
252 (setenv "LDFLAGS" (string-append "-Wl,-rpath=" out "/lib"))
c6bf07d1
MW
253 (setenv "CC" "gcc")
254 #t))))))
de51bf58
JD
255 (native-inputs `(("perl" ,perl))) ; for pod2man
256 (inputs `(("libx11" ,libx11)
257 ("libxext" ,libxext)
258 ("libxi" ,libxi)
259 ("libxinerama" ,libxinerama)
6f74aecd
CAW
260 ("libxtst" ,libxtst)
261 ("libxkbcommon" ,libxkbcommon)))
de51bf58
JD
262 (home-page "http://www.semicomplete.com/projects/xdotool")
263 (synopsis "Fake keyboard/mouse input, window management, and more")
264 (description "Xdotool lets you simulate keyboard input and mouse activity,
265move and resize windows, etc. It does this using X11's XTEST extension and
266other Xlib functions. Additionally, you can search for windows and move,
267resize, hide, and modify window properties like the title. If your window
268manager supports it, you can use xdotool to switch desktops, move windows
269between desktops, and change the number of desktops.")
270 (license license:bsd-3)))
271
3c156c8a
JD
272(define-public xeyes
273 (package
274 (name "xeyes")
fa91433d 275 (version "1.1.2")
3c156c8a 276 (source
fa91433d
TGR
277 (origin
278 (method url-fetch)
279 (uri (string-append "https://www.x.org/releases/individual/app/"
280 name "-" version ".tar.bz2"))
281 (sha256
282 (base32 "0lq5j7fryx1wn998jq6h3icz1h6pqrsbs3adskjzjyhn5l6yrg2p"))))
3c156c8a
JD
283 (build-system gnu-build-system)
284 (inputs
285 `(("libxext" ,libxext)
286 ("libxmu" ,libxmu)
fa91433d 287 ("libxrender" ,libxrender)
3c156c8a
JD
288 ("libxt" ,libxt)))
289 (native-inputs
290 `(("pkg-config" ,pkg-config)))
5e996128 291 (home-page "https://www.x.org/") ; no dedicated Xeyes page exists
3c156c8a
JD
292 (synopsis "Follow-the-mouse X demo")
293 (description "Xeyes is a demo program for x.org. It shows eyes
294following the mouse.")
295 (license license:x11)))
296
297
298(define-public pixman
299 (package
300 (name "pixman")
ef2a540a 301 (version "0.36.0")
997f86e9
LC
302 (source (origin
303 (method url-fetch)
304 (uri (string-append
c8b69863 305 "https://www.cairographics.org/releases/pixman-"
997f86e9
LC
306 version ".tar.gz"))
307 (sha256
308 (base32
ef2a540a 309 "1blzrx50ssdv0pn56hcv2v0zw0vrjwj1sx22pkgjls1p9n6rr88w"))
35bbe88b 310 (patches (search-patches "pixman-CVE-2016-5296.patch"))))
3c156c8a
JD
311 (build-system gnu-build-system)
312 (inputs
997f86e9
LC
313 `(("libpng" ,libpng)
314 ("zlib" ,zlib)))
3c156c8a 315 (native-inputs
997f86e9 316 `(("pkg-config" ,pkg-config)))
3c156c8a
JD
317 (home-page "http://www.pixman.org/")
318 (synopsis "Low-level pixel manipulation library")
319 (description "Pixman is a low-level software library for pixel
320manipulation, providing features such as image compositing and trapezoid
321rasterisation.")
322 (license license:x11)))
323
3c156c8a
JD
324(define-public libdrm
325 (package
326 (name "libdrm")
73c0ce80 327 (version "2.4.96")
3c156c8a
JD
328 (source
329 (origin
330 (method url-fetch)
331 (uri (string-append
5cc3096c 332 "https://dri.freedesktop.org/libdrm/libdrm-"
3c156c8a
JD
333 version
334 ".tar.bz2"))
335 (sha256
0b684f49 336 (base32
73c0ce80 337 "14xkip83qgljjaahzq40qgl60j54q7k00la1hbf5kk5lgg7ilmhd"))
fc1adab1 338 (patches (search-patches "libdrm-symbol-check.patch"))))
3c156c8a 339 (build-system gnu-build-system)
1f42989e
EF
340 (arguments
341 `(#:configure-flags
342 '(,@(match (%current-system)
343 ("armhf-linux"
344 '("--enable-exynos-experimental-api"
345 "--enable-omap-experimental-api"
0e7e042d 346 "--enable-etnaviv-experimental-api"
1f42989e
EF
347 "--enable-tegra-experimental-api"
348 "--enable-freedreno-kgsl"))
349 ("aarch64-linux"
350 '("--enable-tegra-experimental-api"
0e7e042d 351 "--enable-etnaviv-experimental-api"
1f42989e
EF
352 "--enable-freedreno-kgsl"))
353 (_ '())))))
3c156c8a 354 (inputs
53e16a5a 355 `(("libpciaccess" ,libpciaccess)))
3c156c8a 356 (native-inputs
53e16a5a
MB
357 `(("pkg-config" ,pkg-config)))
358 (home-page "https://dri.freedesktop.org/wiki/")
3c156c8a
JD
359 (synopsis "Direct rendering userspace library")
360 (description "The Direct Rendering Infrastructure, also known as the DRI,
361is a framework for allowing direct access to graphics hardware under the
362X Window System in a safe and efficient manner. It includes changes to the
363X server, to several client libraries, and to the kernel (DRM, Direct
364Rendering Manager). The most important use for the DRI is to create fast
365OpenGL implementations providing hardware acceleration for Mesa.
366Several 3D accelerated drivers have been written to the DRI specification,
367including drivers for chipsets produced by 3DFX, AMD (formerly ATI), Intel
368and Matrox.")
369 (license license:x11)))
370
371
3c156c8a
JD
372(define-public mtdev
373 (package
374 (name "mtdev")
1f1e620f 375 (version "1.1.5")
3c156c8a
JD
376 (source
377 (origin
378 (method url-fetch)
379 (uri (string-append
380 "http://bitmath.org/code/mtdev/mtdev-"
381 version ".tar.bz2"))
382 (sha256
1f1e620f
EF
383 (base32
384 "0zxs7shzgbalkvlaiibi25bd902rbmkv9n1lww6q8j3ri9qdaxv6"))))
3c156c8a
JD
385 (build-system gnu-build-system)
386 (home-page "http://bitmath.org/code/mtdev/")
387 (synopsis "Multitouch protocol translation library")
388 (description "Mtdev is a stand-alone library which transforms all
389variants of kernel MT events to the slotted type B protocol. The events
390put into mtdev may be from any MT device, specifically type A without
391contact tracking, type A with contact tracking, or type B with contact
392tracking.")
393 (license license:x11)))
a693bba1
SB
394
395(define-public startup-notification
396 (package
397 (name "startup-notification")
398 (version "0.12")
399 (source
400 (origin
401 (method url-fetch)
5cc3096c 402 (uri (string-append "https://www.freedesktop.org/software/" name
a693bba1
SB
403 "/releases/" name "-" version ".tar.gz"))
404 (sha256
405 (base32
406 "0jmyryrpqb35y9hd5sgxqy2z0r1snw7d3ljw0jak0n0cjdz1yf9w"))))
407 (build-system gnu-build-system)
408 (native-inputs `(("pkg-config" ,pkg-config)))
409 (inputs
410 `(("libx11" ,libx11)
411 ("xcb-util" ,xcb-util)))
57e7d748 412 (home-page "https://www.freedesktop.org/wiki/Software/startup-notification/")
a693bba1
SB
413 (synopsis "Application startup notification and feedback library")
414 (description
415 "Startup-notification contains a reference implementation of the startup
416notification protocol. The reference implementation is mostly under an X Window
417System style license, and has no special dependencies.")
418 ;; Most of the code is provided under x11 license.
419 (license license:lgpl2.0+)))
2e88e089
AK
420
421(define-public wmctrl
422 (package
423 (name "wmctrl")
424 (version "1.07")
425 (source (origin
426 (method url-fetch)
427 (uri (string-append
d6420533 428 "https://sites.google.com/site/tstyblo/wmctrl/wmctrl-"
2e88e089
AK
429 version ".tar.gz"))
430 (sha256
431 (base32
432 "1afclc57b9017a73mfs9w7lbdvdipmf9q0xdk116f61gnvyix2np"))
fc1adab1 433 (patches (search-patches "wmctrl-64-fix.patch"))))
2e88e089
AK
434 (build-system gnu-build-system)
435 (arguments
436 '(#:configure-flags
437 (list (string-append "--mandir="
438 (assoc-ref %outputs "out")
439 "/share/man"))))
440 (native-inputs
441 `(("pkg-config" ,pkg-config)))
442 (inputs
443 `(("libx11" ,libx11)
444 ("libxmu" ,libxmu)
445 ("glib" ,glib)))
446 (home-page "http://tomas.styblo.name/wmctrl/")
447 (synopsis "Command-line tool to control X window managers")
448 (description
449 "Wmctrl allows to interact with an X window manager that is compatible
450with the EWMH/NetWM specification. It can query the window manager for
451information, and request for certain window management actions (resize and
e881752c 452move windows, switch between desktops, etc.).")
2e88e089 453 (license license:gpl2+)))
1410f342
AK
454
455(define-public scrot
456 (package
457 (name "scrot")
458 (version "0.8")
459 (source (origin
460 (method url-fetch)
9da459f3
EF
461 (uri (list (string-append
462 "http://linuxbrit.co.uk/downloads/scrot-"
463 version ".tar.gz")
464 (string-append
465 "https://fossies.org/linux/privat/old/scrot-"
c5d15d41 466 version ".tar.gz")))
1410f342
AK
467 (sha256
468 (base32
469 "1wll744rhb49lvr2zs6m93rdmiq59zm344jzqvijrdn24ksiqgb1"))))
470 (build-system gnu-build-system)
471 (arguments
472 ;; By default, man and doc are put in PREFIX/{man,doc} instead of
473 ;; PREFIX/share/{man,doc}.
474 '(#:configure-flags
475 (list (string-append "--mandir="
476 (assoc-ref %outputs "out")
477 "/share/man"))
d5047266
EF
478 #:phases
479 (modify-phases %standard-phases
480 (replace 'install
481 (lambda* (#:key inputs outputs #:allow-other-keys)
482 (let* ((out (assoc-ref outputs "out"))
483 (doc (string-append out "/share/doc/scrot")))
484 (mkdir-p doc)
e61c2991 485 (invoke "make" "install"
c6bf07d1 486 (string-append "docsdir=" doc))))))))
1410f342
AK
487 (inputs
488 `(("libx11" ,libx11)
489 ("giblib" ,giblib)))
490 (home-page "http://linuxbrit.co.uk/software/")
491 (synopsis "Command-line screen capture utility for X Window System")
492 (description
493 "Scrot allows to save a screenshot of a full screen, a window or a part
494of the screen selected by mouse.")
495 ;; This license removes a clause about X Consortium from the original
496 ;; X11 license.
497 (license (license:x11-style "file://COPYING"
498 "See 'COPYING' in the distribution."))))
4a01b30b 499
9f1d33be
AK
500(define-public slop
501 (package
502 (name "slop")
89f9ffff 503 (version "7.4")
9f1d33be 504 (source (origin
25d09f60
RW
505 (method git-fetch)
506 (uri (git-reference
507 (url "https://github.com/naelstrof/slop.git")
508 (commit (string-append "v" version))))
509 (file-name (git-file-name name version))
9f1d33be
AK
510 (sha256
511 (base32
25d09f60 512 "0fgd8a2dqkg64all0f96sca92sdss9r3pzmv5kck46b99z2325z6"))))
9f1d33be 513 (build-system cmake-build-system)
937b71df 514 (arguments
e1c014d7 515 '(#:tests? #f)) ; no "check" target
9f1d33be 516 (inputs
eb2b5f9d
MB
517 `(("glew" ,glew)
518 ("glm" ,glm)
01614de1 519 ("icu4c" ,icu4c)
9f1d33be 520 ("libxext" ,libxext)
e1c014d7 521 ("libxrender" ,libxrender)
9f1d33be
AK
522 ("mesa" ,mesa)))
523 (home-page "https://github.com/naelstrof/slop")
524 (synopsis "Select a region and print its bounds to stdout")
525 (description
526 "slop (Select Operation) is a tool that queries for a selection from a
527user and prints the region to stdout. It grabs the mouse and turns it into a
528crosshair, lets the user click and drag to make a selection (or click on a
529window) while drawing a pretty box around it, then finally prints the
530selection's dimensions to stdout.")
531 (license license:gpl3+)))
532
5c93de73
AK
533(define-public maim
534 (package
535 (name "maim")
ec8cdd0e 536 (version "5.5.2")
5c93de73 537 (source (origin
ab3159f8
RW
538 (method git-fetch)
539 (uri (git-reference
540 (url "https://github.com/naelstrof/maim.git")
541 (commit (string-append "v" version))))
542 (file-name (git-file-name name version))
5c93de73
AK
543 (sha256
544 (base32
ab3159f8 545 "14mfxdm39kc5jk8wysrzx05ag2g4sk9l24i8m5pzqn8j611150v3"))))
5c93de73
AK
546 (build-system cmake-build-system)
547 (arguments
2b7d10d2 548 '(#:tests? #f)) ; no "check" target
5c93de73 549 (inputs
2b7d10d2
MB
550 `(("glm" ,glm)
551 ("libjpeg" ,libjpeg-turbo)
552 ("libpng" ,libpng)
553 ("libxcomposite" ,libxcomposite)
5c93de73 554 ("libxfixes" ,libxfixes)
2b7d10d2
MB
555 ("libxrandr" ,libxrandr)
556 ("mesa" ,mesa)
557 ("slop" ,slop)
558 ("zlib" ,zlib)))
5c93de73
AK
559 (home-page "https://github.com/naelstrof/maim")
560 (synopsis "Screenshot utility for X Window System")
561 (description
562 "maim (Make Image) is a tool that takes screenshots of your desktop and
563saves it in any format. Along with a full screen, it allows you to capture a
564predefined region or a particular window. Also, it makes it possible to
565include cursor in the resulting image.")
566 (license license:gpl3+)))
567
4a01b30b
AK
568(define-public unclutter
569 (package
570 (name "unclutter")
571 (version "8")
572 (source (origin
573 (method url-fetch)
574 (uri (string-append
575 "http://ftp.x.org/contrib/utilities/unclutter-"
576 version ".tar.Z"))
577 (sha256
578 (base32
579 "0ahrr5z6wxqqfyihm112hnq0859zlxisrb3y5232zav58j6sfmdq"))))
580 (build-system gnu-build-system)
581 (arguments
582 '(#:tests? #f ; no check target
ea0836cd
EF
583 #:phases
584 (modify-phases %standard-phases
585 (delete 'configure)
586 (replace 'install
587 (lambda* (#:key inputs outputs #:allow-other-keys)
588 (let* ((out (assoc-ref outputs "out"))
589 (bin (string-append out "/bin"))
590 (man1 (string-append out "/share/man/man1")))
591 (mkdir-p bin)
592 (mkdir-p man1)
e61c2991
TGR
593 (invoke "make" "install" "install.man"
594 (string-append "BINDIR=" bin)
595 (string-append "MANDIR=" man1))))))))
4a01b30b
AK
596 (inputs `(("libx11" ,libx11)))
597 (home-page "http://ftp.x.org/contrib/utilities/")
598 (synopsis "Hide idle mouse cursor")
599 (description
600 "Unclutter is a program which runs permanently in the background of an
601X11 session. It checks on the X11 pointer (cursor) position every few
602seconds, and when it finds it has not moved (and no buttons are pressed
603on the mouse, and the cursor is not in the root window) it creates a
604small sub-window as a child of the window the cursor is in. The new
605window installs a cursor of size 1x1 but a mask of all 0, i.e. an
606invisible cursor. This allows you to see all the text in an xterm or
607xedit, for example. The human factors crowd would agree it should make
608things less distracting.")
609 (license license:public-domain)))
ab69d9ac 610
6e79949f 611(define-public xautomation
612 (package
613 (name "xautomation")
614 (version "1.09")
615 (source
616 (origin
617 (method url-fetch)
618 (uri (string-append "https://www.hoopajoo.net/static/projects/"
619 "xautomation-" version ".tar.gz"))
620
621 (sha256
622 (base32
623 "03azv5wpg65h40ip2kk1kdh58vix4vy1r9bihgsq59jx2rhjr3zf"))))
624 (build-system gnu-build-system)
625 (inputs
626 `(("libpng" ,libpng)
627 ("libx11" ,libx11)
628 ("libxi" ,libxi)
629 ("libxtst" ,libxtst)))
630 (native-inputs
82b4d9ec 631 `(("xorgproto" ,xorgproto)))
6e79949f 632 (synopsis "Tools to automate tasks in X such as detecting on screen images")
633 (description
634 "Xautomation can control X from the command line for scripts, and
635do visual scraping to find things on the screen. The control interface
636allows mouse movement, clicking, button up/down, key up/down, etc, and
637uses the XTest extension so you don't have the annoying problems that
638xse has when apps ignore sent events. The visgrep program can find
639images inside of images and reports the coordinates, allowing progams
640to find buttons, etc, on the screen to click on.")
641 (home-page "https://www.hoopajoo.net/projects/xautomation.html")
642 (license license:gpl2+)))
643
0ea0452c
MB
644(define-public xbanish
645 (package
646 (name "xbanish")
647 (version "1.6")
648 (home-page "https://github.com/jcs/xbanish")
649 (source (origin
650 (method git-fetch)
651 (uri (git-reference (url home-page)
652 (commit (string-append "v" version))))
653 (sha256
654 (base32
655 "0vp8ja68hpmqkl61zyjar3czhmny1hbm74m8f393incfz1ymr3i8"))))
656 (build-system gnu-build-system)
657 (arguments
658 `(#:tests? #f ;no tests
659 #:make-flags (list "CC=gcc"
660 (string-append "PREFIX=" (assoc-ref %outputs "out")))
661 #:phases (modify-phases %standard-phases
662 (delete 'configure))))
663 (inputs
664 `(("libx11" ,libx11)
665 ("libxfixes" ,libxfixes)
666 ("libxi" ,libxi)
667 ("libxt" ,libxt)))
668 (synopsis "Banish the mouse cursor")
669 (description
670 "@command{xbanish} hides the mouse cursor when you start typing, and
671shows it again when the mouse cursor moves or a mouse button is pressed.")
672 (license license:bsd-3)))
673
ab69d9ac
LC
674(define-public xlockmore
675 (package
676 (name "xlockmore")
83ee7ee7 677 (version "5.56")
ab69d9ac
LC
678 (source (origin
679 (method url-fetch)
2ec42868
TGR
680 (uri (list (string-append "http://sillycycle.com/xlock/"
681 name "-" version ".tar.xz")
682 ;; Previous releases are moved to a subdirectory.
683 (string-append "http://sillycycle.com/xlock/"
684 "recent-releases/"
685 name "-" version ".tar.xz")))
ab69d9ac
LC
686 (sha256
687 (base32
83ee7ee7 688 "1dg1n79rnswhxqz36mxnl5lp8p37i9fbibnzzyrqknmvf2s8xpd0"))))
ab69d9ac
LC
689 (build-system gnu-build-system)
690 (arguments
691 '(#:configure-flags (list (string-append "--enable-appdefaultdir="
692 (assoc-ref %outputs "out")
693 "/lib/X11/app-defaults"))
694 #:tests? #f)) ;no such thing as a test suite
695 (inputs
696 `(("libX11" ,libx11)
697 ("libXext" ,libxext)
698 ("libXt" ,libxt)
699 ("linux-pam" ,linux-pam)))
2ec42868 700 (home-page "http://sillycycle.com/xlockmore.html")
ab69d9ac
LC
701 (synopsis "Screen locker for the X Window System")
702 (description
703 "XLockMore is a classic screen locker and screen saver for the
704X Window System.")
166191b3 705 (license (license:non-copyleft #f "See xlock.c.")
e4ddf924 706 ))) ; + GPLv2 in modes/glx/biof.c.
11447a79
AK
707
708(define-public xosd
709 (package
710 (name "xosd")
711 (version "2.2.14")
712 (source (origin
713 (method url-fetch)
714 (uri (string-append
de67e922
LF
715 "mirror://sourceforge/libxosd/libxosd/xosd-" version "/"
716 name "-" version ".tar.gz"))
11447a79
AK
717 (sha256
718 (base32
719 "025m7ha89q29swkc7s38knnbn8ysl24g2h5s7imfxflm91psj7sg"))))
720 (build-system gnu-build-system)
721 (arguments
722 '(#:configure-flags
723 (list (string-append "--mandir=" %output "/share/man"))))
724 (inputs
725 `(("libx11" ,libx11)
726 ("libxt" ,libxt)
727 ("libxext" ,libxext)
728 ("libxinerama" ,libxinerama)))
3b3b60d0 729 (home-page "https://sourceforge.net/projects/libxosd/")
11447a79
AK
730 (synopsis "X On Screen Display")
731 (description
732 "XOSD provides a C library and a simple utility (osd_cat) for displaying
733transparent text on your screen.")
734 (license license:gpl2+)))
76212b57
ML
735
736(define-public xbindkeys
737 (package
738 (name "xbindkeys")
739 (version "1.8.6")
740 (source (origin
741 (method url-fetch)
742 ;; Download from the savannah mirror list fails
743 (uri (string-append
744 "http://www.nongnu.org/xbindkeys/xbindkeys-"
745 version
746 ".tar.gz"))
747 (sha256
748 (base32
749 "060df6d8y727jp1inp7blp44cs8a7jig7vcm8ndsn6gw36z1h3bc"))))
750 (build-system gnu-build-system)
751 (inputs
752 `(("libx11" ,libx11)
753 ("guile" ,guile-2.0)))
340978d7 754 (home-page "https://www.nongnu.org/xbindkeys/")
76212b57
ML
755 (synopsis "Associate a combination of keys with a shell command")
756 (description
757 "XBindKeys is a program that allows you to launch shell commands with
758your keyboard or your mouse under the X Window System. It links commands to
759keys or mouse buttons, using a configuration file. It's independent of the
760window manager and can capture all keyboard keys (ex: Power, Wake...). It
761optionally supports a Guile-based configuration file layout, which enables you
762to access all XBindKeys internals, so you can have key combinations, double
763clicks or timed double clicks take actions. Also all functions that work in
764Guile will work for XBindKeys.")
765 (license license:gpl2+)))
42f2c2b9 766
998b8c07 767(define-public sxhkd
768 (package
769 (name "sxhkd")
f8f0b652 770 (version "0.5.9")
998b8c07 771 (source
772 (origin
f8f0b652
TGR
773 (method git-fetch)
774 (uri (git-reference
775 (url "https://github.com/baskerville/sxhkd")
776 (commit version)))
998b8c07 777 (sha256
778 (base32
f8f0b652 779 "0cw547x7vky55k3ksrmzmrra4zhslqcwq9xw0y4cmbvy4s1qf64v"))))
998b8c07 780 (build-system gnu-build-system)
781 (inputs
782 `(("asciidoc" ,asciidoc)
783 ("libxcb" ,libxcb)
784 ("xcb-util" ,xcb-util)
785 ("xcb-util-keysyms" ,xcb-util-keysyms)
786 ("xcb-util-wm" ,xcb-util-wm)))
787 (arguments
f8f0b652 788 `(#:phases (modify-phases %standard-phases (delete 'configure))
998b8c07 789 #:tests? #f ; no check target
f8f0b652
TGR
790 #:make-flags
791 (list "CC=gcc"
792 (string-append "PREFIX=" %output)
793 ;; Keep the documentation where the build system installs LICENSE.
794 (string-append "DOCPREFIX=" %output
795 "/share/doc/" ,name "-" ,version))))
998b8c07 796 (home-page "https://github.com/baskerville/sxhkd")
797 (synopsis "Simple X hotkey daemon")
798 (description "sxhkd is a simple X hotkey daemon with a powerful and
799compact configuration syntax.")
800 (license license:bsd-2)))
801
42f2c2b9
AG
802(define-public rxvt-unicode
803 (package
804 (name "rxvt-unicode")
71ca0539 805 (version "9.22")
1ef3f91a
ML
806 (source (origin
807 (method url-fetch)
63999415 808 (uri (string-append "http://dist.schmorp.de/rxvt-unicode/Attic/"
1ef3f91a 809 name "-" version ".tar.bz2"))
0fd0bb56 810 (patches (search-patches "rxvt-unicode-escape-sequences.patch"))
1ef3f91a
ML
811 (sha256
812 (base32
71ca0539 813 "1pddjn5ynblwfrdmskylrsxb9vfnk3w4jdnq2l8xn2pspkljhip9"))))
42f2c2b9 814 (build-system gnu-build-system)
1ef3f91a
ML
815 (arguments
816 ;; This sets the destination when installing the necessary terminal
817 ;; capability data, which are not provided by 'ncurses'. See
818 ;; https://lists.gnu.org/archive/html/bug-ncurses/2009-10/msg00031.html
33c93ea3 819 `(#:make-flags (list (string-append "TERMINFO="
1ef3f91a 820 (assoc-ref %outputs "out")
33c93ea3 821 "/share/terminfo"))
822 #:phases
823 (modify-phases %standard-phases
824 (add-after 'install 'install-desktop-urxvt
825 (lambda* (#:key outputs #:allow-other-keys)
826 (let* ((output (assoc-ref outputs "out"))
827 (desktop (string-append output "/share/applications")))
828 (mkdir-p desktop)
829 (with-output-to-file
830 (string-append desktop "/urxvt.desktop")
831 (lambda _
832 (format #t
833 "[Desktop Entry]~@
834 Name=rxvt-unicode~@
835 Comment=~@
836 Exec=~a/bin/urxvt~@
837 TryExec=~@*~a/bin/urxvt~@
838 Icon=~@
839 Type=Application~%"
840 output)))
841 #t)))
842 (add-after 'install 'install-desktop-urxvtc
843 (lambda* (#:key outputs #:allow-other-keys)
844 (let* ((output (assoc-ref outputs "out"))
845 (desktop (string-append output "/share/applications")))
846 (mkdir-p desktop)
847 (with-output-to-file
848 (string-append desktop "/urxvtc.desktop")
849 (lambda _
850 (format #t
851 "[Desktop Entry]~@
120349bf 852 Name=rxvt-unicode (client)~@
33c93ea3 853 Comment=Rxvt clone with XFT and unicode support~@
854 Exec=~a/bin/urxvtc~@
855 TryExec=~@*~a/bin/urxvtc~@
856 Icon=~@
857 Type=Application~%"
858 output)))
859 #t))))))
42f2c2b9
AG
860 (inputs
861 `(("libXft" ,libxft)
862 ("libX11" ,libx11)))
863 (native-inputs
1ef3f91a
ML
864 `(("ncurses" ,ncurses) ;trigger the installation of terminfo data
865 ("perl" ,perl)
42f2c2b9 866 ("pkg-config" ,pkg-config)))
1ef3f91a
ML
867 ;; FIXME: This should only be located in 'ncurses'. Nonetheless it is
868 ;; provided for usability reasons. See <https://bugs.gnu.org/22138>.
869 (native-search-paths
870 (list (search-path-specification
871 (variable "TERMINFO_DIRS")
872 (files '("share/terminfo")))))
42f2c2b9
AG
873 (home-page "http://software.schmorp.de/pkg/rxvt-unicode.html")
874 (synopsis "Rxvt clone with XFT and unicode support")
875 (description "Rxvt-unicode (urxvt) is a colour vt102 terminal emulator
876intended as an xterm replacement for users who do not require features such as
877Tektronix 4014 emulation and toolkit-style configurability. It supports
878unicode, XFT and may be extended with Perl plugins. It also comes with a
879client/daemon pair that lets you open any number of terminal windows from
880within a single process.")
881 (license license:gpl3+)))
ca0d2a63
AG
882
883(define-public xcape
884 (package
885 (name "xcape")
82f44a36 886 (version "1.2")
4bb74ed5
RW
887 (source (origin
888 (method git-fetch)
889 (uri (git-reference
890 (url "https://github.com/alols/xcape.git")
891 (commit (string-append "v" version))))
892 (file-name (git-file-name name version))
893 (sha256
894 (base32
895 "09a05cxgrip6nqy1qmwblamp2bhknqnqmxn7i2a1rgxa0nba95dm"))))
ca0d2a63
AG
896 (build-system gnu-build-system)
897 (arguments
898 `(#:tests? #f ; no check target
dc1d3cde
KK
899 ;; no configure script
900 #:phases (modify-phases %standard-phases (delete 'configure))
ca0d2a63
AG
901 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
902 "MANDIR=/share/man/man1"
903 "CC=gcc")))
904 (inputs
905 `(("libxtst" ,libxtst)
906 ("libx11" ,libx11)))
907 (native-inputs
908 `(("pkg-config" ,pkg-config)))
7bf837fd 909 (home-page "https://github.com/alols/xcape")
ca0d2a63
AG
910 (synopsis "Use a modifier key in X.org as another key")
911 (description
912 "This utility for X.org allows to use modifier key as another key when
913pressed and released on its own. The default behaviour is to generate the
914Escape key when Left Control is pressed and released on its own.")
915 (license license:gpl3+)))
f1f7049e
AW
916
917(define-public libwacom
918 (package
919 (name "libwacom")
b3ce80d2 920 (version "0.31")
f1f7049e
AW
921 (source (origin
922 (method url-fetch)
0ac68e72
TGR
923 (uri (string-append
924 "https://github.com/linuxwacom/libwacom/releases/download/"
925 name "-" version "/" name "-" version ".tar.bz2"))
f1f7049e
AW
926 (sha256
927 (base32
b3ce80d2 928 "00xzkxhm0s9bvhbf27hscjbh17wa8lcgvxjqbmzm527f9cjqrm8q"))))
f1f7049e
AW
929 (build-system glib-or-gtk-build-system)
930 (native-inputs
931 `(("pkg-config" ,pkg-config)))
932 (inputs
34efce4f 933 `(("gtk+" ,gtk+)
b9cbe316 934 ("libgudev" ,libgudev)
f1f7049e
AW
935 ("eudev" ,eudev)
936 ("libxml2" ,libxml2)))
34efce4f
AW
937 (propagated-inputs
938 ;; libwacom includes header files that include GLib, and libinput uses
939 ;; those header files.
940 `(("glib" ,glib)))
81dc1d12 941 (home-page "https://linuxwacom.github.io/")
f1f7049e
AW
942 (synopsis "Helper library for Wacom tablet settings")
943 (description
34efce4f
AW
944 "Libwacom is a library to help implement Wacom tablet settings. It is
945intended to be used by client-programs that need model identification. It is
946already being used by the gnome-settings-daemon and the GNOME Control Center
947Wacom tablet applet.")
f1f7049e 948 (license license:x11)))
ab42a2a7
AW
949
950(define-public xf86-input-wacom
951 (package
952 (name "xf86-input-wacom")
fe049752
TGR
953 (version "0.36.1")
954 (source
955 (origin
956 (method url-fetch)
957 (uri (string-append
958 "https://github.com/linuxwacom/xf86-input-wacom/releases/download/"
959 name "-" version "/" name "-" version ".tar.bz2"))
960 (sha256
961 (base32
962 "029y8varbricba2dzhzhy0ndd7lbfif411ca8c3wxzni9qmbj1ij"))))
ab42a2a7
AW
963 (arguments
964 `(#:configure-flags
965 (list (string-append "--with-sdkdir="
966 (assoc-ref %outputs "out")
967 "/include/xorg")
968 (string-append "--with-xorg-conf-dir="
969 (assoc-ref %outputs "out")
970 "/share/X11/xorg.conf.d"))))
971 (build-system gnu-build-system)
972 (native-inputs
973 `(("pkg-config" ,pkg-config)))
974 (inputs
975 `(("xorg-server" ,xorg-server)
976 ("libxrandr" ,libxrandr)
977 ("libxinerama" ,libxinerama)
978 ("libxi" ,libxi)
979 ("eudev" ,eudev)))
81dc1d12 980 (home-page "https://linuxwacom.github.io/")
ab42a2a7
AW
981 (synopsis "Wacom input driver for X")
982 (description
983 "The xf86-input-wacom driver is the wacom-specific X11 input driver for
984the X.Org X Server version 1.7 and later (X11R7.5 or later).")
985 (license license:x11)))
6645753b
FPS
986
987(define-public redshift
988 (package
989 (name "redshift")
a5a568d2 990 (version "1.12")
6645753b
FPS
991 (source
992 (origin
993 (method url-fetch)
994 (uri
995 (string-append "https://github.com/jonls/redshift/"
996 "releases/download/v" version
997 "/redshift-" version ".tar.xz"))
998 (sha256
999 (base32
a5a568d2 1000 "1fi27b73x85qqar526dbd33av7mahca2ykaqwr7siqiw1qqcby6j"))))
6645753b
FPS
1001 (build-system gnu-build-system)
1002 (native-inputs
1003 `(("pkg-config" ,pkg-config)
1004 ("intltool" ,intltool)))
1005 (inputs
1006 `(("libdrm" ,libdrm)
1007 ("libx11" ,libx11)
1008 ("libxcb" ,libxcb)
b3546174 1009 ("libxxf86vm" ,libxxf86vm)
a5a568d2 1010 ("glib" ,glib))) ; for Geoclue2 support
6645753b
FPS
1011 (home-page "https://github.com/jonls/redshift")
1012 (synopsis "Adjust the color temperature of your screen")
1013 (description
1014 "Redshift adjusts the color temperature according to the position of the
1015sun. A different color temperature is set during night and daytime. During
1016twilight and early morning, the color temperature transitions smoothly from
1017night to daytime temperature to allow your eyes to slowly adapt. At night the
1018color temperature should be set to match the lamps in your room.")
1019 (license license:gpl3+)))
b4c400a7
CAW
1020
1021(define-public xscreensaver
1022 (package
1023 (name "xscreensaver")
2bb187c4 1024 (version "5.42")
b4c400a7
CAW
1025 (source
1026 (origin
1027 (method url-fetch)
1028 (uri
1029 (string-append "https://www.jwz.org/xscreensaver/xscreensaver-"
1030 version ".tar.gz"))
1031 (sha256
1032 (base32
2bb187c4 1033 "1qfbsnj7201d03vf0b2lzxmlcq4kvkvzp48r5gcgsjr17c1sl7a4"))))
b4c400a7
CAW
1034 (build-system gnu-build-system)
1035 (arguments
1036 `(#:tests? #f ; no check target
1037 #:phases
1038 (modify-phases %standard-phases
1039 (add-before 'configure 'adjust-gtk-resource-paths
1040 (lambda _
1041 (substitute* '("driver/Makefile.in" "po/Makefile.in.in")
1042 (("@GTK_DATADIR@") "@datadir@")
c6bf07d1
MW
1043 (("@PO_DATADIR@") "@datadir@"))
1044 #t)))
b4c400a7
CAW
1045 #:configure-flags '("--with-pam" "--with-proc-interrupts"
1046 "--without-readdisplay")
2bb187c4
MB
1047 ;; FIXME: Remove CFLAGS once our default compiler is GCC6 or later.
1048 #:make-flags (list "CFLAGS=-std=c99"
1049 (string-append "AD_DIR="
b4c400a7
CAW
1050 (assoc-ref %outputs "out")
1051 "/usr/lib/X11/app-defaults"))))
1052 (native-inputs
1053 `(("pkg-config" ,pkg-config)
1054 ("intltool" ,intltool)))
1055 (inputs
1056 `(("libx11" ,libx11)
1057 ("libxext" ,libxext)
1058 ("libxi" ,libxi)
1059 ("libxt" ,libxt)
1060 ("libxft" ,libxft)
1061 ("libxmu" ,libxmu)
1062 ("libxpm" ,libxpm)
1063 ("libglade" ,libglade)
1064 ("libxml2" ,libxml2)
1065 ("libsm" ,libsm)
1066 ("libjpeg" ,libjpeg)
1067 ("linux-pam" ,linux-pam)
1068 ("pango" ,pango)
1069 ("gtk+" ,gtk+)
1070 ("perl" ,perl)
1071 ("cairo" ,cairo)
1072 ("bc" ,bc)
1073 ("libxrandr" ,libxrandr)
1074 ("glu" ,glu)
1075 ("glib" ,glib)))
1076 (home-page "https://www.jwz.org/xscreensaver/")
1077 (synopsis "Classic screen saver suite supporting screen locking")
1078 (description
1079 "xscreensaver is a popular screen saver collection with many entertaining
1080demos. It also acts as a nice screen locker.")
1081 ;; xscreensaver doesn't have a single copyright file and instead relies on
1082 ;; source comment headers, though most files have the same lax
1083 ;; permissions. To reduce complexity, we're pointing at Debian's
1084 ;; breakdown of the copyright information.
1085 (license (license:non-copyleft
1086 (string-append
1087 "http://metadata.ftp-master.debian.org/changelogs/"
706998e7 1088 "/main/x/xscreensaver/xscreensaver_5.36-1_copyright")))))
f40dfcd0 1089
cab1c117
MB
1090(define-public xsel
1091 (package
1092 (name "xsel")
1093 (version "1.2.0")
1094 (source (origin
1095 (method url-fetch)
1096 (uri (string-append "http://www.vergenet.net/~conrad/software"
1097 "/xsel/download/xsel-" version ".tar.gz"))
1098 (sha256
1099 (base32
1100 "070lbcpw77j143jrbkh0y1v10ppn1jwmjf92800w7x42vh4cw9xr"))))
1101 (build-system gnu-build-system)
1102 (inputs
1103 `(("libxt" ,libxt)))
1104 (home-page "http://www.vergenet.net/~conrad/software/xsel/")
1105 (synopsis "Manipulate X selection")
1106 (description
1107 "XSel is a command-line program for getting and setting the contents of
1108the X selection. Normally this is only accessible by manually highlighting
1109information and pasting it with the middle mouse button.
1110
1111XSel reads from standard input and writes to standard output by default,
1112but can also follow a growing file, display contents, delete entries and more.")
1113 (license (license:x11-style "file://COPYING"
1114 "See COPYING in the distribution."))))
1115
6cfd1a68
AK
1116(define-public xdpyprobe
1117 (package
1118 (name "xdpyprobe")
1119 (version "0.1")
1120 (source (origin
1121 (method url-fetch)
1122 (uri (string-append "https://github.com/alezost/" name
1123 "/releases/download/v" version
1124 "/" name "-" version ".tar.gz"))
1125 (sha256
1126 (base32
1127 "1h09wd2qcg08rj5hcakvdh9q01hkrj8vxly94ax3ch2x06lm0zq8"))))
1128 (build-system gnu-build-system)
1129 (inputs
1130 `(("libx11" ,libx11)))
1131 (home-page "https://github.com/alezost/xdpyprobe")
1132 (synopsis "Probe X server for connectivity")
1133 (description
1134 "Xdpyprobe is a tiny C program whose only purpose is to probe a
1135connectivity of the X server running on a particular @code{DISPLAY}.")
1136 (license license:gpl3+)))
1137
f40dfcd0
DM
1138(define-public rofi
1139 (package
1140 (name "rofi")
bf135622 1141 (version "1.5.2")
f40dfcd0
DM
1142 (source (origin
1143 (method url-fetch)
1144 (uri (string-append "https://github.com/DaveDavenport/rofi/"
1145 "releases/download/"
1146 version "/rofi-" version ".tar.xz"))
1147 (sha256
1148 (base32
bf135622 1149 "17faa0rj8vqidrijwx9jrq0c29003n8v3izvc66yssfljgb8kcpj"))))
f40dfcd0
DM
1150 (build-system gnu-build-system)
1151 (inputs
68c35ba9 1152 `(("pango" ,pango)
f40dfcd0
DM
1153 ("cairo" ,cairo)
1154 ("glib" ,glib)
1155 ("startup-notification" ,startup-notification)
23e12d9d 1156 ("librsvg" ,librsvg)
f40dfcd0
DM
1157 ("libxkbcommon" ,libxkbcommon)
1158 ("libxcb" ,libxcb)
1159 ("xcb-util" ,xcb-util)
68c35ba9 1160 ("xcb-util-xrm" ,xcb-util-xrm)
f40dfcd0
DM
1161 ("xcb-util-wm" ,xcb-util-wm)))
1162 (native-inputs
23e12d9d 1163 `(("bison" ,bison)
dfdf8d74 1164 ("check" ,check)
23e12d9d 1165 ("flex" ,flex)
a3a7eb2f 1166 ("glib:bin" ,glib "bin")
23e12d9d 1167 ("pkg-config" ,pkg-config)))
f40dfcd0 1168 (arguments
46d6219d
MB
1169 `(#:parallel-tests? #f ; May fail in some circumstances.
1170 #:phases
f40dfcd0
DM
1171 (modify-phases %standard-phases
1172 (add-before 'configure 'adjust-tests
1173 (lambda _
1174 (substitute* '("test/helper-expand.c")
1175 (("~root") "/root")
1176 (("~") "")
a3a7eb2f 1177 (("g_get_home_dir \\(\\)") "\"/\""))
576e0ae4 1178 #t)))))
06229f18 1179 (home-page "https://github.com/DaveDavenport/rofi")
89be33f7
TGR
1180 (synopsis "Application launcher")
1181 (description "Rofi is a minimalist application launcher. It memorizes which
1182applications you regularly use and also allows you to search for an application
f40dfcd0
DM
1183by name.")
1184 (license license:expat)))
751f6871
ML
1185
1186(define-public tint2
1187 (package
1188 (name "tint2")
1ffe4171 1189 (version "0.14.6")
751f6871
ML
1190 (source (origin
1191 (method url-fetch)
1192 (uri (string-append "https://gitlab.com/o9000/" name
1193 "/repository/archive.tar.gz?ref=" version))
1194 (file-name (string-append name "-" version ".tar.gz"))
1195 (sha256
1196 (base32
1ffe4171 1197 "1kwzwxy4myagybm3rc7dgynfgp75742n348qibn1p2an9ggyivda"))))
751f6871
ML
1198 (build-system cmake-build-system)
1199 (arguments
1200 '(#:tests? #f ;no test target
1201 #:phases
1202 (modify-phases %standard-phases
1203 (add-after 'unpack 'fix-installation-prefix
1204 (lambda _
1205 (substitute* "CMakeLists.txt"
c6bf07d1
MW
1206 (("/etc") "${CMAKE_INSTALL_PREFIX}/etc"))
1207 #t)))))
751f6871
ML
1208 (inputs
1209 `(("gtk+" ,gtk+-2)
1210 ("imlib2" ,imlib2)
1211 ("librsvg" ,librsvg)
1212 ("libxcomposite" ,libxcomposite)
1213 ("libxdamage" ,libxdamage)
1214 ("libxft" ,libxft)
1215 ("libxinerama" ,libxinerama)
1216 ("libxrandr" ,libxrandr)
1217 ("startup-notification" ,startup-notification)))
1218 (native-inputs
b94a6ca0 1219 `(("gettext" ,gettext-minimal)
751f6871
ML
1220 ("pkg-config" ,pkg-config)))
1221 (home-page "https://gitlab.com/o9000/tint2")
1222 (synopsis "Lightweight task bar")
1223 (description
1224 "Tint2 is a simple task bar made for modern X window managers. It was
1225specifically made for Openbox but it should also work with other window
1226managers (GNOME, KDE, XFCE etc.).
1227
1228The taskbar includes transparency and color settings for the font, icons,
1229border, and background. It also supports multihead setups, customized mouse
1230actions, a built-in clock, a battery monitor and a system tray.")
1231 (license license:gpl2)))
4493a3c2 1232
37447422
MM
1233(define-public dzen
1234 (let ((commit "488ab66019f475e35e067646621827c18a879ba1")
1235 (revision "1"))
1236 (package
1237 (name "dzen")
1238 (version (string-append "0.9.5-" ; Taken from `config.mk`.
1239 revision "." (string-take commit 7)))
1240 (source (origin
1241 (method git-fetch)
1242 (uri (git-reference
1243 (url "https://github.com/robm/dzen.git")
1244 (commit commit)))
1245 (file-name (string-append name "-" version))
1246 (sha256
1247 (base32
1248 "0y47d6ii87vf4a517gi4fh0yl06f8b085sra77immnsasbq9pxnw"))))
1249 (build-system gnu-build-system)
1250 (arguments
1251 `(#:tests? #f ; No test suite.
1252 #:make-flags ; Replacement for `config.mk`.
1253 (list
1254 (string-append "VERSION = " ,version)
1255 (string-append "PREFIX = " %output)
1256 "MANPREFIX = ${PREFIX}/share/man"
1257 "INCS = -I."
1258 "LIBS = -lc -lX11 -lXinerama -lXpm $(shell pkg-config --libs xft)"
1259 "CFLAGS = -Wall -Os ${INCS} -DVERSION=\\\"${VERSION}\\\"\
1260 -DDZEN_XINERAMA -DDZEN_XPM -DDZEN_XFT $(shell pkg-config --cflags xft)"
1261 "LDFLAGS = ${LIBS}"
1262 "CC = gcc"
1263 "LD = ${CC}")
1264 #:phases
1265 (modify-phases %standard-phases
1266 (delete 'configure) ; No configuration script.
1267 ;; Use own make-flags instead of `config.mk`.
1268 (add-before 'build 'dont-include-config-mk
1269 (lambda _
1270 (substitute* "Makefile" (("include config.mk") ""))
1271 #t)))))
1272 (inputs
1273 `(("libx11" ,libx11)
1274 ("libxft" ,libxft)
1275 ("libxpm" ,libxpm)
1276 ("libxinerama" ,libxinerama)))
1277 (native-inputs `(("pkg-config" ,pkg-config)))
1278 (synopsis "General purpose messaging, notification and menuing program for X11")
1279 (description "Dzen is a general purpose messaging, notification and menuing
1280program for X11. It was designed to be fast, tiny and scriptable in any language.")
1281 (home-page "https://github.com/robm/dzen")
1282 (license license:expat))))
1283
4493a3c2
MB
1284(define-public xcb-util-xrm
1285 (package
1286 (name "xcb-util-xrm")
40fb6b84 1287 (version "1.3")
4493a3c2
MB
1288 (source (origin
1289 (method url-fetch)
1290 (uri (string-append
1291 "https://github.com/Airblader/xcb-util-xrm/releases"
1292 "/download/v" version "/xcb-util-xrm-" version ".tar.bz2"))
1293 (sha256
1294 (base32
40fb6b84 1295 "118cj1ybw86pgw0l5whn9vbg5n5b0ijcpx295mwahzi004vz671h"))
4493a3c2
MB
1296 (modules '((guix build utils)))
1297 (snippet
1298 ;; Drop bundled m4.
6cbee49d
MW
1299 '(begin
1300 (delete-file-recursively "m4")
1301 #t))))
4493a3c2
MB
1302 (build-system gnu-build-system)
1303 (native-inputs
1304 `(("pkg-config" ,pkg-config)
1305 ("m4" ,m4)
1306 ("libx11" ,libx11))) ; for tests
1307 (inputs
1308 `(("libxcb" ,libxcb)
1309 ("xcb-util" ,xcb-util)))
1310 (home-page "https://github.com/Airblader/xcb-util-xrm")
1311 (synopsis "XCB utility functions for the X resource manager")
1312 (description
1313 "The XCB util module provides a number of libraries which sit on
1314top of libxcb, the core X protocol library, and some of the extension
1315libraries. These experimental libraries provide convenience functions
1316and interfaces which make the raw X protocol more usable. Some of the
1317libraries also provide client-side code which is not strictly part of
1318the X protocol but which has traditionally been provided by Xlib.
1319
1320XCB util-xrm module provides the following libraries:
1321
1322- xrm: utility functions for the X resource manager.")
1323 (license license:x11)))
01278f16
P
1324
1325(define-public xcalib
1326 (package
1327 (name "xcalib")
6d727bf4
TGR
1328 (version "0.10")
1329 (home-page "https://github.com/OpenICC/xcalib")
01278f16 1330 (source (origin
6d727bf4
TGR
1331 (method git-fetch)
1332 (uri (git-reference
1333 (url home-page)
1334 (commit version)))
01278f16
P
1335 (sha256
1336 (base32
6d727bf4
TGR
1337 "05fzdjmhiafgi2jf0k41i3nm0837a78sb6yv59cwc23nla8g0bhr"))
1338 (patches
1339 (list
1340 ;; Add missing documentation for the new --output option.
1341 ;; This upstream patch can be removed on the next update.
1342 (origin
1343 (method url-fetch)
1344 (uri (string-append
1345 home-page "/commit/"
1346 "ae03889b91fe984b18e925ad2b5e6f2f7354e058.patch"))
1347 (file-name "xcalib-update-man-page.patch")
1348 (sha256
1349 (base32
1350 "0f7b4d5484x4b9n1bwhqmar0kcaa029ffff7bp3xpr734n1qgqb6")))))))
1351 (build-system cmake-build-system)
01278f16 1352 (arguments
6d727bf4 1353 '(#:tests? #f)) ; no test suite
c695fb76
TGR
1354 (inputs `(("libx11" ,libx11)
1355 ("libxext" ,libxext)
6d727bf4 1356 ("libxrandr" ,libxrandr)
c695fb76 1357 ("libxxf86vm" ,libxxf86vm)))
01278f16
P
1358 (synopsis "Tiny monitor calibration loader for XFree86 (or X.org)")
1359 (description "xcalib is a tiny tool to load the content of vcgt-Tags in ICC
1360profiles to the video card's gamma ramp. It does work with most video card
1361drivers except the generic VESA driver. Alter brightness, contrast, RGB, and
1362invert colors on a specific display/screen.")
01278f16 1363 (license license:gpl2)))
f021382b
MB
1364
1365(define-public nxbelld
1366 (package
1367 (name "nxbelld")
1368 (version "0.1.2")
1369 (source (origin
1370 (method git-fetch)
1371 (uri (git-reference
1372 (url "https://github.com/dusxmt/nxbelld.git")
1373 (commit version)))
1374 (sha256
1375 (base32
1376 "04qwhmjs51irinz5mjlxdb3dc6vr79dqmc5fkj80x1ll3ylh5n3z"))
1377 (file-name (git-file-name name version))))
1378 (build-system gnu-build-system)
1379 (arguments '(#:configure-flags `("--enable-sound"
1380 "--enable-wave"
4cbbb160
RW
1381 "--enable-alsa")))
1382 (native-inputs `(("autoconf" ,autoconf)
1383 ("automake" ,automake)
1384 ("pkg-config" ,pkg-config)
1385 ("perl" ,perl)))
f021382b
MB
1386 (inputs `(("libx11" ,libx11)
1387 ("alsa-lib" ,alsa-lib)))
1388 (synopsis "Daemon that performs an action every time the X11 bell is rung")
1389 (description "nxbelld is a tiny utility to aid people who either don't
1390like the default PC speaker beep, or use a sound driver that doesn't have
1391support for the PC speaker. The utility performs a given action every time
1392the X bell is rung. The actions nxbelld can currently perform include running
1393a specified program, emulating the PC speaker beep using the sound card (default),
1394or playing a PCM encoded WAVE file.")
1395 (home-page "https://github.com/dusxmt/nxbelld")
1396 (license license:gpl3+)))
1d752e43
MG
1397
1398(define-public xautolock
1399 (package
1400 (name "xautolock")
1401 (version "2.2")
1402 (source (origin
1403 (method url-fetch)
1404 (uri (string-append "http://www.ibiblio.org/pub/linux/X11/screensavers/"
1405 name "-" version ".tgz"))
1406 (sha256
1407 (base32
1408 "18jd3k3pvlm5x1adyqw63z2b3f4ixh9mfvz9asvnskk3fm8jgw0i"))))
1409 (build-system gnu-build-system)
1410 (native-inputs
1411 `(("imake" ,imake)))
1412 (inputs
1413 `(("libx11" ,libx11)
1414 ("libxext" ,libxext)
1415 ("libxscrnsaver" ,libxscrnsaver)))
1416 (arguments
1417 `(#:tests? #f
1418 #:phases
1419 (modify-phases %standard-phases
1420 (replace 'configure
1421 (lambda* (#:key inputs outputs #:allow-other-keys)
1422 (let ((imake (assoc-ref inputs "imake"))
1423 (out (assoc-ref outputs "out")))
1424 ;; Generate Makefile
1425 (invoke "xmkmf")
1426 (substitute* "Makefile"
1427 ;; These imake variables somehow remain undefined
1428 (("DefaultGcc2[[:graph:]]*Opt") "-O2")
1429 ;; Reset a few variable defaults that are set in imake templates
1430 ((imake) out)
1431 (("(MANPATH = )[[:graph:]]*" _ front)
1432 (string-append front out "/share/man")))
1433 ;; Old BSD-style 'union wait' is unneeded (defining
1434 ;; _USE_BSD did not seem to fix it)
1435 (substitute* "src/engine.c"
1436 (("union wait status") "int status = 0"))
1437 #t)))
1438 (add-after 'install 'install/man
1439 (lambda _
e61c2991 1440 (invoke "make" "install.man"))))))
1d752e43
MG
1441 (home-page "http://ibiblio.org/pub/Linux/X11/screensavers/")
1442 (synopsis "Program launcher for idle X sessions")
1443 (description "Xautolock monitors input devices under the X Window
1444System, and launches a program of your choice if there is no activity after
1445a user-configurable period of time.")
1446 (license license:gpl2)))
af1e3dfe
T
1447
1448(define-public screen-message
1449 (package
1450 (name "screen-message")
1451 (version "0.25")
1452 (source (origin
1453 (method url-fetch)
1454 (uri (string-append
1455 "https://www.joachim-breitner.de/archive/screen-message"
1456 "/screen-message-" version ".tar.gz"))
1457 (sha256
1458 (base32
1459 "1lw955qq5pq010lzmaf32ylj2iprgsri9ih4hx672c3f794ilab0"))))
1460 (build-system gnu-build-system)
1461 (inputs `(("gtk3" ,gtk+)
1462 ("gdk" ,gdk-pixbuf)
1463 ("pango" ,pango)))
1464 (native-inputs `(("pkg-config" ,pkg-config)))
1465 (arguments
1466 ;; The default configure puts the 'sm' binary in games/ instead of bin/ -
1467 ;; this fixes it:
1468 `(#:make-flags (list (string-append "execgamesdir=" %output "/bin"))))
1469 (synopsis "Print messages on your screen")
1470 (description "@code{screen-message} is a tool for displaying text on
1471your screen. It will make the text as large as possible and display it
1472with black color on a white background (colors are configurable on the
1473commandline).")
1474 (home-page "https://www.joachim-breitner.de/projects#screen-message")
1475 (license license:gpl2+)))
428adbc2
PN
1476
1477(define-public xss-lock
1478 ;; xss-lock does not seem to be maintained any longer, but the last commits
1479 ;; fix important issues so we package them.
1480 (let ((version "0.3.0")
1481 (revision "1")
1482 (commit "1e158fb20108058dbd62bd51d8e8c003c0a48717"))
1483 (package
1484 (name "xss-lock")
1485 (version (git-version version revision commit))
1486 (source (origin
1487 (method git-fetch)
1488 (uri (git-reference
1489 (url "https://bitbucket.org/raymonad/xss-lock.git")
1490 (commit commit)))
1491 (file-name (git-file-name name version))
1492 (sha256
1493 (base32
1494 "10hx7k7ga8g08akwz8qrsvj8iqr5nd4siiva6sjx789jvf0sak7r"))))
1495 (build-system cmake-build-system)
1496 (inputs `(("glib" ,glib)
1497 ("xcb-util" ,xcb-util)))
1498 (native-inputs
1499 `(("python-docutils" ,python-docutils)
1500 ("pkg-config" ,pkg-config)))
1501 (arguments
1502 `(#:tests? #f))
1503 (synopsis "Use external screen locker on events")
1504 (description "@code{xss-lock} listens to X signals to fire up a
1505user-defined screensaver. In effect this allows to automatically lock the
1506screen when closing a laptop lid or after a period of user inactivity (as set
1507with @code{xset s TIMEOUT}). The notifier command, if specified, is executed
1508first. Additionally, xss-lock uses the inhibition logic to lock the screen
1509before the system goes to sleep.")
1510 (home-page "https://bitbucket.org/raymonad/xss-lock")
1511 (license license:expat))))
19110787
EF
1512
1513(define-public python-pyperclip
1514 (package
1515 (name "python-pyperclip")
1516 (version "1.6.4")
1517 (source
1518 (origin
1519 (method url-fetch)
1520 (uri (pypi-uri "pyperclip" version))
1521 (sha256
1522 (base32
1523 "1p505c23ji06r28k1y67siihsbdzdf1brhlqpyv9ams4gk9863pp"))))
1524 (build-system python-build-system)
1525 (arguments
1526 '(#:tests? #f)) ; Not clear how to make tests pass.
1527 (inputs
1528 `(("xclip" ,xclip)
1529 ("xsel" ,xsel)))
1530 (home-page "https://github.com/asweigart/pyperclip")
1531 (synopsis "Python clipboard module")
1532 (description
1533 "Pyperclip is a clipboard module for Python, handling copy/pasting from
1534the X11 clipboard")
1535 (license license:bsd-3)))
90337891
PN
1536
1537(define-public numlockx
1538 (package
1539 (name "numlockx")
1540 (version "1.2")
1541 (source (origin
1542 (method git-fetch)
1543 (uri (git-reference
1544 ;; It seems that upstream is gone.
1545 (url "https://github.com/rg3/numlockx")
1546 (commit version)))
1547 (file-name (git-file-name name version))
1548 (sha256
1549 (base32
1550 "1w49fayhwzn5rx0z1q2lrvm7z8jrd34lgb89p853a024bixc3cf2"))))
1551 (build-system gnu-build-system)
1552 (inputs
1553 `(("xorg-server" ,xorg-server)))
1554 (home-page "https://github.com/rg3/numlockx")
1555 (synopsis "Turns on the numlock key in X11")
1556 (description "@command{numlockx} is a tiny program that lets you turn on
1557the numlock key in X11. It can be called from the user's initialization files
1558to automatically turn it on on login.")
1559 (license license:expat)))
67e0fb8b
RW
1560
1561(define-public xrandr-invert-colors
1562 (package
1563 (name "xrandr-invert-colors")
1564 (version "0.01")
1565 (source (origin
1566 (method git-fetch)
1567 (uri (git-reference
1568 (url "https://github.com/zoltanp/xrandr-invert-colors.git")
1569 (commit (string-append "v" version))))
1570 (file-name (git-file-name name version))
1571 (sha256
1572 (base32
1573 "1br3x9vr6xm4ika06n8cfxx1b3wdchdqvyzjl4y1chmivrml8x9h"))))
1574 (build-system gnu-build-system)
1575 (arguments
1576 `(#:make-flags (list "CC=gcc")
1577 #:tests? #f ; there are none
1578 #:phases
1579 (modify-phases %standard-phases
1580 (delete 'configure)
1581 (replace 'install
1582 (lambda* (#:key outputs #:allow-other-keys)
1583 (let* ((out (assoc-ref outputs "out"))
1584 (bin (string-append out "/bin")))
1585 (install-file "xrandr-invert-colors.bin" bin)
1586 #t))))))
1587 (inputs
1588 `(("libxrandr" ,libxrandr)))
1589 (home-page "https://github.com/zoltanp/xrandr-invert-colors")
1590 (synopsis "Invert display colors")
1591 (description "This package provides a small utility for inverting the
1592colors on all monitors attached to an XRandR-capable X11 display server.")
1593 (license license:gpl3+)))
d852cf9e
NN
1594
1595(define-public sct
1596 (package
1597 (name "sct")
1598 (version "0.4")
1599 (source
1600 (origin
1601 (method url-fetch)
1602 (uri
1603 (string-append "https://www.umaxx.net/dl/sct-"
1604 version ".tar.gz"))
1605 (sha256
1606 (base32
1607 "0r57z9ki8pvxhawfxys0v5h85z2x211sqxki0xvk1bga88ryldlv"))))
1608 (build-system gnu-build-system)
1609 (arguments
1610 '(#:make-flags (list "CC=gcc")
1611 #:tests? #f ; No tests exist.
1612 #:phases
1613 (modify-phases %standard-phases
1614 (delete 'configure)
1615 (add-after 'unpack 'fix-sctd-paths
1616 (lambda* (#:key outputs inputs #:allow-other-keys)
1617 (let ((out (assoc-ref outputs "out"))
1618 (coreutils (assoc-ref inputs "coreutils"))
1619 (inetutils (assoc-ref inputs "inetutils"))
1620 (sed (assoc-ref inputs "sed")))
1621 (substitute* "sctd.sh"
1622 (("\\$\\(which sct\\)") (string-append out "/bin/sct"))
1623 (("date") (string-append coreutils "/bin/date"))
1624 (("printf") (string-append coreutils "/bin/printf"))
1625 (("sleep") (string-append coreutils "/bin/sleep"))
1626 (("logger") (string-append inetutils "/bin/logger"))
1627 (("sed") (string-append sed "/bin/sed"))))))
1628 (replace 'install
1629 (lambda* (#:key outputs #:allow-other-keys)
1630 (let ((out (assoc-ref outputs "out")))
1631 (install-file "sct" (string-append out "/bin"))
1632 (install-file "sctd.sh" (string-append out "/bin"))
1633 (install-file "sct.1" (string-append out "/man/man1"))
1634 (install-file "sctd.1" (string-append out "/man/man1"))
1635 (rename-file (string-append out "/bin/sctd.sh")
1636 (string-append out "/bin/sctd"))
1637 #t))))))
1638 (inputs
1639 `(("coreutils" ,coreutils) ; sctd uses "date", "printf" and "sleep"
1640 ("inetutils" ,inetutils) ; sctd uses "logger"
1641 ("libxrandr" ,libxrandr)
1642 ("sed" ,sed))) ; sctd uses "sed"
1643 (home-page "https://www.umaxx.net")
1644 (synopsis "Set the color temperature of the screen")
1645 (description "@code{sct} is a lightweight utility to set the color
1646temperature of the screen.")
dbd346ae 1647 (license (license:non-copyleft "file://sct.c")))) ; "OpenBSD" license
95bf2fb6
RH
1648
1649(define-public wl-clipboard
1650 (package
1651 (name "wl-clipboard")
1652 (version "1.0.0")
1653 (source
1654 (origin
1655 (method git-fetch)
1656 (uri (git-reference
1657 (url "https://github.com/bugaevc/wl-clipboard.git")
1658 (commit (string-append "v" version))))
1659 (file-name (git-file-name name version))
1660 (sha256
1661 (base32 "03h6ajcc30w6928bkd4h6xfj4iy2359ww6hdlybq8mr1zwmb2h0q"))))
1662 (build-system meson-build-system)
1663 (native-inputs
1664 `(("pkg-config" ,pkg-config)))
1665 (inputs
1666 `(("wayland" ,wayland)
1667 ("wayland-protocols" ,wayland-protocols)))
1668 (home-page "https://github.com/bugaevc/wl-clipboard")
1669 (synopsis "Command-line copy/paste utilities for Wayland")
1670 (description "Wl-clipboard is a set of command-line copy/paste utilities for
1671Wayland.")
1672 (license license:gpl3+)))