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