gnu: fluidsynth: Update to 2.0.5.
[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>
47956fa0 20;;; Copyright © 2017 ng0 <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"))))))
8f350d83 182 (synopsis "Auto-detect connected displays and load appropriate setup")
d748cb5f
PN
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")
62321a55 810 (version "0.6.0")
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
62321a55 818 (base32 "1cz4vkm7fqd51ly9qjkf5q76kdqdzfhaajgvrs4anz5dyzrdpw68"))))
998b8c07 819 (build-system gnu-build-system)
820 (inputs
821 `(("asciidoc" ,asciidoc)
822 ("libxcb" ,libxcb)
823 ("xcb-util" ,xcb-util)
824 ("xcb-util-keysyms" ,xcb-util-keysyms)
825 ("xcb-util-wm" ,xcb-util-wm)))
826 (arguments
f8f0b652 827 `(#:phases (modify-phases %standard-phases (delete 'configure))
998b8c07 828 #:tests? #f ; no check target
f8f0b652
TGR
829 #:make-flags
830 (list "CC=gcc"
831 (string-append "PREFIX=" %output)
832 ;; Keep the documentation where the build system installs LICENSE.
833 (string-append "DOCPREFIX=" %output
834 "/share/doc/" ,name "-" ,version))))
998b8c07 835 (home-page "https://github.com/baskerville/sxhkd")
836 (synopsis "Simple X hotkey daemon")
837 (description "sxhkd is a simple X hotkey daemon with a powerful and
838compact configuration syntax.")
839 (license license:bsd-2)))
840
42f2c2b9
AG
841(define-public rxvt-unicode
842 (package
843 (name "rxvt-unicode")
71ca0539 844 (version "9.22")
1ef3f91a
ML
845 (source (origin
846 (method url-fetch)
63999415 847 (uri (string-append "http://dist.schmorp.de/rxvt-unicode/Attic/"
1ef3f91a 848 name "-" version ".tar.bz2"))
0fd0bb56 849 (patches (search-patches "rxvt-unicode-escape-sequences.patch"))
1ef3f91a
ML
850 (sha256
851 (base32
71ca0539 852 "1pddjn5ynblwfrdmskylrsxb9vfnk3w4jdnq2l8xn2pspkljhip9"))))
42f2c2b9 853 (build-system gnu-build-system)
1ef3f91a
ML
854 (arguments
855 ;; This sets the destination when installing the necessary terminal
856 ;; capability data, which are not provided by 'ncurses'. See
857 ;; https://lists.gnu.org/archive/html/bug-ncurses/2009-10/msg00031.html
33c93ea3 858 `(#:make-flags (list (string-append "TERMINFO="
1ef3f91a 859 (assoc-ref %outputs "out")
33c93ea3 860 "/share/terminfo"))
861 #:phases
862 (modify-phases %standard-phases
863 (add-after 'install 'install-desktop-urxvt
864 (lambda* (#:key outputs #:allow-other-keys)
865 (let* ((output (assoc-ref outputs "out"))
866 (desktop (string-append output "/share/applications")))
867 (mkdir-p desktop)
868 (with-output-to-file
869 (string-append desktop "/urxvt.desktop")
870 (lambda _
871 (format #t
872 "[Desktop Entry]~@
873 Name=rxvt-unicode~@
874 Comment=~@
875 Exec=~a/bin/urxvt~@
876 TryExec=~@*~a/bin/urxvt~@
877 Icon=~@
878 Type=Application~%"
879 output)))
880 #t)))
881 (add-after 'install 'install-desktop-urxvtc
882 (lambda* (#:key outputs #:allow-other-keys)
883 (let* ((output (assoc-ref outputs "out"))
884 (desktop (string-append output "/share/applications")))
885 (mkdir-p desktop)
886 (with-output-to-file
887 (string-append desktop "/urxvtc.desktop")
888 (lambda _
889 (format #t
890 "[Desktop Entry]~@
120349bf 891 Name=rxvt-unicode (client)~@
33c93ea3 892 Comment=Rxvt clone with XFT and unicode support~@
893 Exec=~a/bin/urxvtc~@
894 TryExec=~@*~a/bin/urxvtc~@
895 Icon=~@
896 Type=Application~%"
897 output)))
898 #t))))))
42f2c2b9
AG
899 (inputs
900 `(("libXft" ,libxft)
901 ("libX11" ,libx11)))
902 (native-inputs
1ef3f91a
ML
903 `(("ncurses" ,ncurses) ;trigger the installation of terminfo data
904 ("perl" ,perl)
42f2c2b9 905 ("pkg-config" ,pkg-config)))
1ef3f91a
ML
906 ;; FIXME: This should only be located in 'ncurses'. Nonetheless it is
907 ;; provided for usability reasons. See <https://bugs.gnu.org/22138>.
908 (native-search-paths
909 (list (search-path-specification
910 (variable "TERMINFO_DIRS")
911 (files '("share/terminfo")))))
42f2c2b9
AG
912 (home-page "http://software.schmorp.de/pkg/rxvt-unicode.html")
913 (synopsis "Rxvt clone with XFT and unicode support")
914 (description "Rxvt-unicode (urxvt) is a colour vt102 terminal emulator
915intended as an xterm replacement for users who do not require features such as
916Tektronix 4014 emulation and toolkit-style configurability. It supports
917unicode, XFT and may be extended with Perl plugins. It also comes with a
918client/daemon pair that lets you open any number of terminal windows from
919within a single process.")
920 (license license:gpl3+)))
ca0d2a63
AG
921
922(define-public xcape
923 (package
924 (name "xcape")
82f44a36 925 (version "1.2")
4bb74ed5
RW
926 (source (origin
927 (method git-fetch)
928 (uri (git-reference
929 (url "https://github.com/alols/xcape.git")
930 (commit (string-append "v" version))))
931 (file-name (git-file-name name version))
932 (sha256
933 (base32
934 "09a05cxgrip6nqy1qmwblamp2bhknqnqmxn7i2a1rgxa0nba95dm"))))
ca0d2a63
AG
935 (build-system gnu-build-system)
936 (arguments
937 `(#:tests? #f ; no check target
dc1d3cde
KK
938 ;; no configure script
939 #:phases (modify-phases %standard-phases (delete 'configure))
ca0d2a63
AG
940 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
941 "MANDIR=/share/man/man1"
942 "CC=gcc")))
943 (inputs
944 `(("libxtst" ,libxtst)
945 ("libx11" ,libx11)))
946 (native-inputs
947 `(("pkg-config" ,pkg-config)))
7bf837fd 948 (home-page "https://github.com/alols/xcape")
ca0d2a63
AG
949 (synopsis "Use a modifier key in X.org as another key")
950 (description
951 "This utility for X.org allows to use modifier key as another key when
952pressed and released on its own. The default behaviour is to generate the
953Escape key when Left Control is pressed and released on its own.")
954 (license license:gpl3+)))
f1f7049e
AW
955
956(define-public libwacom
957 (package
958 (name "libwacom")
ab45191e 959 (version "0.33")
f1f7049e
AW
960 (source (origin
961 (method url-fetch)
0ac68e72
TGR
962 (uri (string-append
963 "https://github.com/linuxwacom/libwacom/releases/download/"
cffdcbef 964 "libwacom-" version "/libwacom-" version ".tar.bz2"))
f1f7049e
AW
965 (sha256
966 (base32
ab45191e 967 "1wnv34y7m9l6avlvwqvfrnksfnsz1lbgb412dn6s7x1h3wvs7y4l"))))
f1f7049e
AW
968 (build-system glib-or-gtk-build-system)
969 (native-inputs
970 `(("pkg-config" ,pkg-config)))
971 (inputs
34efce4f 972 `(("gtk+" ,gtk+)
b9cbe316 973 ("libgudev" ,libgudev)
f1f7049e
AW
974 ("eudev" ,eudev)
975 ("libxml2" ,libxml2)))
34efce4f
AW
976 (propagated-inputs
977 ;; libwacom includes header files that include GLib, and libinput uses
978 ;; those header files.
979 `(("glib" ,glib)))
81dc1d12 980 (home-page "https://linuxwacom.github.io/")
f1f7049e
AW
981 (synopsis "Helper library for Wacom tablet settings")
982 (description
34efce4f
AW
983 "Libwacom is a library to help implement Wacom tablet settings. It is
984intended to be used by client-programs that need model identification. It is
985already being used by the gnome-settings-daemon and the GNOME Control Center
986Wacom tablet applet.")
f1f7049e 987 (license license:x11)))
ab42a2a7
AW
988
989(define-public xf86-input-wacom
990 (package
991 (name "xf86-input-wacom")
fe049752
TGR
992 (version "0.36.1")
993 (source
994 (origin
995 (method url-fetch)
996 (uri (string-append
997 "https://github.com/linuxwacom/xf86-input-wacom/releases/download/"
998 name "-" version "/" name "-" version ".tar.bz2"))
999 (sha256
1000 (base32
1001 "029y8varbricba2dzhzhy0ndd7lbfif411ca8c3wxzni9qmbj1ij"))))
ab42a2a7
AW
1002 (arguments
1003 `(#:configure-flags
1004 (list (string-append "--with-sdkdir="
1005 (assoc-ref %outputs "out")
1006 "/include/xorg")
1007 (string-append "--with-xorg-conf-dir="
1008 (assoc-ref %outputs "out")
1009 "/share/X11/xorg.conf.d"))))
1010 (build-system gnu-build-system)
1011 (native-inputs
1012 `(("pkg-config" ,pkg-config)))
1013 (inputs
1014 `(("xorg-server" ,xorg-server)
1015 ("libxrandr" ,libxrandr)
1016 ("libxinerama" ,libxinerama)
1017 ("libxi" ,libxi)
1018 ("eudev" ,eudev)))
81dc1d12 1019 (home-page "https://linuxwacom.github.io/")
ab42a2a7
AW
1020 (synopsis "Wacom input driver for X")
1021 (description
1022 "The xf86-input-wacom driver is the wacom-specific X11 input driver for
1023the X.Org X Server version 1.7 and later (X11R7.5 or later).")
1024 (license license:x11)))
6645753b
FPS
1025
1026(define-public redshift
1027 (package
1028 (name "redshift")
a5a568d2 1029 (version "1.12")
6645753b
FPS
1030 (source
1031 (origin
1032 (method url-fetch)
1033 (uri
1034 (string-append "https://github.com/jonls/redshift/"
1035 "releases/download/v" version
1036 "/redshift-" version ".tar.xz"))
1037 (sha256
1038 (base32
a5a568d2 1039 "1fi27b73x85qqar526dbd33av7mahca2ykaqwr7siqiw1qqcby6j"))))
6645753b
FPS
1040 (build-system gnu-build-system)
1041 (native-inputs
1042 `(("pkg-config" ,pkg-config)
1043 ("intltool" ,intltool)))
1044 (inputs
1045 `(("libdrm" ,libdrm)
1046 ("libx11" ,libx11)
1047 ("libxcb" ,libxcb)
b3546174 1048 ("libxxf86vm" ,libxxf86vm)
a5a568d2 1049 ("glib" ,glib))) ; for Geoclue2 support
6645753b
FPS
1050 (home-page "https://github.com/jonls/redshift")
1051 (synopsis "Adjust the color temperature of your screen")
1052 (description
1053 "Redshift adjusts the color temperature according to the position of the
1054sun. A different color temperature is set during night and daytime. During
1055twilight and early morning, the color temperature transitions smoothly from
1056night to daytime temperature to allow your eyes to slowly adapt. At night the
1057color temperature should be set to match the lamps in your room.")
1058 (license license:gpl3+)))
b4c400a7
CAW
1059
1060(define-public xscreensaver
1061 (package
1062 (name "xscreensaver")
2bb187c4 1063 (version "5.42")
b4c400a7
CAW
1064 (source
1065 (origin
1066 (method url-fetch)
1067 (uri
1068 (string-append "https://www.jwz.org/xscreensaver/xscreensaver-"
1069 version ".tar.gz"))
1070 (sha256
1071 (base32
2bb187c4 1072 "1qfbsnj7201d03vf0b2lzxmlcq4kvkvzp48r5gcgsjr17c1sl7a4"))))
b4c400a7
CAW
1073 (build-system gnu-build-system)
1074 (arguments
1075 `(#:tests? #f ; no check target
1076 #:phases
1077 (modify-phases %standard-phases
1078 (add-before 'configure 'adjust-gtk-resource-paths
1079 (lambda _
1080 (substitute* '("driver/Makefile.in" "po/Makefile.in.in")
1081 (("@GTK_DATADIR@") "@datadir@")
c6bf07d1
MW
1082 (("@PO_DATADIR@") "@datadir@"))
1083 #t)))
b4c400a7
CAW
1084 #:configure-flags '("--with-pam" "--with-proc-interrupts"
1085 "--without-readdisplay")
2bb187c4
MB
1086 ;; FIXME: Remove CFLAGS once our default compiler is GCC6 or later.
1087 #:make-flags (list "CFLAGS=-std=c99"
1088 (string-append "AD_DIR="
b4c400a7
CAW
1089 (assoc-ref %outputs "out")
1090 "/usr/lib/X11/app-defaults"))))
1091 (native-inputs
1092 `(("pkg-config" ,pkg-config)
1093 ("intltool" ,intltool)))
1094 (inputs
1095 `(("libx11" ,libx11)
1096 ("libxext" ,libxext)
1097 ("libxi" ,libxi)
1098 ("libxt" ,libxt)
1099 ("libxft" ,libxft)
1100 ("libxmu" ,libxmu)
1101 ("libxpm" ,libxpm)
1102 ("libglade" ,libglade)
1103 ("libxml2" ,libxml2)
1104 ("libsm" ,libsm)
1105 ("libjpeg" ,libjpeg)
1106 ("linux-pam" ,linux-pam)
1107 ("pango" ,pango)
1108 ("gtk+" ,gtk+)
1109 ("perl" ,perl)
1110 ("cairo" ,cairo)
1111 ("bc" ,bc)
1112 ("libxrandr" ,libxrandr)
1113 ("glu" ,glu)
1114 ("glib" ,glib)))
1115 (home-page "https://www.jwz.org/xscreensaver/")
1116 (synopsis "Classic screen saver suite supporting screen locking")
1117 (description
1118 "xscreensaver is a popular screen saver collection with many entertaining
1119demos. It also acts as a nice screen locker.")
1120 ;; xscreensaver doesn't have a single copyright file and instead relies on
1121 ;; source comment headers, though most files have the same lax
1122 ;; permissions. To reduce complexity, we're pointing at Debian's
1123 ;; breakdown of the copyright information.
1124 (license (license:non-copyleft
1125 (string-append
1126 "http://metadata.ftp-master.debian.org/changelogs/"
706998e7 1127 "/main/x/xscreensaver/xscreensaver_5.36-1_copyright")))))
f40dfcd0 1128
cab1c117
MB
1129(define-public xsel
1130 (package
1131 (name "xsel")
1132 (version "1.2.0")
1133 (source (origin
1134 (method url-fetch)
1135 (uri (string-append "http://www.vergenet.net/~conrad/software"
1136 "/xsel/download/xsel-" version ".tar.gz"))
1137 (sha256
1138 (base32
1139 "070lbcpw77j143jrbkh0y1v10ppn1jwmjf92800w7x42vh4cw9xr"))))
1140 (build-system gnu-build-system)
1141 (inputs
1142 `(("libxt" ,libxt)))
1143 (home-page "http://www.vergenet.net/~conrad/software/xsel/")
1144 (synopsis "Manipulate X selection")
1145 (description
1146 "XSel is a command-line program for getting and setting the contents of
1147the X selection. Normally this is only accessible by manually highlighting
1148information and pasting it with the middle mouse button.
1149
1150XSel reads from standard input and writes to standard output by default,
1151but can also follow a growing file, display contents, delete entries and more.")
1152 (license (license:x11-style "file://COPYING"
1153 "See COPYING in the distribution."))))
1154
6cfd1a68
AK
1155(define-public xdpyprobe
1156 (package
1157 (name "xdpyprobe")
1158 (version "0.1")
1159 (source (origin
1160 (method url-fetch)
1161 (uri (string-append "https://github.com/alezost/" name
1162 "/releases/download/v" version
1163 "/" name "-" version ".tar.gz"))
1164 (sha256
1165 (base32
1166 "1h09wd2qcg08rj5hcakvdh9q01hkrj8vxly94ax3ch2x06lm0zq8"))))
1167 (build-system gnu-build-system)
1168 (inputs
1169 `(("libx11" ,libx11)))
1170 (home-page "https://github.com/alezost/xdpyprobe")
1171 (synopsis "Probe X server for connectivity")
1172 (description
1173 "Xdpyprobe is a tiny C program whose only purpose is to probe a
1174connectivity of the X server running on a particular @code{DISPLAY}.")
1175 (license license:gpl3+)))
1176
f40dfcd0
DM
1177(define-public rofi
1178 (package
1179 (name "rofi")
bf135622 1180 (version "1.5.2")
f40dfcd0
DM
1181 (source (origin
1182 (method url-fetch)
1183 (uri (string-append "https://github.com/DaveDavenport/rofi/"
1184 "releases/download/"
1185 version "/rofi-" version ".tar.xz"))
1186 (sha256
1187 (base32
bf135622 1188 "17faa0rj8vqidrijwx9jrq0c29003n8v3izvc66yssfljgb8kcpj"))))
f40dfcd0
DM
1189 (build-system gnu-build-system)
1190 (inputs
68c35ba9 1191 `(("pango" ,pango)
f40dfcd0
DM
1192 ("cairo" ,cairo)
1193 ("glib" ,glib)
1194 ("startup-notification" ,startup-notification)
23e12d9d 1195 ("librsvg" ,librsvg)
f40dfcd0
DM
1196 ("libxkbcommon" ,libxkbcommon)
1197 ("libxcb" ,libxcb)
1198 ("xcb-util" ,xcb-util)
68c35ba9 1199 ("xcb-util-xrm" ,xcb-util-xrm)
f40dfcd0
DM
1200 ("xcb-util-wm" ,xcb-util-wm)))
1201 (native-inputs
23e12d9d 1202 `(("bison" ,bison)
dfdf8d74 1203 ("check" ,check)
23e12d9d 1204 ("flex" ,flex)
a3a7eb2f 1205 ("glib:bin" ,glib "bin")
23e12d9d 1206 ("pkg-config" ,pkg-config)))
f40dfcd0 1207 (arguments
46d6219d
MB
1208 `(#:parallel-tests? #f ; May fail in some circumstances.
1209 #:phases
f40dfcd0
DM
1210 (modify-phases %standard-phases
1211 (add-before 'configure 'adjust-tests
1212 (lambda _
1213 (substitute* '("test/helper-expand.c")
1214 (("~root") "/root")
1215 (("~") "")
a3a7eb2f 1216 (("g_get_home_dir \\(\\)") "\"/\""))
576e0ae4 1217 #t)))))
06229f18 1218 (home-page "https://github.com/DaveDavenport/rofi")
89be33f7
TGR
1219 (synopsis "Application launcher")
1220 (description "Rofi is a minimalist application launcher. It memorizes which
1221applications you regularly use and also allows you to search for an application
f40dfcd0
DM
1222by name.")
1223 (license license:expat)))
751f6871
ML
1224
1225(define-public tint2
1226 (package
1227 (name "tint2")
1ffe4171 1228 (version "0.14.6")
751f6871
ML
1229 (source (origin
1230 (method url-fetch)
1231 (uri (string-append "https://gitlab.com/o9000/" name
1232 "/repository/archive.tar.gz?ref=" version))
1233 (file-name (string-append name "-" version ".tar.gz"))
1234 (sha256
1235 (base32
1ffe4171 1236 "1kwzwxy4myagybm3rc7dgynfgp75742n348qibn1p2an9ggyivda"))))
751f6871
ML
1237 (build-system cmake-build-system)
1238 (arguments
1239 '(#:tests? #f ;no test target
1240 #:phases
1241 (modify-phases %standard-phases
1242 (add-after 'unpack 'fix-installation-prefix
1243 (lambda _
1244 (substitute* "CMakeLists.txt"
c6bf07d1
MW
1245 (("/etc") "${CMAKE_INSTALL_PREFIX}/etc"))
1246 #t)))))
751f6871
ML
1247 (inputs
1248 `(("gtk+" ,gtk+-2)
1249 ("imlib2" ,imlib2)
1250 ("librsvg" ,librsvg)
1251 ("libxcomposite" ,libxcomposite)
1252 ("libxdamage" ,libxdamage)
1253 ("libxft" ,libxft)
1254 ("libxinerama" ,libxinerama)
1255 ("libxrandr" ,libxrandr)
1256 ("startup-notification" ,startup-notification)))
1257 (native-inputs
b94a6ca0 1258 `(("gettext" ,gettext-minimal)
751f6871
ML
1259 ("pkg-config" ,pkg-config)))
1260 (home-page "https://gitlab.com/o9000/tint2")
1261 (synopsis "Lightweight task bar")
1262 (description
1263 "Tint2 is a simple task bar made for modern X window managers. It was
1264specifically made for Openbox but it should also work with other window
1265managers (GNOME, KDE, XFCE etc.).
1266
1267The taskbar includes transparency and color settings for the font, icons,
1268border, and background. It also supports multihead setups, customized mouse
1269actions, a built-in clock, a battery monitor and a system tray.")
1270 (license license:gpl2)))
4493a3c2 1271
37447422
MM
1272(define-public dzen
1273 (let ((commit "488ab66019f475e35e067646621827c18a879ba1")
1274 (revision "1"))
1275 (package
1276 (name "dzen")
1277 (version (string-append "0.9.5-" ; Taken from `config.mk`.
1278 revision "." (string-take commit 7)))
1279 (source (origin
1280 (method git-fetch)
1281 (uri (git-reference
1282 (url "https://github.com/robm/dzen.git")
1283 (commit commit)))
1284 (file-name (string-append name "-" version))
1285 (sha256
1286 (base32
1287 "0y47d6ii87vf4a517gi4fh0yl06f8b085sra77immnsasbq9pxnw"))))
1288 (build-system gnu-build-system)
1289 (arguments
1290 `(#:tests? #f ; No test suite.
1291 #:make-flags ; Replacement for `config.mk`.
1292 (list
1293 (string-append "VERSION = " ,version)
1294 (string-append "PREFIX = " %output)
1295 "MANPREFIX = ${PREFIX}/share/man"
1296 "INCS = -I."
1297 "LIBS = -lc -lX11 -lXinerama -lXpm $(shell pkg-config --libs xft)"
1298 "CFLAGS = -Wall -Os ${INCS} -DVERSION=\\\"${VERSION}\\\"\
1299 -DDZEN_XINERAMA -DDZEN_XPM -DDZEN_XFT $(shell pkg-config --cflags xft)"
1300 "LDFLAGS = ${LIBS}"
1301 "CC = gcc"
1302 "LD = ${CC}")
1303 #:phases
1304 (modify-phases %standard-phases
1305 (delete 'configure) ; No configuration script.
1306 ;; Use own make-flags instead of `config.mk`.
1307 (add-before 'build 'dont-include-config-mk
1308 (lambda _
1309 (substitute* "Makefile" (("include config.mk") ""))
1310 #t)))))
1311 (inputs
1312 `(("libx11" ,libx11)
1313 ("libxft" ,libxft)
1314 ("libxpm" ,libxpm)
1315 ("libxinerama" ,libxinerama)))
1316 (native-inputs `(("pkg-config" ,pkg-config)))
1317 (synopsis "General purpose messaging, notification and menuing program for X11")
1318 (description "Dzen is a general purpose messaging, notification and menuing
1319program for X11. It was designed to be fast, tiny and scriptable in any language.")
1320 (home-page "https://github.com/robm/dzen")
1321 (license license:expat))))
1322
4493a3c2
MB
1323(define-public xcb-util-xrm
1324 (package
1325 (name "xcb-util-xrm")
40fb6b84 1326 (version "1.3")
4493a3c2
MB
1327 (source (origin
1328 (method url-fetch)
1329 (uri (string-append
1330 "https://github.com/Airblader/xcb-util-xrm/releases"
1331 "/download/v" version "/xcb-util-xrm-" version ".tar.bz2"))
1332 (sha256
1333 (base32
40fb6b84 1334 "118cj1ybw86pgw0l5whn9vbg5n5b0ijcpx295mwahzi004vz671h"))
4493a3c2
MB
1335 (modules '((guix build utils)))
1336 (snippet
1337 ;; Drop bundled m4.
6cbee49d
MW
1338 '(begin
1339 (delete-file-recursively "m4")
1340 #t))))
4493a3c2
MB
1341 (build-system gnu-build-system)
1342 (native-inputs
1343 `(("pkg-config" ,pkg-config)
1344 ("m4" ,m4)
1345 ("libx11" ,libx11))) ; for tests
1346 (inputs
1347 `(("libxcb" ,libxcb)
1348 ("xcb-util" ,xcb-util)))
1349 (home-page "https://github.com/Airblader/xcb-util-xrm")
1350 (synopsis "XCB utility functions for the X resource manager")
1351 (description
1352 "The XCB util module provides a number of libraries which sit on
1353top of libxcb, the core X protocol library, and some of the extension
1354libraries. These experimental libraries provide convenience functions
1355and interfaces which make the raw X protocol more usable. Some of the
1356libraries also provide client-side code which is not strictly part of
1357the X protocol but which has traditionally been provided by Xlib.
1358
1359XCB util-xrm module provides the following libraries:
1360
1361- xrm: utility functions for the X resource manager.")
1362 (license license:x11)))
01278f16
P
1363
1364(define-public xcalib
1365 (package
1366 (name "xcalib")
6d727bf4
TGR
1367 (version "0.10")
1368 (home-page "https://github.com/OpenICC/xcalib")
01278f16 1369 (source (origin
6d727bf4
TGR
1370 (method git-fetch)
1371 (uri (git-reference
1372 (url home-page)
1373 (commit version)))
01278f16
P
1374 (sha256
1375 (base32
6d727bf4
TGR
1376 "05fzdjmhiafgi2jf0k41i3nm0837a78sb6yv59cwc23nla8g0bhr"))
1377 (patches
1378 (list
1379 ;; Add missing documentation for the new --output option.
1380 ;; This upstream patch can be removed on the next update.
1381 (origin
1382 (method url-fetch)
1383 (uri (string-append
1384 home-page "/commit/"
1385 "ae03889b91fe984b18e925ad2b5e6f2f7354e058.patch"))
1386 (file-name "xcalib-update-man-page.patch")
1387 (sha256
1388 (base32
1389 "0f7b4d5484x4b9n1bwhqmar0kcaa029ffff7bp3xpr734n1qgqb6")))))))
1390 (build-system cmake-build-system)
01278f16 1391 (arguments
6d727bf4 1392 '(#:tests? #f)) ; no test suite
c695fb76
TGR
1393 (inputs `(("libx11" ,libx11)
1394 ("libxext" ,libxext)
6d727bf4 1395 ("libxrandr" ,libxrandr)
c695fb76 1396 ("libxxf86vm" ,libxxf86vm)))
01278f16
P
1397 (synopsis "Tiny monitor calibration loader for XFree86 (or X.org)")
1398 (description "xcalib is a tiny tool to load the content of vcgt-Tags in ICC
1399profiles to the video card's gamma ramp. It does work with most video card
1400drivers except the generic VESA driver. Alter brightness, contrast, RGB, and
1401invert colors on a specific display/screen.")
01278f16 1402 (license license:gpl2)))
f021382b
MB
1403
1404(define-public nxbelld
1405 (package
1406 (name "nxbelld")
1407 (version "0.1.2")
1408 (source (origin
1409 (method git-fetch)
1410 (uri (git-reference
1411 (url "https://github.com/dusxmt/nxbelld.git")
1412 (commit version)))
1413 (sha256
1414 (base32
1415 "04qwhmjs51irinz5mjlxdb3dc6vr79dqmc5fkj80x1ll3ylh5n3z"))
1416 (file-name (git-file-name name version))))
1417 (build-system gnu-build-system)
1418 (arguments '(#:configure-flags `("--enable-sound"
1419 "--enable-wave"
4cbbb160
RW
1420 "--enable-alsa")))
1421 (native-inputs `(("autoconf" ,autoconf)
1422 ("automake" ,automake)
1423 ("pkg-config" ,pkg-config)
1424 ("perl" ,perl)))
f021382b
MB
1425 (inputs `(("libx11" ,libx11)
1426 ("alsa-lib" ,alsa-lib)))
1427 (synopsis "Daemon that performs an action every time the X11 bell is rung")
1428 (description "nxbelld is a tiny utility to aid people who either don't
1429like the default PC speaker beep, or use a sound driver that doesn't have
1430support for the PC speaker. The utility performs a given action every time
1431the X bell is rung. The actions nxbelld can currently perform include running
1432a specified program, emulating the PC speaker beep using the sound card (default),
1433or playing a PCM encoded WAVE file.")
1434 (home-page "https://github.com/dusxmt/nxbelld")
1435 (license license:gpl3+)))
1d752e43
MG
1436
1437(define-public xautolock
1438 (package
1439 (name "xautolock")
1440 (version "2.2")
1441 (source (origin
1442 (method url-fetch)
1443 (uri (string-append "http://www.ibiblio.org/pub/linux/X11/screensavers/"
1444 name "-" version ".tgz"))
1445 (sha256
1446 (base32
1447 "18jd3k3pvlm5x1adyqw63z2b3f4ixh9mfvz9asvnskk3fm8jgw0i"))))
1448 (build-system gnu-build-system)
1449 (native-inputs
1450 `(("imake" ,imake)))
1451 (inputs
1452 `(("libx11" ,libx11)
1453 ("libxext" ,libxext)
1454 ("libxscrnsaver" ,libxscrnsaver)))
1455 (arguments
1456 `(#:tests? #f
1457 #:phases
1458 (modify-phases %standard-phases
1459 (replace 'configure
1460 (lambda* (#:key inputs outputs #:allow-other-keys)
1461 (let ((imake (assoc-ref inputs "imake"))
1462 (out (assoc-ref outputs "out")))
1463 ;; Generate Makefile
1464 (invoke "xmkmf")
1465 (substitute* "Makefile"
1466 ;; These imake variables somehow remain undefined
1467 (("DefaultGcc2[[:graph:]]*Opt") "-O2")
1468 ;; Reset a few variable defaults that are set in imake templates
1469 ((imake) out)
1470 (("(MANPATH = )[[:graph:]]*" _ front)
1471 (string-append front out "/share/man")))
1472 ;; Old BSD-style 'union wait' is unneeded (defining
1473 ;; _USE_BSD did not seem to fix it)
1474 (substitute* "src/engine.c"
1475 (("union wait status") "int status = 0"))
1476 #t)))
1477 (add-after 'install 'install/man
1478 (lambda _
e61c2991 1479 (invoke "make" "install.man"))))))
1d752e43
MG
1480 (home-page "http://ibiblio.org/pub/Linux/X11/screensavers/")
1481 (synopsis "Program launcher for idle X sessions")
1482 (description "Xautolock monitors input devices under the X Window
1483System, and launches a program of your choice if there is no activity after
1484a user-configurable period of time.")
1485 (license license:gpl2)))
af1e3dfe
T
1486
1487(define-public screen-message
1488 (package
1489 (name "screen-message")
1490 (version "0.25")
1491 (source (origin
1492 (method url-fetch)
1493 (uri (string-append
1494 "https://www.joachim-breitner.de/archive/screen-message"
1495 "/screen-message-" version ".tar.gz"))
1496 (sha256
1497 (base32
1498 "1lw955qq5pq010lzmaf32ylj2iprgsri9ih4hx672c3f794ilab0"))))
1499 (build-system gnu-build-system)
1500 (inputs `(("gtk3" ,gtk+)
1501 ("gdk" ,gdk-pixbuf)
1502 ("pango" ,pango)))
1503 (native-inputs `(("pkg-config" ,pkg-config)))
1504 (arguments
1505 ;; The default configure puts the 'sm' binary in games/ instead of bin/ -
1506 ;; this fixes it:
1507 `(#:make-flags (list (string-append "execgamesdir=" %output "/bin"))))
1508 (synopsis "Print messages on your screen")
1509 (description "@code{screen-message} is a tool for displaying text on
1510your screen. It will make the text as large as possible and display it
1511with black color on a white background (colors are configurable on the
1512commandline).")
1513 (home-page "https://www.joachim-breitner.de/projects#screen-message")
1514 (license license:gpl2+)))
428adbc2
PN
1515
1516(define-public xss-lock
1517 ;; xss-lock does not seem to be maintained any longer, but the last commits
1518 ;; fix important issues so we package them.
1519 (let ((version "0.3.0")
1520 (revision "1")
1521 (commit "1e158fb20108058dbd62bd51d8e8c003c0a48717"))
1522 (package
1523 (name "xss-lock")
1524 (version (git-version version revision commit))
1525 (source (origin
1526 (method git-fetch)
1527 (uri (git-reference
1528 (url "https://bitbucket.org/raymonad/xss-lock.git")
1529 (commit commit)))
1530 (file-name (git-file-name name version))
1531 (sha256
1532 (base32
1533 "10hx7k7ga8g08akwz8qrsvj8iqr5nd4siiva6sjx789jvf0sak7r"))))
1534 (build-system cmake-build-system)
1535 (inputs `(("glib" ,glib)
1536 ("xcb-util" ,xcb-util)))
1537 (native-inputs
1538 `(("python-docutils" ,python-docutils)
1539 ("pkg-config" ,pkg-config)))
1540 (arguments
1541 `(#:tests? #f))
1542 (synopsis "Use external screen locker on events")
1543 (description "@code{xss-lock} listens to X signals to fire up a
1544user-defined screensaver. In effect this allows to automatically lock the
1545screen when closing a laptop lid or after a period of user inactivity (as set
1546with @code{xset s TIMEOUT}). The notifier command, if specified, is executed
1547first. Additionally, xss-lock uses the inhibition logic to lock the screen
1548before the system goes to sleep.")
1549 (home-page "https://bitbucket.org/raymonad/xss-lock")
1550 (license license:expat))))
19110787
EF
1551
1552(define-public python-pyperclip
1553 (package
1554 (name "python-pyperclip")
1555 (version "1.6.4")
1556 (source
1557 (origin
1558 (method url-fetch)
1559 (uri (pypi-uri "pyperclip" version))
1560 (sha256
1561 (base32
1562 "1p505c23ji06r28k1y67siihsbdzdf1brhlqpyv9ams4gk9863pp"))))
1563 (build-system python-build-system)
1564 (arguments
1565 '(#:tests? #f)) ; Not clear how to make tests pass.
1566 (inputs
1567 `(("xclip" ,xclip)
1568 ("xsel" ,xsel)))
1569 (home-page "https://github.com/asweigart/pyperclip")
1570 (synopsis "Python clipboard module")
1571 (description
1572 "Pyperclip is a clipboard module for Python, handling copy/pasting from
1573the X11 clipboard")
1574 (license license:bsd-3)))
90337891
PN
1575
1576(define-public numlockx
1577 (package
1578 (name "numlockx")
1579 (version "1.2")
1580 (source (origin
1581 (method git-fetch)
1582 (uri (git-reference
1583 ;; It seems that upstream is gone.
1584 (url "https://github.com/rg3/numlockx")
1585 (commit version)))
1586 (file-name (git-file-name name version))
1587 (sha256
1588 (base32
1589 "1w49fayhwzn5rx0z1q2lrvm7z8jrd34lgb89p853a024bixc3cf2"))))
1590 (build-system gnu-build-system)
1591 (inputs
1592 `(("xorg-server" ,xorg-server)))
1593 (home-page "https://github.com/rg3/numlockx")
1594 (synopsis "Turns on the numlock key in X11")
1595 (description "@command{numlockx} is a tiny program that lets you turn on
1596the numlock key in X11. It can be called from the user's initialization files
1597to automatically turn it on on login.")
1598 (license license:expat)))
67e0fb8b
RW
1599
1600(define-public xrandr-invert-colors
1601 (package
1602 (name "xrandr-invert-colors")
1603 (version "0.01")
1604 (source (origin
1605 (method git-fetch)
1606 (uri (git-reference
1607 (url "https://github.com/zoltanp/xrandr-invert-colors.git")
1608 (commit (string-append "v" version))))
1609 (file-name (git-file-name name version))
1610 (sha256
1611 (base32
1612 "1br3x9vr6xm4ika06n8cfxx1b3wdchdqvyzjl4y1chmivrml8x9h"))))
1613 (build-system gnu-build-system)
1614 (arguments
1615 `(#:make-flags (list "CC=gcc")
1616 #:tests? #f ; there are none
1617 #:phases
1618 (modify-phases %standard-phases
1619 (delete 'configure)
1620 (replace 'install
1621 (lambda* (#:key outputs #:allow-other-keys)
1622 (let* ((out (assoc-ref outputs "out"))
1623 (bin (string-append out "/bin")))
1624 (install-file "xrandr-invert-colors.bin" bin)
1625 #t))))))
1626 (inputs
1627 `(("libxrandr" ,libxrandr)))
1628 (home-page "https://github.com/zoltanp/xrandr-invert-colors")
1629 (synopsis "Invert display colors")
1630 (description "This package provides a small utility for inverting the
1631colors on all monitors attached to an XRandR-capable X11 display server.")
1632 (license license:gpl3+)))
d852cf9e
NN
1633
1634(define-public sct
1635 (package
1636 (name "sct")
1637 (version "0.4")
1638 (source
1639 (origin
1640 (method url-fetch)
1641 (uri
1642 (string-append "https://www.umaxx.net/dl/sct-"
1643 version ".tar.gz"))
1644 (sha256
1645 (base32
1646 "0r57z9ki8pvxhawfxys0v5h85z2x211sqxki0xvk1bga88ryldlv"))))
1647 (build-system gnu-build-system)
1648 (arguments
1649 '(#:make-flags (list "CC=gcc")
1650 #:tests? #f ; No tests exist.
1651 #:phases
1652 (modify-phases %standard-phases
1653 (delete 'configure)
1654 (add-after 'unpack 'fix-sctd-paths
1655 (lambda* (#:key outputs inputs #:allow-other-keys)
1656 (let ((out (assoc-ref outputs "out"))
1657 (coreutils (assoc-ref inputs "coreutils"))
1658 (inetutils (assoc-ref inputs "inetutils"))
1659 (sed (assoc-ref inputs "sed")))
1660 (substitute* "sctd.sh"
1661 (("\\$\\(which sct\\)") (string-append out "/bin/sct"))
1662 (("date") (string-append coreutils "/bin/date"))
1663 (("printf") (string-append coreutils "/bin/printf"))
1664 (("sleep") (string-append coreutils "/bin/sleep"))
1665 (("logger") (string-append inetutils "/bin/logger"))
1666 (("sed") (string-append sed "/bin/sed"))))))
1667 (replace 'install
1668 (lambda* (#:key outputs #:allow-other-keys)
1669 (let ((out (assoc-ref outputs "out")))
1670 (install-file "sct" (string-append out "/bin"))
1671 (install-file "sctd.sh" (string-append out "/bin"))
1672 (install-file "sct.1" (string-append out "/man/man1"))
1673 (install-file "sctd.1" (string-append out "/man/man1"))
1674 (rename-file (string-append out "/bin/sctd.sh")
1675 (string-append out "/bin/sctd"))
1676 #t))))))
1677 (inputs
1678 `(("coreutils" ,coreutils) ; sctd uses "date", "printf" and "sleep"
1679 ("inetutils" ,inetutils) ; sctd uses "logger"
1680 ("libxrandr" ,libxrandr)
1681 ("sed" ,sed))) ; sctd uses "sed"
1682 (home-page "https://www.umaxx.net")
1683 (synopsis "Set the color temperature of the screen")
1684 (description "@code{sct} is a lightweight utility to set the color
1685temperature of the screen.")
dbd346ae 1686 (license (license:non-copyleft "file://sct.c")))) ; "OpenBSD" license
95bf2fb6
RH
1687
1688(define-public wl-clipboard
1689 (package
1690 (name "wl-clipboard")
1691 (version "1.0.0")
1692 (source
1693 (origin
1694 (method git-fetch)
1695 (uri (git-reference
1696 (url "https://github.com/bugaevc/wl-clipboard.git")
1697 (commit (string-append "v" version))))
1698 (file-name (git-file-name name version))
1699 (sha256
1700 (base32 "03h6ajcc30w6928bkd4h6xfj4iy2359ww6hdlybq8mr1zwmb2h0q"))))
1701 (build-system meson-build-system)
1702 (native-inputs
1703 `(("pkg-config" ,pkg-config)))
1704 (inputs
1705 `(("wayland" ,wayland)
1706 ("wayland-protocols" ,wayland-protocols)))
1707 (home-page "https://github.com/bugaevc/wl-clipboard")
1708 (synopsis "Command-line copy/paste utilities for Wayland")
1709 (description "Wl-clipboard is a set of command-line copy/paste utilities for
1710Wayland.")
1711 (license license:gpl3+)))