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