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