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