gnu: password-store: Update to 1.7.
[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>
04fa4cdf 6;;; Copyright © 2013, 2015, 2017 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>
b951e26f 13;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
e4ddf924 14;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
71ca0539 15;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
6cfd1a68 16;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
4493a3c2 17;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
01278f16 18;;; Copyright © 2016 Petter <petter@mykolab.ch>
3c156c8a
JD
19;;;
20;;; This file is part of GNU Guix.
21;;;
22;;; GNU Guix is free software; you can redistribute it and/or modify it
23;;; under the terms of the GNU General Public License as published by
24;;; the Free Software Foundation; either version 3 of the License, or (at
25;;; your option) any later version.
26;;;
27;;; GNU Guix is distributed in the hope that it will be useful, but
28;;; WITHOUT ANY WARRANTY; without even the implied warranty of
29;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30;;; GNU General Public License for more details.
31;;;
32;;; You should have received a copy of the GNU General Public License
33;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
34
35(define-module (gnu packages xdisorg)
36 #:use-module ((guix licenses) #:prefix license:)
37 #:use-module (guix packages)
38 #:use-module (guix download)
18ad5bff 39 #:use-module (guix utils)
9f1d33be 40 #:use-module (guix build-system cmake)
3c156c8a 41 #:use-module (guix build-system gnu)
f1f7049e 42 #:use-module (guix build-system glib-or-gtk)
ae05b185 43 #:use-module (guix build-system python)
3c156c8a 44 #:use-module (gnu packages)
99828fa7 45 #:use-module (gnu packages documentation)
b4c400a7 46 #:use-module (gnu packages algebra)
3c156c8a
JD
47 #:use-module (gnu packages compression)
48 #:use-module (gnu packages image)
49 #:use-module (gnu packages pkg-config)
ae05b185 50 #:use-module (gnu packages gettext)
9f1d33be 51 #:use-module (gnu packages gl)
2e88e089 52 #:use-module (gnu packages glib)
751f6871 53 #:use-module (gnu packages gnome)
937b71df 54 #:use-module (gnu packages maths)
4493a3c2 55 #:use-module (gnu packages m4)
1ef3f91a 56 #:use-module (gnu packages ncurses)
de51bf58 57 #:use-module (gnu packages perl)
ae05b185 58 #:use-module (gnu packages python)
ab69d9ac 59 #:use-module (gnu packages linux)
b4c400a7 60 #:use-module (gnu packages gl)
76212b57 61 #:use-module (gnu packages guile)
f1f7049e
AW
62 #:use-module (gnu packages xml)
63 #:use-module (gnu packages gtk)
cf60e76a
DM
64 #:use-module (gnu packages xorg)
65 #:use-module (gnu packages bison))
3c156c8a 66
3c156c8a
JD
67;; packages outside the x.org system proper
68
ae05b185
ML
69(define-public arandr
70 (package
71 (name "arandr")
16d8f9be 72 (version "0.1.9")
ae05b185
ML
73 (source (origin
74 (method url-fetch)
75 (uri (string-append "http://christian.amsuess.com/tools/" name
76 "/files/" name "-" version ".tar.gz"))
77 (sha256
78 (base32
04fa4cdf
LC
79 "1i3f1agixxbfy4kxikb2b241p7c2lg73cl9wqfvlwz3q6zf5faxv"))
80 (modules '((guix build utils)))
81 (snippet
82 ;; Do not record a timestamp and file name in gzipped man
83 ;; pages (this is equivalent to 'gzip --no-name'.)
84 '(substitute* "setup.py"
85 (("gzip\\.open\\(gzfile, 'w', 9\\)")
86 "gzip.GzipFile('', 'wb', 9, open(gzfile, 'wb'), 0.)")))))
ae05b185 87 (build-system python-build-system)
b951e26f
RW
88 (arguments
89 `(#:python ,python-2 ;incompatible with python 3
90 #:tests? #f ;no tests
91 #:phases
92 (modify-phases %standard-phases
93 (add-after 'install 'make-xrandr-available
94 (lambda* (#:key inputs outputs #:allow-other-keys)
95 (wrap-program (string-append (assoc-ref outputs "out")
96 "/bin/arandr")
97 `("PATH" ":" prefix (,(string-append (assoc-ref inputs "xrandr")
98 "/bin"))))
99 #t)))))
100 (inputs `(("pygtk" ,python2-pygtk)
101 ("xrandr" ,xrandr)))
b94a6ca0 102 (native-inputs `(("gettext" ,gettext-minimal)
f3b98f4f 103 ("python-docutils" ,python2-docutils)))
ae05b185
ML
104 (home-page "https://christian.amsuess.com/tools/arandr/")
105 (synopsis "Another RandR graphical user interface")
106 ;; TRANSLATORS: "X11 resize-and-rotate" should not be translated.
107 (description "ARandR is designed to provide a simple visual front end for
108the X11 resize-and-rotate (RandR) extension. Relative monitor positions are
109shown graphically and can be changed in a drag-and-drop way. Configurations
110are saved as executable shell scripts which can be loaded without using this
111program.")
112 (license license:gpl3+)))
113
de878f1b
JD
114(define-public xclip
115 (package
116 (name "xclip")
117 (version "0.12")
118 (source
119 (origin
120 (method url-fetch)
121 (uri (string-append
de67e922
LF
122 "mirror://sourceforge/" name "/" name "/" version "/"
123 name "-" version ".tar.gz"))
de878f1b
JD
124 (sha256
125 (base32
126 "0ibcf46rldnv0r424qcnai1fa5iq3lm5q5rdd7snsi5sb78gmixp"))))
127 (build-system gnu-build-system)
128 (arguments
129 '(#:tests? #f)) ; There is no test suite
130 (inputs `(("libxmu" ,libxmu)
131 ("libxt" ,libxt)))
132 (home-page "http://xclip.sourceforge.net/")
133 (synopsis "Command line interface to X11 clipboard")
134 (description "Xclip is a command line interface to the X11 clipboard. It
135can also be used for copying files, as an alternative to sftp/scp, thus
136avoiding password prompts when X11 forwarding has already been setup.")
137 (license license:gpl2+)))
138
cf60e76a
DM
139(define-public libxkbcommon
140 (package
141 (name "libxkbcommon")
af2b0b15 142 (version "0.6.1")
cf60e76a
DM
143 (source (origin
144 (method url-fetch)
145 (uri (string-append "http://xkbcommon.org/download/" name "-"
146 version ".tar.xz"))
147 (sha256
148 (base32
af2b0b15 149 "0q47xa1szlxwgvwmhv4b7xwawnykz1hnc431d84nj8dlh2q8f22v"))))
cf60e76a
DM
150 (build-system gnu-build-system)
151 (inputs
152 `(("libx11" ,libx11)
153 ("libxcb" ,libxcb)
154 ("xkeyboard-config" ,xkeyboard-config)))
155 (native-inputs
156 `(("bison" ,bison)
157 ("pkg-config" ,pkg-config)))
158 (arguments
159 `(#:configure-flags
160 (list (string-append "--with-xkb-config-root="
161 (assoc-ref %build-inputs "xkeyboard-config")
162 "/share/X11/xkb")
163 (string-append "--with-x-locale-root="
164 (assoc-ref %build-inputs "libx11")
165 "/share/X11/locale"))))
166 (home-page "http://xkbcommon.org/")
167 (synopsis "Library to handle keyboard descriptions")
168 (description "Xkbcommon is a library to handle keyboard descriptions,
169including loading them from disk, parsing them and handling their
170state. It is mainly meant for client toolkits, window systems, and other
171system applications; currently that includes Wayland, kmscon, GTK+, Qt,
172Clutter, and more. Despite the name, it is not currently used by anything
173X11 (yet).")
174 (license (license:x11-style "file://COPYING"
175 "See 'COPYING' in the distribution."))))
176
de51bf58
JD
177(define-public xdotool
178 (package
179 (name "xdotool")
6f74aecd 180 (version "3.20150503.1")
de51bf58
JD
181 (source
182 (origin
183 (method url-fetch)
184 (uri (string-append
6f74aecd
CAW
185 "https://github.com/jordansissel/xdotool/releases/download/v"
186 version "/xdotool-" version ".tar.gz"))
de51bf58
JD
187 (sha256
188 (base32
6f74aecd 189 "1lcngsw33fy9my21rdiz1gs474bfdqcfxjrnfggbx4aypn1nhcp8"))
fc1adab1 190 (patches (search-patches "xdotool-fix-makefile.patch"))))
de51bf58
JD
191 (build-system gnu-build-system)
192 (arguments
193 '(#:tests? #f ; Test suite requires a lot of black magic
ca0d2a63 194 #:phases
c237480b
EF
195 (modify-phases %standard-phases
196 (replace 'configure
197 (lambda* (#:key outputs #:allow-other-keys #:rest args)
198 (setenv "PREFIX" (assoc-ref outputs "out"))
199 (setenv "LDFLAGS"
200 (string-append "-Wl,-rpath="
201 (assoc-ref %outputs "out") "/lib"))
202 (setenv "CC" "gcc"))))))
de51bf58
JD
203 (native-inputs `(("perl" ,perl))) ; for pod2man
204 (inputs `(("libx11" ,libx11)
205 ("libxext" ,libxext)
206 ("libxi" ,libxi)
207 ("libxinerama" ,libxinerama)
6f74aecd
CAW
208 ("libxtst" ,libxtst)
209 ("libxkbcommon" ,libxkbcommon)))
de51bf58
JD
210 (home-page "http://www.semicomplete.com/projects/xdotool")
211 (synopsis "Fake keyboard/mouse input, window management, and more")
212 (description "Xdotool lets you simulate keyboard input and mouse activity,
213move and resize windows, etc. It does this using X11's XTEST extension and
214other Xlib functions. Additionally, you can search for windows and move,
215resize, hide, and modify window properties like the title. If your window
216manager supports it, you can use xdotool to switch desktops, move windows
217between desktops, and change the number of desktops.")
218 (license license:bsd-3)))
219
3c156c8a
JD
220(define-public xeyes
221 (package
222 (name "xeyes")
223 (version "1.0.1")
224 (source
225 (origin
226 (method url-fetch)
227 (uri (string-append
228 "http://xeyes.sourcearchive.com/downloads/1.0.1/xeyes_"
229 version
230 ".orig.tar.gz"))
231 (sha256
232 (base32
233 "04c3md570j67g55h3bix1qbngcslnq91skli51k3g1avki88zkm9"))))
234 (build-system gnu-build-system)
235 (inputs
236 `(("libxext" ,libxext)
237 ("libxmu" ,libxmu)
238 ("libxt" ,libxt)))
239 (native-inputs
240 `(("pkg-config" ,pkg-config)))
241 (home-page "http://xeyes.sourcearchive.com/")
242 (synopsis "Follow-the-mouse X demo")
243 (description "Xeyes is a demo program for x.org. It shows eyes
244following the mouse.")
245 (license license:x11)))
246
247
248(define-public pixman
249 (package
250 (name "pixman")
6983ba56 251 (version "0.34.0")
997f86e9
LC
252 (source (origin
253 (method url-fetch)
254 (uri (string-append
255 "http://cairographics.org/releases/pixman-"
256 version ".tar.gz"))
257 (sha256
258 (base32
35bbe88b
MB
259 "13m842m9ffac3m9r0b4lvwjhwzg3w4353djkjpf00s0wnm4v5di1"))
260 (patches (search-patches "pixman-CVE-2016-5296.patch"))))
3c156c8a
JD
261 (build-system gnu-build-system)
262 (inputs
997f86e9
LC
263 `(("libpng" ,libpng)
264 ("zlib" ,zlib)))
3c156c8a 265 (native-inputs
997f86e9 266 `(("pkg-config" ,pkg-config)))
3c156c8a
JD
267 (home-page "http://www.pixman.org/")
268 (synopsis "Low-level pixel manipulation library")
269 (description "Pixman is a low-level software library for pixel
270manipulation, providing features such as image compositing and trapezoid
271rasterisation.")
272 (license license:x11)))
273
3c156c8a
JD
274(define-public libdrm
275 (package
276 (name "libdrm")
0b684f49 277 (version "2.4.68")
3c156c8a
JD
278 (source
279 (origin
280 (method url-fetch)
281 (uri (string-append
5cc3096c 282 "https://dri.freedesktop.org/libdrm/libdrm-"
3c156c8a
JD
283 version
284 ".tar.bz2"))
285 (sha256
0b684f49
DC
286 (base32
287 "1px91j6imaaq2fy8ksvgldmv0cdz3w379jqiciqvqa99jajxjjsv"))
fc1adab1 288 (patches (search-patches "libdrm-symbol-check.patch"))))
3c156c8a
JD
289 (build-system gnu-build-system)
290 (inputs
291 `(("libpciaccess" ,libpciaccess)
292 ("libpthread-stubs" ,libpthread-stubs)))
293 (native-inputs
294 `(("pkg-config" ,pkg-config)))
295 (home-page "http://dri.freedesktop.org/wiki/")
296 (synopsis "Direct rendering userspace library")
297 (description "The Direct Rendering Infrastructure, also known as the DRI,
298is a framework for allowing direct access to graphics hardware under the
299X Window System in a safe and efficient manner. It includes changes to the
300X server, to several client libraries, and to the kernel (DRM, Direct
301Rendering Manager). The most important use for the DRI is to create fast
302OpenGL implementations providing hardware acceleration for Mesa.
303Several 3D accelerated drivers have been written to the DRI specification,
304including drivers for chipsets produced by 3DFX, AMD (formerly ATI), Intel
305and Matrox.")
306 (license license:x11)))
307
308
3c156c8a
JD
309(define-public mtdev
310 (package
311 (name "mtdev")
1f1e620f 312 (version "1.1.5")
3c156c8a
JD
313 (source
314 (origin
315 (method url-fetch)
316 (uri (string-append
317 "http://bitmath.org/code/mtdev/mtdev-"
318 version ".tar.bz2"))
319 (sha256
1f1e620f
EF
320 (base32
321 "0zxs7shzgbalkvlaiibi25bd902rbmkv9n1lww6q8j3ri9qdaxv6"))))
3c156c8a
JD
322 (build-system gnu-build-system)
323 (home-page "http://bitmath.org/code/mtdev/")
324 (synopsis "Multitouch protocol translation library")
325 (description "Mtdev is a stand-alone library which transforms all
326variants of kernel MT events to the slotted type B protocol. The events
327put into mtdev may be from any MT device, specifically type A without
328contact tracking, type A with contact tracking, or type B with contact
329tracking.")
330 (license license:x11)))
a693bba1
SB
331
332(define-public startup-notification
333 (package
334 (name "startup-notification")
335 (version "0.12")
336 (source
337 (origin
338 (method url-fetch)
5cc3096c 339 (uri (string-append "https://www.freedesktop.org/software/" name
a693bba1
SB
340 "/releases/" name "-" version ".tar.gz"))
341 (sha256
342 (base32
343 "0jmyryrpqb35y9hd5sgxqy2z0r1snw7d3ljw0jak0n0cjdz1yf9w"))))
344 (build-system gnu-build-system)
345 (native-inputs `(("pkg-config" ,pkg-config)))
346 (inputs
347 `(("libx11" ,libx11)
348 ("xcb-util" ,xcb-util)))
349 (home-page "http://www.freedesktop.org/wiki/Software/startup-notification/")
350 (synopsis "Application startup notification and feedback library")
351 (description
352 "Startup-notification contains a reference implementation of the startup
353notification protocol. The reference implementation is mostly under an X Window
354System style license, and has no special dependencies.")
355 ;; Most of the code is provided under x11 license.
356 (license license:lgpl2.0+)))
2e88e089
AK
357
358(define-public wmctrl
359 (package
360 (name "wmctrl")
361 (version "1.07")
362 (source (origin
363 (method url-fetch)
364 (uri (string-append
d6420533 365 "https://sites.google.com/site/tstyblo/wmctrl/wmctrl-"
2e88e089
AK
366 version ".tar.gz"))
367 (sha256
368 (base32
369 "1afclc57b9017a73mfs9w7lbdvdipmf9q0xdk116f61gnvyix2np"))
fc1adab1 370 (patches (search-patches "wmctrl-64-fix.patch"))))
2e88e089
AK
371 (build-system gnu-build-system)
372 (arguments
373 '(#:configure-flags
374 (list (string-append "--mandir="
375 (assoc-ref %outputs "out")
376 "/share/man"))))
377 (native-inputs
378 `(("pkg-config" ,pkg-config)))
379 (inputs
380 `(("libx11" ,libx11)
381 ("libxmu" ,libxmu)
382 ("glib" ,glib)))
383 (home-page "http://tomas.styblo.name/wmctrl/")
384 (synopsis "Command-line tool to control X window managers")
385 (description
386 "Wmctrl allows to interact with an X window manager that is compatible
387with the EWMH/NetWM specification. It can query the window manager for
388information, and request for certain window management actions (resize and
e881752c 389move windows, switch between desktops, etc.).")
2e88e089 390 (license license:gpl2+)))
1410f342
AK
391
392(define-public scrot
393 (package
394 (name "scrot")
395 (version "0.8")
396 (source (origin
397 (method url-fetch)
9da459f3
EF
398 (uri (list (string-append
399 "http://linuxbrit.co.uk/downloads/scrot-"
400 version ".tar.gz")
401 (string-append
402 "https://fossies.org/linux/privat/old/scrot-"
c5d15d41 403 version ".tar.gz")))
1410f342
AK
404 (sha256
405 (base32
406 "1wll744rhb49lvr2zs6m93rdmiq59zm344jzqvijrdn24ksiqgb1"))))
407 (build-system gnu-build-system)
408 (arguments
409 ;; By default, man and doc are put in PREFIX/{man,doc} instead of
410 ;; PREFIX/share/{man,doc}.
411 '(#:configure-flags
412 (list (string-append "--mandir="
413 (assoc-ref %outputs "out")
414 "/share/man"))
d5047266
EF
415 #:phases
416 (modify-phases %standard-phases
417 (replace 'install
418 (lambda* (#:key inputs outputs #:allow-other-keys)
419 (let* ((out (assoc-ref outputs "out"))
420 (doc (string-append out "/share/doc/scrot")))
421 (mkdir-p doc)
422 (zero?
423 (system* "make" "install"
424 (string-append "docsdir=" doc)))))))))
1410f342
AK
425 (inputs
426 `(("libx11" ,libx11)
427 ("giblib" ,giblib)))
428 (home-page "http://linuxbrit.co.uk/software/")
429 (synopsis "Command-line screen capture utility for X Window System")
430 (description
431 "Scrot allows to save a screenshot of a full screen, a window or a part
432of the screen selected by mouse.")
433 ;; This license removes a clause about X Consortium from the original
434 ;; X11 license.
435 (license (license:x11-style "file://COPYING"
436 "See 'COPYING' in the distribution."))))
4a01b30b 437
9f1d33be
AK
438(define-public slop
439 (package
440 (name "slop")
ad839aea 441 (version "5.3.37")
9f1d33be
AK
442 (source (origin
443 (method url-fetch)
444 (uri (string-append
445 "https://github.com/naelstrof/slop/archive/v"
446 version ".tar.gz"))
447 (file-name (string-append name "-" version ".tar.gz"))
448 (sha256
449 (base32
ad839aea 450 "1p2ih123zkj8rxz8acsxpaim1kq57f4rbq7zqsibafn5rkw5c5is"))))
9f1d33be 451 (build-system cmake-build-system)
937b71df 452 (arguments
e1c014d7 453 '(#:tests? #f)) ; no "check" target
9f1d33be 454 (inputs
937b71df 455 `(("glm" ,glm)
9f1d33be 456 ("libxext" ,libxext)
e1c014d7 457 ("libxrender" ,libxrender)
9f1d33be
AK
458 ("mesa" ,mesa)))
459 (home-page "https://github.com/naelstrof/slop")
460 (synopsis "Select a region and print its bounds to stdout")
461 (description
462 "slop (Select Operation) is a tool that queries for a selection from a
463user and prints the region to stdout. It grabs the mouse and turns it into a
464crosshair, lets the user click and drag to make a selection (or click on a
465window) while drawing a pretty box around it, then finally prints the
466selection's dimensions to stdout.")
467 (license license:gpl3+)))
468
5c93de73
AK
469(define-public maim
470 (package
471 (name "maim")
7166221c 472 (version "4.4.60")
5c93de73
AK
473 (source (origin
474 (method url-fetch)
475 (uri (string-append
476 "https://github.com/naelstrof/maim/archive/v"
477 version ".tar.gz"))
478 (file-name (string-append name "-" version ".tar.gz"))
479 (sha256
480 (base32
7166221c 481 "1j8czhbgilmv9c9hlind1w847yk856dzvxx1sj17fx89xkg8nixk"))))
5c93de73
AK
482 (build-system cmake-build-system)
483 (arguments
2b7d10d2 484 '(#:tests? #f)) ; no "check" target
5c93de73 485 (inputs
2b7d10d2
MB
486 `(("glm" ,glm)
487 ("libjpeg" ,libjpeg-turbo)
488 ("libpng" ,libpng)
489 ("libxcomposite" ,libxcomposite)
5c93de73 490 ("libxfixes" ,libxfixes)
2b7d10d2
MB
491 ("libxrandr" ,libxrandr)
492 ("mesa" ,mesa)
493 ("slop" ,slop)
494 ("zlib" ,zlib)))
5c93de73
AK
495 (home-page "https://github.com/naelstrof/maim")
496 (synopsis "Screenshot utility for X Window System")
497 (description
498 "maim (Make Image) is a tool that takes screenshots of your desktop and
499saves it in any format. Along with a full screen, it allows you to capture a
500predefined region or a particular window. Also, it makes it possible to
501include cursor in the resulting image.")
502 (license license:gpl3+)))
503
4a01b30b
AK
504(define-public unclutter
505 (package
506 (name "unclutter")
507 (version "8")
508 (source (origin
509 (method url-fetch)
510 (uri (string-append
511 "http://ftp.x.org/contrib/utilities/unclutter-"
512 version ".tar.Z"))
513 (sha256
514 (base32
515 "0ahrr5z6wxqqfyihm112hnq0859zlxisrb3y5232zav58j6sfmdq"))))
516 (build-system gnu-build-system)
517 (arguments
518 '(#:tests? #f ; no check target
ea0836cd
EF
519 #:phases
520 (modify-phases %standard-phases
521 (delete 'configure)
522 (replace 'install
523 (lambda* (#:key inputs outputs #:allow-other-keys)
524 (let* ((out (assoc-ref outputs "out"))
525 (bin (string-append out "/bin"))
526 (man1 (string-append out "/share/man/man1")))
527 (mkdir-p bin)
528 (mkdir-p man1)
529 (zero?
530 (system* "make" "install" "install.man"
531 (string-append "BINDIR=" bin)
532 (string-append "MANDIR=" man1)))))))))
4a01b30b
AK
533 (inputs `(("libx11" ,libx11)))
534 (home-page "http://ftp.x.org/contrib/utilities/")
535 (synopsis "Hide idle mouse cursor")
536 (description
537 "Unclutter is a program which runs permanently in the background of an
538X11 session. It checks on the X11 pointer (cursor) position every few
539seconds, and when it finds it has not moved (and no buttons are pressed
540on the mouse, and the cursor is not in the root window) it creates a
541small sub-window as a child of the window the cursor is in. The new
542window installs a cursor of size 1x1 but a mask of all 0, i.e. an
543invisible cursor. This allows you to see all the text in an xterm or
544xedit, for example. The human factors crowd would agree it should make
545things less distracting.")
546 (license license:public-domain)))
ab69d9ac
LC
547
548(define-public xlockmore
549 (package
550 (name "xlockmore")
e4ddf924 551 (version "5.47")
ab69d9ac
LC
552 (source (origin
553 (method url-fetch)
20c04358
LF
554 (uri (list (string-append
555 "http://www.tux.org/~bagleyd/xlock/xlockmore-"
556 version ".tar.xz")
557 (string-append
558 "http://www.tux.org/~bagleyd/xlock/xlockmore-old"
559 "/xlockmore-" version
e4ddf924 560 "/xlockmore-" version ".tar.xz")))
ab69d9ac
LC
561 (sha256
562 (base32
e4ddf924 563 "138d79b8zc2hambbr9fnxp3fhihlcljgqns04zf0kv2f53pavqwl"))))
ab69d9ac
LC
564 (build-system gnu-build-system)
565 (arguments
566 '(#:configure-flags (list (string-append "--enable-appdefaultdir="
567 (assoc-ref %outputs "out")
568 "/lib/X11/app-defaults"))
569 #:tests? #f)) ;no such thing as a test suite
570 (inputs
571 `(("libX11" ,libx11)
572 ("libXext" ,libxext)
573 ("libXt" ,libxt)
574 ("linux-pam" ,linux-pam)))
575 (home-page "http://www.tux.org/~bagleyd/xlockmore.html")
576 (synopsis "Screen locker for the X Window System")
577 (description
578 "XLockMore is a classic screen locker and screen saver for the
579X Window System.")
166191b3 580 (license (license:non-copyleft #f "See xlock.c.")
e4ddf924 581 ))) ; + GPLv2 in modes/glx/biof.c.
11447a79
AK
582
583(define-public xosd
584 (package
585 (name "xosd")
586 (version "2.2.14")
587 (source (origin
588 (method url-fetch)
589 (uri (string-append
de67e922
LF
590 "mirror://sourceforge/libxosd/libxosd/xosd-" version "/"
591 name "-" version ".tar.gz"))
11447a79
AK
592 (sha256
593 (base32
594 "025m7ha89q29swkc7s38knnbn8ysl24g2h5s7imfxflm91psj7sg"))))
595 (build-system gnu-build-system)
596 (arguments
597 '(#:configure-flags
598 (list (string-append "--mandir=" %output "/share/man"))))
599 (inputs
600 `(("libx11" ,libx11)
601 ("libxt" ,libxt)
602 ("libxext" ,libxext)
603 ("libxinerama" ,libxinerama)))
3b3b60d0 604 (home-page "https://sourceforge.net/projects/libxosd/")
11447a79
AK
605 (synopsis "X On Screen Display")
606 (description
607 "XOSD provides a C library and a simple utility (osd_cat) for displaying
608transparent text on your screen.")
609 (license license:gpl2+)))
76212b57
ML
610
611(define-public xbindkeys
612 (package
613 (name "xbindkeys")
614 (version "1.8.6")
615 (source (origin
616 (method url-fetch)
617 ;; Download from the savannah mirror list fails
618 (uri (string-append
619 "http://www.nongnu.org/xbindkeys/xbindkeys-"
620 version
621 ".tar.gz"))
622 (sha256
623 (base32
624 "060df6d8y727jp1inp7blp44cs8a7jig7vcm8ndsn6gw36z1h3bc"))))
625 (build-system gnu-build-system)
626 (inputs
627 `(("libx11" ,libx11)
628 ("guile" ,guile-2.0)))
629 (home-page "http://www.nongnu.org/xbindkeys/")
630 (synopsis "Associate a combination of keys with a shell command")
631 (description
632 "XBindKeys is a program that allows you to launch shell commands with
633your keyboard or your mouse under the X Window System. It links commands to
634keys or mouse buttons, using a configuration file. It's independent of the
635window manager and can capture all keyboard keys (ex: Power, Wake...). It
636optionally supports a Guile-based configuration file layout, which enables you
637to access all XBindKeys internals, so you can have key combinations, double
638clicks or timed double clicks take actions. Also all functions that work in
639Guile will work for XBindKeys.")
640 (license license:gpl2+)))
42f2c2b9 641
998b8c07 642(define-public sxhkd
643 (package
644 (name "sxhkd")
46cd684e 645 (version "0.5.6")
998b8c07 646 (source
647 (origin
648 (file-name (string-append name "-" version ".tar.gz"))
649 (method url-fetch)
650 (uri (string-append
651 "https://github.com/baskerville/sxhkd/archive/"
652 version ".tar.gz"))
653 (sha256
654 (base32
46cd684e 655 "15grmzpxz5fqlbfg2slj7gb7r6nzkvjmflmbkqx7mlby9pm6wdkj"))))
998b8c07 656 (build-system gnu-build-system)
657 (inputs
658 `(("asciidoc" ,asciidoc)
659 ("libxcb" ,libxcb)
660 ("xcb-util" ,xcb-util)
661 ("xcb-util-keysyms" ,xcb-util-keysyms)
662 ("xcb-util-wm" ,xcb-util-wm)))
663 (arguments
664 '(#:phases (alist-delete 'configure %standard-phases)
665 #:tests? #f ; no check target
666 #:make-flags (list "CC=gcc"
667 (string-append "PREFIX=" %output))))
668 (home-page "https://github.com/baskerville/sxhkd")
669 (synopsis "Simple X hotkey daemon")
670 (description "sxhkd is a simple X hotkey daemon with a powerful and
671compact configuration syntax.")
672 (license license:bsd-2)))
673
42f2c2b9
AG
674(define-public rxvt-unicode
675 (package
676 (name "rxvt-unicode")
71ca0539 677 (version "9.22")
1ef3f91a
ML
678 (source (origin
679 (method url-fetch)
63999415 680 (uri (string-append "http://dist.schmorp.de/rxvt-unicode/Attic/"
1ef3f91a
ML
681 name "-" version ".tar.bz2"))
682 (sha256
683 (base32
71ca0539 684 "1pddjn5ynblwfrdmskylrsxb9vfnk3w4jdnq2l8xn2pspkljhip9"))))
42f2c2b9 685 (build-system gnu-build-system)
1ef3f91a
ML
686 (arguments
687 ;; This sets the destination when installing the necessary terminal
688 ;; capability data, which are not provided by 'ncurses'. See
689 ;; https://lists.gnu.org/archive/html/bug-ncurses/2009-10/msg00031.html
690 '(#:make-flags (list (string-append "TERMINFO="
691 (assoc-ref %outputs "out")
692 "/share/terminfo"))))
42f2c2b9
AG
693 (inputs
694 `(("libXft" ,libxft)
695 ("libX11" ,libx11)))
696 (native-inputs
1ef3f91a
ML
697 `(("ncurses" ,ncurses) ;trigger the installation of terminfo data
698 ("perl" ,perl)
42f2c2b9 699 ("pkg-config" ,pkg-config)))
1ef3f91a
ML
700 ;; FIXME: This should only be located in 'ncurses'. Nonetheless it is
701 ;; provided for usability reasons. See <https://bugs.gnu.org/22138>.
702 (native-search-paths
703 (list (search-path-specification
704 (variable "TERMINFO_DIRS")
705 (files '("share/terminfo")))))
42f2c2b9
AG
706 (home-page "http://software.schmorp.de/pkg/rxvt-unicode.html")
707 (synopsis "Rxvt clone with XFT and unicode support")
708 (description "Rxvt-unicode (urxvt) is a colour vt102 terminal emulator
709intended as an xterm replacement for users who do not require features such as
710Tektronix 4014 emulation and toolkit-style configurability. It supports
711unicode, XFT and may be extended with Perl plugins. It also comes with a
712client/daemon pair that lets you open any number of terminal windows from
713within a single process.")
714 (license license:gpl3+)))
ca0d2a63
AG
715
716(define-public xcape
717 (package
718 (name "xcape")
82f44a36 719 (version "1.2")
ca0d2a63
AG
720 (source
721 (origin
722 (method url-fetch)
723 (uri (string-append "https://github.com/alols/" name
724 "/archive/v" version ".tar.gz"))
725 (file-name (string-append name "-" version ".tar.gz"))
726 (sha256
727 (base32
82f44a36 728 "0898zc3vwxia00h9kfknpf7jygxgwggrx8v5mxc31w4lzn2dhzm2"))))
ca0d2a63
AG
729 (build-system gnu-build-system)
730 (arguments
731 `(#:tests? #f ; no check target
732 #:phases (alist-delete 'configure %standard-phases) ; no configure script
733 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
734 "MANDIR=/share/man/man1"
735 "CC=gcc")))
736 (inputs
737 `(("libxtst" ,libxtst)
738 ("libx11" ,libx11)))
739 (native-inputs
740 `(("pkg-config" ,pkg-config)))
741 (home-page "http://github.com/alols/xcape")
742 (synopsis "Use a modifier key in X.org as another key")
743 (description
744 "This utility for X.org allows to use modifier key as another key when
745pressed and released on its own. The default behaviour is to generate the
746Escape key when Left Control is pressed and released on its own.")
747 (license license:gpl3+)))
f1f7049e
AW
748
749(define-public libwacom
750 (package
751 (name "libwacom")
eae2dbd4 752 (version "0.23")
f1f7049e
AW
753 (source (origin
754 (method url-fetch)
755 (uri (string-append "mirror://sourceforge/linuxwacom/libwacom/"
756 name "-" version ".tar.bz2"))
757 (sha256
758 (base32
eae2dbd4 759 "0qiikh95b9crybkwgcbbv9y80hb7lsbvvmvaia4gbgbdyagwb2m0"))))
f1f7049e
AW
760 (build-system glib-or-gtk-build-system)
761 (native-inputs
762 `(("pkg-config" ,pkg-config)))
763 (inputs
34efce4f 764 `(("gtk+" ,gtk+)
b9cbe316 765 ("libgudev" ,libgudev)
f1f7049e
AW
766 ("eudev" ,eudev)
767 ("libxml2" ,libxml2)))
34efce4f
AW
768 (propagated-inputs
769 ;; libwacom includes header files that include GLib, and libinput uses
770 ;; those header files.
771 `(("glib" ,glib)))
f1f7049e
AW
772 (home-page "http://linuxwacom.sourceforge.net/")
773 (synopsis "Helper library for Wacom tablet settings")
774 (description
34efce4f
AW
775 "Libwacom is a library to help implement Wacom tablet settings. It is
776intended to be used by client-programs that need model identification. It is
777already being used by the gnome-settings-daemon and the GNOME Control Center
778Wacom tablet applet.")
f1f7049e 779 (license license:x11)))
ab42a2a7
AW
780
781(define-public xf86-input-wacom
782 (package
783 (name "xf86-input-wacom")
9d58741a 784 (version "0.34.0")
ab42a2a7
AW
785 (source (origin
786 (method url-fetch)
787 (uri (string-append
788 "mirror://sourceforge/linuxwacom/xf86-input-wacom/"
789 name "-" version ".tar.bz2"))
790 (sha256
791 (base32
9d58741a 792 "0idhkigl0pnyp08sqm6bqfb4h20v6rjrb71z1gdv59gk7d7qwpgi"))))
ab42a2a7
AW
793 (arguments
794 `(#:configure-flags
795 (list (string-append "--with-sdkdir="
796 (assoc-ref %outputs "out")
797 "/include/xorg")
798 (string-append "--with-xorg-conf-dir="
799 (assoc-ref %outputs "out")
800 "/share/X11/xorg.conf.d"))))
801 (build-system gnu-build-system)
802 (native-inputs
803 `(("pkg-config" ,pkg-config)))
804 (inputs
805 `(("xorg-server" ,xorg-server)
806 ("libxrandr" ,libxrandr)
807 ("libxinerama" ,libxinerama)
808 ("libxi" ,libxi)
809 ("eudev" ,eudev)))
810 (home-page "http://linuxwacom.sourceforge.net/")
811 (synopsis "Wacom input driver for X")
812 (description
813 "The xf86-input-wacom driver is the wacom-specific X11 input driver for
814the X.Org X Server version 1.7 and later (X11R7.5 or later).")
815 (license license:x11)))
6645753b
FPS
816
817(define-public redshift
818 (package
819 (name "redshift")
85a94d29 820 (version "1.11")
6645753b
FPS
821 (source
822 (origin
823 (method url-fetch)
824 (uri
825 (string-append "https://github.com/jonls/redshift/"
826 "releases/download/v" version
827 "/redshift-" version ".tar.xz"))
828 (sha256
829 (base32
85a94d29 830 "0ngkwj7rg8nfk806w0sg443w6wjr91xdc0zisqfm5h2i77wm1qqh"))))
6645753b
FPS
831 (build-system gnu-build-system)
832 (native-inputs
833 `(("pkg-config" ,pkg-config)
834 ("intltool" ,intltool)))
835 (inputs
836 `(("libdrm" ,libdrm)
837 ("libx11" ,libx11)
838 ("libxcb" ,libxcb)
b3546174 839 ("libxxf86vm" ,libxxf86vm)
6645753b
FPS
840 ("glib" ,glib))) ;for Geoclue2 support
841 (home-page "https://github.com/jonls/redshift")
842 (synopsis "Adjust the color temperature of your screen")
843 (description
844 "Redshift adjusts the color temperature according to the position of the
845sun. A different color temperature is set during night and daytime. During
846twilight and early morning, the color temperature transitions smoothly from
847night to daytime temperature to allow your eyes to slowly adapt. At night the
848color temperature should be set to match the lamps in your room.")
849 (license license:gpl3+)))
b4c400a7
CAW
850
851(define-public xscreensaver
852 (package
853 (name "xscreensaver")
f6864729 854 (version "5.36")
b4c400a7
CAW
855 (source
856 (origin
857 (method url-fetch)
858 (uri
859 (string-append "https://www.jwz.org/xscreensaver/xscreensaver-"
860 version ".tar.gz"))
861 (sha256
862 (base32
f6864729 863 "0v60mdhvv42jla5hljp77igng11kxpah5fs9j7ci65kz0hw552vb"))))
b4c400a7
CAW
864 (build-system gnu-build-system)
865 (arguments
866 `(#:tests? #f ; no check target
867 #:phases
868 (modify-phases %standard-phases
869 (add-before 'configure 'adjust-gtk-resource-paths
870 (lambda _
871 (substitute* '("driver/Makefile.in" "po/Makefile.in.in")
872 (("@GTK_DATADIR@") "@datadir@")
873 (("@PO_DATADIR@") "@datadir@")))))
874 #:configure-flags '("--with-pam" "--with-proc-interrupts"
875 "--without-readdisplay")
876 #:make-flags (list (string-append "AD_DIR="
877 (assoc-ref %outputs "out")
878 "/usr/lib/X11/app-defaults"))))
879 (native-inputs
880 `(("pkg-config" ,pkg-config)
881 ("intltool" ,intltool)))
882 (inputs
883 `(("libx11" ,libx11)
884 ("libxext" ,libxext)
885 ("libxi" ,libxi)
886 ("libxt" ,libxt)
887 ("libxft" ,libxft)
888 ("libxmu" ,libxmu)
889 ("libxpm" ,libxpm)
890 ("libglade" ,libglade)
891 ("libxml2" ,libxml2)
892 ("libsm" ,libsm)
893 ("libjpeg" ,libjpeg)
894 ("linux-pam" ,linux-pam)
895 ("pango" ,pango)
896 ("gtk+" ,gtk+)
897 ("perl" ,perl)
898 ("cairo" ,cairo)
899 ("bc" ,bc)
900 ("libxrandr" ,libxrandr)
901 ("glu" ,glu)
902 ("glib" ,glib)))
903 (home-page "https://www.jwz.org/xscreensaver/")
904 (synopsis "Classic screen saver suite supporting screen locking")
905 (description
906 "xscreensaver is a popular screen saver collection with many entertaining
907demos. It also acts as a nice screen locker.")
908 ;; xscreensaver doesn't have a single copyright file and instead relies on
909 ;; source comment headers, though most files have the same lax
910 ;; permissions. To reduce complexity, we're pointing at Debian's
911 ;; breakdown of the copyright information.
912 (license (license:non-copyleft
913 (string-append
914 "http://metadata.ftp-master.debian.org/changelogs/"
706998e7 915 "/main/x/xscreensaver/xscreensaver_5.36-1_copyright")))))
f40dfcd0 916
6cfd1a68
AK
917(define-public xdpyprobe
918 (package
919 (name "xdpyprobe")
920 (version "0.1")
921 (source (origin
922 (method url-fetch)
923 (uri (string-append "https://github.com/alezost/" name
924 "/releases/download/v" version
925 "/" name "-" version ".tar.gz"))
926 (sha256
927 (base32
928 "1h09wd2qcg08rj5hcakvdh9q01hkrj8vxly94ax3ch2x06lm0zq8"))))
929 (build-system gnu-build-system)
930 (inputs
931 `(("libx11" ,libx11)))
932 (home-page "https://github.com/alezost/xdpyprobe")
933 (synopsis "Probe X server for connectivity")
934 (description
935 "Xdpyprobe is a tiny C program whose only purpose is to probe a
936connectivity of the X server running on a particular @code{DISPLAY}.")
937 (license license:gpl3+)))
938
f40dfcd0
DM
939(define-public rofi
940 (package
941 (name "rofi")
88f2dd1d 942 (version "1.3.1")
f40dfcd0
DM
943 (source (origin
944 (method url-fetch)
945 (uri (string-append "https://github.com/DaveDavenport/rofi/"
946 "releases/download/"
947 version "/rofi-" version ".tar.xz"))
948 (sha256
949 (base32
88f2dd1d 950 "1s47biv6d68nblpz6d3aklsar1xxxcilzr4y77v3hz2w1wbz2b5m"))))
f40dfcd0
DM
951 (build-system gnu-build-system)
952 (inputs
68c35ba9 953 `(("pango" ,pango)
f40dfcd0
DM
954 ("cairo" ,cairo)
955 ("glib" ,glib)
956 ("startup-notification" ,startup-notification)
957 ("libxkbcommon" ,libxkbcommon)
958 ("libxcb" ,libxcb)
959 ("xcb-util" ,xcb-util)
68c35ba9 960 ("xcb-util-xrm" ,xcb-util-xrm)
f40dfcd0
DM
961 ("xcb-util-wm" ,xcb-util-wm)))
962 (native-inputs
963 `(("pkg-config" ,pkg-config)))
964 (arguments
965 `(#:phases
966 (modify-phases %standard-phases
967 (add-before 'configure 'adjust-tests
968 (lambda _
969 (substitute* '("test/helper-expand.c")
970 (("~root") "/root")
971 (("~") "")
972 (("g_get_home_dir \\(\\)") "\"/\"")))))))
973 (home-page "https://davedavenport.github.io/rofi/")
974 (synopsis "Application Launcher")
975 (description "Rofi is a minimalist Application Launcher. It memorizes which
976applications you regularily use and also allows you to search for an application
977by name.")
978 (license license:expat)))
751f6871
ML
979
980(define-public tint2
981 (package
982 (name "tint2")
983 (version "0.12.11")
984 (source (origin
985 (method url-fetch)
986 (uri (string-append "https://gitlab.com/o9000/" name
987 "/repository/archive.tar.gz?ref=" version))
988 (file-name (string-append name "-" version ".tar.gz"))
989 (sha256
990 (base32
991 "0dv7zaj2ahnfclnwnwcz9arrvzxn65yy29z7fqdgifdh3jk1kl2h"))))
992 (build-system cmake-build-system)
993 (arguments
994 '(#:tests? #f ;no test target
995 #:phases
996 (modify-phases %standard-phases
997 (add-after 'unpack 'fix-installation-prefix
998 (lambda _
999 (substitute* "CMakeLists.txt"
1000 (("/etc") "${CMAKE_INSTALL_PREFIX}/etc")))))))
1001 (inputs
1002 `(("gtk+" ,gtk+-2)
1003 ("imlib2" ,imlib2)
1004 ("librsvg" ,librsvg)
1005 ("libxcomposite" ,libxcomposite)
1006 ("libxdamage" ,libxdamage)
1007 ("libxft" ,libxft)
1008 ("libxinerama" ,libxinerama)
1009 ("libxrandr" ,libxrandr)
1010 ("startup-notification" ,startup-notification)))
1011 (native-inputs
b94a6ca0 1012 `(("gettext" ,gettext-minimal)
751f6871
ML
1013 ("pkg-config" ,pkg-config)))
1014 (home-page "https://gitlab.com/o9000/tint2")
1015 (synopsis "Lightweight task bar")
1016 (description
1017 "Tint2 is a simple task bar made for modern X window managers. It was
1018specifically made for Openbox but it should also work with other window
1019managers (GNOME, KDE, XFCE etc.).
1020
1021The taskbar includes transparency and color settings for the font, icons,
1022border, and background. It also supports multihead setups, customized mouse
1023actions, a built-in clock, a battery monitor and a system tray.")
1024 (license license:gpl2)))
4493a3c2
MB
1025
1026(define-public xcb-util-xrm
1027 (package
1028 (name "xcb-util-xrm")
7aef9930 1029 (version "1.2")
4493a3c2
MB
1030 (source (origin
1031 (method url-fetch)
1032 (uri (string-append
1033 "https://github.com/Airblader/xcb-util-xrm/releases"
1034 "/download/v" version "/xcb-util-xrm-" version ".tar.bz2"))
1035 (sha256
1036 (base32
7aef9930 1037 "0vbqhag51i0njc8d5fc8c6aa12496cwrc3s6s7sa5kfc17cwhppp"))
4493a3c2
MB
1038 (modules '((guix build utils)))
1039 (snippet
1040 ;; Drop bundled m4.
1041 '(delete-file-recursively "m4"))))
1042 (build-system gnu-build-system)
1043 (native-inputs
1044 `(("pkg-config" ,pkg-config)
1045 ("m4" ,m4)
1046 ("libx11" ,libx11))) ; for tests
1047 (inputs
1048 `(("libxcb" ,libxcb)
1049 ("xcb-util" ,xcb-util)))
1050 (home-page "https://github.com/Airblader/xcb-util-xrm")
1051 (synopsis "XCB utility functions for the X resource manager")
1052 (description
1053 "The XCB util module provides a number of libraries which sit on
1054top of libxcb, the core X protocol library, and some of the extension
1055libraries. These experimental libraries provide convenience functions
1056and interfaces which make the raw X protocol more usable. Some of the
1057libraries also provide client-side code which is not strictly part of
1058the X protocol but which has traditionally been provided by Xlib.
1059
1060XCB util-xrm module provides the following libraries:
1061
1062- xrm: utility functions for the X resource manager.")
1063 (license license:x11)))
01278f16
P
1064
1065(define-public xcalib
1066 (package
1067 (name "xcalib")
1068 (version "0.8")
1069 (source (origin
1070 (method url-fetch)
1071 (uri (string-append "mirror://sourceforge/xcalib/xcalib/" version
1072 "/xcalib-source-" version ".tar.gz"))
1073 (sha256
1074 (base32
1075 "1rh6xb51c5xz926dnn82a2fn643g0sr4a8z66rn6yi7523kjw4ca"))))
1076 (build-system gnu-build-system)
1077 (arguments
1078 '(#:make-flags '("CC=gcc")
1079 #:tests? #f ; No test suite
1080 #:phases (modify-phases %standard-phases
1081 (delete 'configure)
1082 (replace 'install
1083 (lambda* (#:key outputs #:allow-other-keys)
1084 (let* ((out (assoc-ref outputs "out"))
1085 (bin (string-append out "/bin")))
1086 (install-file "xcalib" bin))))
1087 (add-after 'install 'install-doc
1088 (lambda* (#:key outputs #:allow-other-keys)
1089 (let ((doc (string-append(assoc-ref outputs "out")
1090 "/share/doc/xcalib")))
1091 (install-file "README" doc)
1092 ;; Avoid unspecified return value.
1093 #t))))))
1094 (inputs `(("libx11", libx11)
1095 ("libxext", libxext)
1096 ("libxxf86vm", libxxf86vm)))
1097 (synopsis "Tiny monitor calibration loader for XFree86 (or X.org)")
1098 (description "xcalib is a tiny tool to load the content of vcgt-Tags in ICC
1099profiles to the video card's gamma ramp. It does work with most video card
1100drivers except the generic VESA driver. Alter brightness, contrast, RGB, and
1101invert colors on a specific display/screen.")
1102 (home-page "http://xcalib.sourceforge.net/")
1103 (license license:gpl2)))