Update e-mail for Kei Kebreau.
[jackhill/guix/guix.git] / gnu / packages / xfce.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014, 2015 Sou Bunnbu <iyzsong@gmail.com>
3 ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
4 ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
5 ;;; Copyright © 2016 Florian Paul Schmidt <mista.tapas@gmx.net>
6 ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
7 ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
8 ;;; Copyright © 2017 Petter <petter@mykolab.ch>
9 ;;;
10 ;;; This file is part of GNU Guix.
11 ;;;
12 ;;; GNU Guix is free software; you can redistribute it and/or modify it
13 ;;; under the terms of the GNU General Public License as published by
14 ;;; the Free Software Foundation; either version 3 of the License, or (at
15 ;;; your option) any later version.
16 ;;;
17 ;;; GNU Guix is distributed in the hope that it will be useful, but
18 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
19 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 ;;; GNU General Public License for more details.
21 ;;;
22 ;;; You should have received a copy of the GNU General Public License
23 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
24
25 (define-module (gnu packages xfce)
26 #:use-module ((guix licenses) #:hide (freetype))
27 #:use-module (guix packages)
28 #:use-module (guix download)
29 #:use-module (guix utils)
30 #:use-module (guix build-system glib-or-gtk)
31 #:use-module (guix build-system gnu)
32 #:use-module (guix build-system trivial)
33 #:use-module (gnu packages)
34 #:use-module (gnu packages calendar)
35 #:use-module (gnu packages pkg-config)
36 #:use-module (gnu packages glib)
37 #:use-module (gnu packages gtk)
38 #:use-module (gnu packages xorg)
39 #:use-module (gnu packages xdisorg)
40 #:use-module (gnu packages web)
41 #:use-module (gnu packages fontutils)
42 #:use-module (gnu packages freedesktop)
43 #:use-module (gnu packages image)
44 #:use-module (gnu packages gnome)
45 #:use-module (gnu packages pdf)
46 #:use-module (gnu packages polkit)
47 #:use-module (gnu packages gstreamer)
48 #:use-module (gnu packages linux)
49 #:use-module (gnu packages photo)
50 #:use-module (gnu packages pcre)
51 #:use-module (gnu packages popt)
52 #:use-module (gnu packages pulseaudio))
53
54 (define-public gtk-xfce-engine
55 (package
56 (name "gtk-xfce-engine")
57 (version "2.10.1")
58 (source (origin
59 (method url-fetch)
60 (uri (string-append "http://archive.xfce.org/src/xfce/"
61 name "/" (version-major+minor version) "/"
62 name "-" version ".tar.bz2"))
63 (sha256
64 (base32
65 "0g86ywkx0ghzhhn96k88p67bbzlm1aqckly85izp07w80l1934ja"))))
66 (build-system gnu-build-system)
67 (native-inputs
68 `(("pkg-config" ,pkg-config)
69 ("intltool" ,intltool)))
70 (inputs `(("gtk+" ,gtk+-2)))
71 (home-page "http://www.xfce.org/")
72 (synopsis "GTK+ theme engine for Xfce")
73 (description
74 "Default GTK+ engine and themes for Xfce Desktop Environment.")
75 (license gpl2+)))
76
77 (define-public libxfce4util
78 (package
79 (name "libxfce4util")
80 (version "4.12.1")
81 (source (origin
82 (method url-fetch)
83 (uri (string-append "http://archive.xfce.org/xfce/"
84 (version-major+minor version)
85 "/src/" name "-" version ".tar.bz2"))
86 (sha256
87 (base32
88 "07c8r3xwx5is298zk77m3r784gmr5y4mh8bbca5zdjqk5vxdwsw7"))))
89 (build-system gnu-build-system)
90 (native-inputs
91 `(("pkg-config" ,pkg-config)
92 ("intltool" ,intltool)))
93 (propagated-inputs `(("glib" ,glib))) ; required by libxfce4util-1.0.pc
94 (home-page "http://www.xfce.org/")
95 (synopsis "Basic utility library for Xfce")
96 (description
97 "A general-purpose utility library with core application support for the
98 Xfce Desktop Environment.")
99 (license lgpl2.0+)))
100
101 (define-public xfconf
102 (package
103 (name "xfconf")
104 (version "4.12.0")
105 (source (origin
106 (method url-fetch)
107 (uri (string-append "http://archive.xfce.org/xfce/"
108 (version-major+minor version)
109 "/src/" name "-" version ".tar.bz2"))
110 (sha256
111 (base32
112 "0mmi0g30aln3x98y5p507g17pipq0dj0bwypshan8cq5hkmfl44r"))))
113 (build-system gnu-build-system)
114 (arguments
115 '(#:phases
116 ;; Run check after install phase to test dbus activation.
117 (alist-cons-after
118 'install 'check
119 (lambda _
120 (setenv "HOME" (getenv "TMPDIR")) ; xfconfd requires a writable HOME
121 ;; Run test-suite under a dbus session.
122 (setenv "XDG_DATA_DIRS" ; for finding org.xfce.Xfconf.service
123 (string-append %output "/share"))
124 ;; For the missing '/etc/machine-id'.
125 (setenv "DBUS_FATAL_WARNINGS" "0");
126 (zero? (system* "dbus-launch" "make" "check")))
127 (alist-delete 'check %standard-phases))))
128 (native-inputs
129 `(("pkg-config" ,pkg-config)
130 ("intltool" ,intltool)))
131 (propagated-inputs
132 ;; libxfconf-0.pc refers to all these.
133 `(("glib" ,glib)
134 ("dbus" ,dbus)
135 ("dbus-glib" ,dbus-glib)))
136 (inputs
137 `(("libxfce4util" ,libxfce4util)))
138 (home-page "http://www.xfce.org/")
139 (synopsis "Configuration storage and query system for Xfce")
140 (description
141 "Settings daemon for Xfce, implemented as a D-Bus-based configuration
142 storage system.")
143 (license lgpl2.0+)))
144
145 (define-public libxfce4ui
146 (package
147 (name "libxfce4ui")
148 (version "4.12.0")
149 (source (origin
150 (method url-fetch)
151 (uri (string-append "http://archive.xfce.org/xfce/"
152 (version-major+minor version)
153 "/src/" name "-" version ".tar.bz2"))
154 (sha256
155 (base32
156 "11rrhqxnfwx5jls3nlg9s2x8saag9f2zqk9cdm6hr3bs6cr9a781"))))
157 (build-system gnu-build-system)
158 (native-inputs
159 `(("pkg-config" ,pkg-config)
160 ("intltool" ,intltool)))
161 (propagated-inputs
162 `(("gtk+-3" ,gtk+) ; required by libxfce4ui-2.pc
163 ;; libxfce4kbd-private-2.pc refers to all these.
164 ("libxfce4util" ,libxfce4util)
165 ("xfconf" ,xfconf)))
166 (inputs `(("libsm" ,libsm)
167 ("libice" ,libice)
168 ;; FIXME: required by libxfce4ui-1.pc, so should be propagated,
169 ;; but will lead to a conflict with gtk+.
170 ("gtk+-2" ,gtk+-2)
171 ("startup-notification" ,startup-notification)))
172 (home-page "http://www.xfce.org/")
173 (synopsis "Widgets library for Xfce")
174 (description
175 "Libxfce4ui is the replacement of the old libxfcegui4 library. It is used
176 to share commonly used Xfce widgets among the Xfce applications.")
177 (license lgpl2.0+)))
178
179 (define-public exo
180 (package
181 (name "exo")
182 (version "0.10.3")
183 (source (origin
184 (method url-fetch)
185 (uri (string-append "http://archive.xfce.org/xfce/4.12/src/"
186 name "-" version ".tar.bz2"))
187 (sha256
188 (base32
189 "1g9651ra395v2fmzb943l68b9pg0rfxc19x97a62crchxwa4nw4m"))))
190 (build-system gnu-build-system)
191 (native-inputs
192 `(("pkg-config" ,pkg-config)
193 ("intltool" ,intltool)))
194 (propagated-inputs
195 ;; exo-1.pc refers to all these.
196 `(("gtk+" ,gtk+-2)
197 ("libxfce4util" ,libxfce4util)))
198 (inputs
199 `(("libxfce4ui" ,libxfce4ui)
200 ("perl-uri" ,perl-uri)))
201 (home-page "http://www.xfce.org/")
202 (synopsis "Extension library for Xfce")
203 (description
204 "An extension library to Xfce. While Xfce comes with quite a few libraries
205 that are targeted at desktop development, libexo is targeted at application
206 development.")
207 ;; Libraries are under LGPLv2+, and programs under GPLv2+.
208 (license (list gpl2+ lgpl2.1+))))
209
210 (define-public garcon
211 (package
212 (name "garcon")
213 (version "0.4.0")
214 (source (origin
215 (method url-fetch)
216 (uri (string-append "http://archive.xfce.org/xfce/4.12/src/"
217 name "-" version ".tar.bz2"))
218 (sha256
219 (base32
220 "0wm9pjbwq53s3n3nwvsyf0q8lbmhiy2ln3bn5ncihr9vf5cwhzbq"))))
221 (build-system gnu-build-system)
222 (native-inputs
223 `(("pkg-config" ,pkg-config)
224 ("intltool" ,intltool)
225 ("glib:bin" ,glib "bin")))
226 (inputs
227 `(("gtk+" ,gtk+-2)))
228 (propagated-inputs
229 `(("libxfce4ui" ,libxfce4ui))) ; required by garcon-gtk2-1.pc
230 (home-page "http://www.xfce.org/")
231 (synopsis "Implementation of the freedesktop.org menu specification")
232 (description
233 "Garcon is a freedesktop.org compliant menu implementation based on
234 GLib and GIO. It was started as a complete rewrite of the former Xfce menu
235 library called libxfce4menu, which, in contrast to garcon, was lacking menu
236 merging features essential for loading menus modified with menu editors.")
237 (license lgpl2.0+)))
238
239 (define-public tumbler
240 (package
241 (name "tumbler")
242 (version "0.1.31")
243 (source (origin
244 (method url-fetch)
245 (uri (string-append "http://archive.xfce.org/src/xfce/tumbler/0.1/"
246 name "-" version ".tar.bz2"))
247 (sha256
248 (base32
249 "0wvip28gm2w061hn84zp2q4dv947ihylrppahn4cjspzff935zfh"))))
250 (build-system gnu-build-system)
251 (native-inputs
252 `(("pkg-config" ,pkg-config)
253 ("intltool" ,intltool)
254 ("glib:bin" ,glib "bin") ; need glib-genmarshal
255 ("dbus-glib" ,dbus-glib))) ; need dbus-binding-tool
256 (propagated-inputs
257 `(("glib" ,glib))) ; required by tumbler-1.pc
258 (inputs
259 `(("dbus" ,dbus)
260 ("gdk-pixbuf" ,gdk-pixbuf)
261 ("freetype" ,freetype)
262 ("libjpeg" ,libjpeg)
263 ("libgsf" ,libgsf)
264 ("poppler" ,poppler)
265 ("gstreamer" ,gstreamer)))
266 (home-page "http://www.xfce.org/")
267 (synopsis "D-Bus service for applications to request thumbnails")
268 (description
269 "Tumbler is a D-Bus service for applications to request thumbnails for
270 various URI schemes and MIME types. It is an implementation of the thumbnail
271 management D-Bus specification.")
272 (license gpl2+)))
273
274 (define-public xfce4-panel
275 (package
276 (name "xfce4-panel")
277 (version "4.12.0")
278 (source (origin
279 (method url-fetch)
280 (uri (string-append "http://archive.xfce.org/xfce/"
281 (version-major+minor version)
282 "/src/" name "-" version ".tar.bz2"))
283 (sha256
284 (base32
285 "1c4p3ckghvsad1sj5v8wmar5mh9cbhail9mmhad2f9pwwb10z4ih"))
286 (patches (search-patches "xfce4-panel-plugins.patch"))))
287 (build-system gnu-build-system)
288 (arguments
289 '(#:configure-flags '("--enable-gtk3")))
290 (native-inputs
291 `(("pkg-config" ,pkg-config)
292 ("intltool" ,intltool)))
293 (propagated-inputs
294 `(("libxfce4util" ,libxfce4util))) ; required by libxfce4panel-1.0.pc
295 (inputs
296 `(("exo" ,exo)
297 ("garcon" ,garcon)
298 ("libwnck" ,libwnck-2)
299 ("libxfce4ui" ,libxfce4ui)))
300 (native-search-paths
301 (list (search-path-specification
302 (variable "X_XFCE4_LIB_DIRS")
303 (files '("lib/xfce4")))))
304 (home-page "http://www.xfce.org/")
305 (synopsis "Xfce desktop panel")
306 (description
307 "Desktop panel for Xfce, which contains program launchers, window buttons,
308 applications menu, workspace switcher and more.")
309 ;; Libraries are under LGPLv2.1+, and programs under GPLv2+.
310 (license (list gpl2+ lgpl2.1+))))
311
312 (define-public xfce4-battery-plugin
313 (package
314 (name "xfce4-battery-plugin")
315 (version "1.0.5")
316 (source (origin
317 (method url-fetch)
318 (uri (string-append "http://archive.xfce.org/src/panel-plugins/"
319 name "/" (version-major+minor version) "/"
320 name "-" version ".tar.bz2"))
321 (sha256
322 (base32
323 "04gbplcj8z4vg5xbks8cc2jjf62mmf9sdymg90scjwmb82pv2ngn"))))
324 (build-system gnu-build-system)
325 (native-inputs `(("pkg-config" ,pkg-config)
326 ("intltool" ,intltool)))
327 (inputs `(("glib" ,glib)
328 ("gtk+" ,gtk+-2)
329 ("libxfce4util" ,libxfce4util)
330 ("libxfce4ui" ,libxfce4ui)
331 ("xfce4-panel" ,xfce4-panel)))
332 (home-page
333 "http://goodies.xfce.org/projects/panel-plugins/xfce4-battery-plugin")
334 (synopsis "Battery monitor panel plugin for Xfce4")
335 (description
336 "A battery monitor panel plugin for Xfce4, compatible with APM and ACPI.")
337 ;; The main plugin code is covered by gpl2+, but the files containing code
338 ;; to read the battery state via ACPI or APM are covered by lgpl2.0+.
339 (license (list gpl2+ lgpl2.0+))))
340
341 (define-public xfce4-clipman-plugin
342 (package
343 (name "xfce4-clipman-plugin")
344 (version "1.2.6")
345 (source (origin
346 (method url-fetch)
347 (uri (string-append "http://archive.xfce.org/src/panel-plugins/"
348 name "/" (version-major+minor version) "/"
349 name "-" version ".tar.bz2"))
350 (sha256
351 (base32
352 "19a8gwcqc0r5qqi8w28dc8arqip34m8yxdb87lgps9g5qfcky113"))))
353 (build-system gnu-build-system)
354 (native-inputs
355 `(("intltool" ,intltool)
356 ("pkg-config" ,pkg-config)))
357 (inputs
358 `(("exo" ,exo)
359 ("libxfce4ui" ,libxfce4ui)
360 ("libxtst" ,libxtst)
361 ("xfce4-panel" ,xfce4-panel)))
362 (home-page
363 "http://goodies.xfce.org/projects/panel-plugins/xfce4-clipman-plugin")
364 (synopsis "Clipboard manager for Xfce")
365 (description
366 "Clipman is a clipboard manager for Xfce. It keeps the clipboard contents
367 around while it is usually lost when you close an application. It is able to
368 handle text and images, and has a feature to execute actions on specific text by
369 matching them against regular expressions.")
370 (license (list gpl2+))))
371
372 (define-public xfce4-pulseaudio-plugin
373 (package
374 (name "xfce4-pulseaudio-plugin")
375 (version "0.2.3")
376 (source (origin
377 (method url-fetch)
378 (uri (string-append "http://archive.xfce.org/src/panel-plugins/"
379 name "/" (version-major+minor version) "/"
380 name "-" version ".tar.bz2"))
381 (sha256
382 (base32
383 "0crvb2gyxbnlf46712arg3m2vqx81dixqhqdwss0bngpijy3ca78"))))
384 (build-system gnu-build-system)
385 (native-inputs
386 `(("intltool" ,intltool)
387 ("pkg-config" ,pkg-config)))
388 (inputs
389 `(("exo" ,exo)
390 ("libnotify" ,libnotify)
391 ("libxfce4ui" ,libxfce4ui)
392 ("pulseaudio" ,pulseaudio)
393 ("xfce4-panel" ,xfce4-panel)))
394 (home-page "http://git.xfce.org/panel-plugins/xfce4-pulseaudio-plugin/")
395 (synopsis "PulseAudio panel plugin for Xfce")
396 (description
397 "Xfce PulseAudio plugin is a plugin for the Xfce panel which provides a
398 convenient way to adjust the audio volume of the PulseAudio sound system and
399 to an auto mixer tool like pavucontrol. It can optionally handle multimedia
400 keys for controlling the audio volume.")
401 (license gpl2+)))
402
403 (define-public xfce4-xkb-plugin
404 (package
405 (name "xfce4-xkb-plugin")
406 (version "0.7.1")
407 (source (origin
408 (method url-fetch)
409 (uri (string-append "http://archive.xfce.org/src/panel-plugins/"
410 name "/" (version-major+minor version) "/"
411 name "-" version ".tar.bz2"))
412 (sha256
413 (base32
414 "10g65j5ia389ahhn3b9hr52ghpp0817fk0m60rfrv4wrzqrjxzk1"))))
415 (build-system gnu-build-system)
416 (native-inputs
417 `(("intltool" ,intltool)
418 ("pkg-config" ,pkg-config)))
419 (inputs
420 `(("garcon" ,garcon)
421 ("librsvg" ,librsvg)
422 ("libwnck" ,libwnck-2)
423 ("libx11" ,libx11)
424 ("libxfce4ui" ,libxfce4ui)
425 ("libxklavier" ,libxklavier)
426 ("xfce4-panel" ,xfce4-panel)))
427 (home-page "http://git.xfce.org/panel-plugins/xfce4-xkb-plugin/")
428 (synopsis "XKB layout switching panel plug-in for Xfce")
429 (description
430 "Xfce XKB plugin makes it possible to set up and use multiple
431 keyboard layouts.
432
433 One can choose the keyboard model, what key combination to
434 use to switch between the layouts, the actual keyboard layouts,
435 the way in which the current layout is being displayed (country
436 flag image or text) and the layout policy, which is whether to
437 store the layout globally (for all windows), per application or
438 per window.")
439 (license bsd-2)))
440
441 (define-public xfce4-appfinder
442 (package
443 (name "xfce4-appfinder")
444 (version "4.12.0")
445 (source (origin
446 (method url-fetch)
447 (uri (string-append "http://archive.xfce.org/xfce/"
448 (version-major+minor version)
449 "/src/" name "-" version ".tar.bz2"))
450 (sha256
451 (base32
452 "0ry5hin8xhgnkmm9vs7jq8blk1cnbyr0s18nm1j6nsm7360abm1a"))))
453 (build-system gnu-build-system)
454 (native-inputs
455 `(("pkg-config" ,pkg-config)
456 ("intltool" ,intltool)))
457 (inputs
458 `(("garcon" ,garcon)
459 ("gtk+" ,gtk+-2)
460 ("libxfce4ui" ,libxfce4ui)))
461 (home-page "http://www.xfce.org/")
462 (synopsis "Xfce application finder")
463 (description
464 "Application finder for Xfce, it will show the applications installed on
465 your system in categories, so you can quickly find and launch them.")
466 (license gpl2+)))
467
468 (define-public xfce4-session
469 (package
470 (name "xfce4-session")
471 (version "4.12.0")
472 (source (origin
473 (method url-fetch)
474 (uri (string-append "http://archive.xfce.org/xfce/"
475 (version-major+minor version)
476 "/src/" name "-" version ".tar.bz2"))
477 (sha256
478 (base32
479 "01kvbd09c06j20n155hracsgrq06rlmfgdywffjsvlwpn19m9j38"))
480 (patches
481 ;; See: https://bugzilla.xfce.org/show_bug.cgi?id=12282
482 (search-patches "xfce4-session-fix-xflock4.patch"))
483 (modules '((guix build utils)))
484 (snippet
485 '(begin
486 (substitute* "xfsm-shutdown-helper/main.c"
487 (("/sbin/shutdown -h now") "halt")
488 (("/sbin/shutdown -r now") "restart")
489 (("/usr/sbin/pm-suspend") "pm-suspend")
490 (("/usr/sbin/pm-hibernate") "pm-hibernate"))
491 #t))))
492 (build-system gnu-build-system)
493 (arguments
494 '(#:configure-flags
495 (list (string-append "--with-xsession-prefix=" %output))))
496 (native-inputs
497 `(("pkg-config" ,pkg-config)
498 ("intltool" ,intltool)))
499 (inputs
500 `(("iceauth" ,iceauth)
501 ("upower" ,upower)
502 ("polkit" ,polkit)
503 ("libsm" ,libsm)
504 ("libwnck" ,libwnck-2)
505 ("libxfce4ui" ,libxfce4ui)))
506 (home-page "http://www.xfce.org/")
507 (synopsis "Xfce session manager")
508 (description
509 "Session manager for Xfce, it will restore your session on startup and
510 allows you to shutdown the computer from Xfce.")
511 (license gpl2+)))
512
513 (define-public xfce4-settings
514 (package
515 (name "xfce4-settings")
516 (version "4.12.0")
517 (source (origin
518 (method url-fetch)
519 (uri (string-append "http://archive.xfce.org/xfce/"
520 (version-major+minor version)
521 "/src/" name "-" version ".tar.bz2"))
522 (sha256
523 (base32
524 "108za1cmjslwzkdl76x9kwxkq8z734kg9nz8rxk057f10pqwxgh4"))
525 (patches (search-patches "xfce4-settings-defaults.patch"))))
526 (build-system gnu-build-system)
527 (native-inputs
528 `(("pkg-config" ,pkg-config)
529 ("intltool" ,intltool)))
530 (inputs
531 `(("exo" ,exo)
532 ("garcon" ,garcon)
533 ("libnotify" ,libnotify)
534 ("libxcursor" ,libxcursor)
535 ("libxi" ,libxi)
536 ("libxklavier" ,libxklavier)
537 ("libxrandr" ,libxrandr)
538 ("libxfce4ui" ,libxfce4ui)
539 ("upower" ,upower)
540 ("xf86-input-libinput" ,xf86-input-libinput)))
541 (home-page "http://www.xfce.org/")
542 (synopsis "Xfce settings manager")
543 (description
544 "Settings manager for Xfce, it can control various aspects of the desktop
545 like appearance, display, keyboard and mouse settings.")
546 (license gpl2+)))
547
548 (define-public thunar
549 (package
550 (name "thunar")
551 (version "1.6.6")
552 (source (origin
553 (method url-fetch)
554 (uri (string-append "http://archive.xfce.org/xfce/4.12/src/"
555 "Thunar-" version ".tar.bz2"))
556 (sha256
557 (base32
558 "1cl9v3rdzipyyxml3pyrzspxfmmssz5h5snpj18irq4an42539dr"))))
559 (build-system gnu-build-system)
560 (native-inputs
561 `(("pkg-config" ,pkg-config)
562 ("intltool" ,intltool)))
563 (inputs
564 `(("exo" ,exo)
565 ("libexif" ,libexif)
566 ("libgudev" ,libgudev)
567 ("libnotify" ,libnotify)
568 ("libxfce4ui" ,libxfce4ui)
569 ("pcre" ,pcre)
570 ("xfce4-panel" ,xfce4-panel)
571 ("startup-notification" ,startup-notification)))
572 (home-page "http://www.xfce.org/")
573 (synopsis "Xfce file manager")
574 (description
575 "A modern file manager for graphical desktop, aiming to be easy-to-use and
576 fast.")
577 (license gpl2+)))
578
579 (define-public thunar-volman
580 (package
581 (name "thunar-volman")
582 (version "0.8.1")
583 (source (origin
584 (method url-fetch)
585 (uri (string-append "http://archive.xfce.org/xfce/4.12/src/"
586 name "-" version ".tar.bz2"))
587 (sha256
588 (base32
589 "1gf259n1v3y23n1zlkhyr6r0i8j59rnl1cmxvxj6la9cwdfbn22s"))))
590 (build-system gnu-build-system)
591 (native-inputs
592 `(("pkg-config" ,pkg-config)
593 ("intltool" ,intltool)))
594 (inputs
595 `(("exo" ,exo)
596 ("libgudev" ,libgudev)
597 ("libnotify" ,libnotify)
598 ("libxfce4ui" ,libxfce4ui)))
599 (home-page "http://www.xfce.org/")
600 (synopsis "Removable media manager for Thunar")
601 (description
602 "Thunar-volman is an extension for the Thunar File Manager, which enables
603 automatic management of removable drives and media. For example, if
604 thunar-volman is installed and configured properly, and you plug in your
605 digital camera, it will automatically spawn your preferred photo application
606 and import the new pictures from your camera.")
607 (license gpl2+)))
608
609 (define-public xfwm4
610 (package
611 (name "xfwm4")
612 (version "4.12.0")
613 (source (origin
614 (method url-fetch)
615 (uri (string-append "http://archive.xfce.org/xfce/"
616 (version-major+minor version)
617 "/src/" name "-" version ".tar.bz2"))
618 (sha256
619 (base32
620 "0fnc2ps4k733n9qfpxrz047h1myyqjzxczl7fmkjmqwshvicpx19"))))
621 (build-system gnu-build-system)
622 (native-inputs
623 `(("pkg-config" ,pkg-config)
624 ("intltool" ,intltool)))
625 (inputs
626 `(("libdrm" ,libdrm)
627 ("libwnck" ,libwnck-2)
628 ("libxcomposite" ,libxcomposite)
629 ("libxdamage" ,libxdamage)
630 ("libxfce4ui" ,libxfce4ui)
631 ("libxrandr" ,libxrandr)))
632 (home-page "http://www.xfce.org/")
633 (synopsis "Xfce window manager")
634 (description
635 "Window manager for Xfce, it handles the placement of windows
636 on the screen.")
637 (license gpl2+)))
638
639 (define-public xfdesktop
640 (package
641 (name "xfdesktop")
642 (version "4.12.0")
643 (source (origin
644 (method url-fetch)
645 (uri (string-append "http://archive.xfce.org/xfce/"
646 (version-major+minor version)
647 "/src/" name "-" version ".tar.bz2"))
648 (sha256
649 (base32
650 "1ivzgg4792nid6wcgd1nq5vc3z0y5ip6ymq7ci5j2qkp663qnykf"))))
651 (build-system gnu-build-system)
652 (native-inputs
653 `(("pkg-config" ,pkg-config)
654 ("intltool" ,intltool)))
655 (inputs
656 `(("exo" ,exo)
657 ("garcon" ,garcon)
658 ("libnotify" ,libnotify)
659 ("libwnck" ,libwnck-2)
660 ("libxfce4ui" ,libxfce4ui)
661 ("thunar" ,thunar)))
662 (home-page "http://www.xfce.org/")
663 (synopsis "Xfce desktop manager")
664 (description
665 "Desktop manager for Xfce, it sets the background color or image with
666 optional application menu or icons for minimized applications or launchers,
667 devices and folders.")
668 (license gpl2+)))
669
670 (define-public xfce4-terminal
671 (package
672 (name "xfce4-terminal")
673 (version "0.8.3")
674 (source (origin
675 (method url-fetch)
676 (uri (string-append "http://archive.xfce.org/src/apps/" name "/"
677 (version-major+minor version) "/"
678 name "-" version ".tar.bz2"))
679 (sha256
680 (base32
681 "1w8jvi9nw00aki825mm8f7wpkhxxicw4f6j9v4ka71z8p2ry9rj0"))))
682 (build-system gnu-build-system)
683 (native-inputs
684 `(("pkg-config" ,pkg-config)
685 ("intltool" ,intltool)))
686 (inputs
687 `(("libxfce4ui" ,libxfce4ui)
688 ("vte" ,vte)))
689 (home-page "http://www.xfce.org/")
690 (synopsis "Xfce terminal emulator")
691 (description
692 "A lightweight and easy to use terminal emulator for Xfce. Features
693 include a simple configuration interface, the ability to use multiple tabs
694 with terminals within a single window, the possibility to have a
695 pseudo-transparent terminal background, and a compact mode (where both the
696 menubar and the window decorations are hidden) that helps you to save space
697 on your desktop.")
698 (license gpl2+)))
699
700 (define-public xfce
701 (package
702 (name "xfce")
703 (version (package-version xfce4-session))
704 (source #f)
705 (build-system trivial-build-system)
706 (arguments
707 '(#:modules ((guix build union))
708 #:builder
709 (begin
710 (use-modules (ice-9 match)
711 (guix build union))
712 (match %build-inputs
713 (((names . directories) ...)
714 (union-build (assoc-ref %outputs "out")
715 directories))))))
716 (inputs
717 `(("exo" ,exo)
718 ("garcon" ,garcon)
719 ("gnome-icon-theme" ,gnome-icon-theme)
720 ("gtk-xfce-engine" ,gtk-xfce-engine)
721 ("hicolor-icon-theme" ,hicolor-icon-theme)
722 ("ristretto" ,ristretto)
723 ("shared-mime-info" ,shared-mime-info)
724 ("thunar" ,thunar)
725 ("thunar-volman" ,thunar-volman)
726 ("tumlber" ,tumbler)
727 ("xfce4-appfinder" ,xfce4-appfinder)
728 ("xfce4-panel" ,xfce4-panel)
729 ("xfce4-power-manager" ,xfce4-power-manager)
730 ("xfce4-session" ,xfce4-session)
731 ("xfce4-settings" ,xfce4-settings)
732 ("xfce4-terminal" ,xfce4-terminal)
733 ("xfconf" ,xfconf)
734 ("xfdesktop" ,xfdesktop)
735 ("xfwm4" ,xfwm4)
736 ;; Panel plugins.
737 ("xfce4-battery-plugin" ,xfce4-battery-plugin)
738 ("xfce4-clipman-plugin" ,xfce4-clipman-plugin)
739 ("xfce4-pulseaudio-plugin" ,xfce4-pulseaudio-plugin)
740 ("xfce4-xkb-plugin" ,xfce4-xkb-plugin)))
741 (native-search-paths
742 ;; For finding panel plugins.
743 (package-native-search-paths xfce4-panel))
744 (home-page "http://www.xfce.org/")
745 (synopsis "Desktop environment (meta-package)")
746 (description
747 "Xfce is a lightweight desktop environment. It aims to be fast and low on
748 system resources, while still being visually appealing and user friendly.")
749 (license gpl2+)))
750
751 (define-public xfce4-power-manager
752 (package
753 (name "xfce4-power-manager")
754 (version "1.4.3")
755 (source (origin
756 (method url-fetch)
757 (uri (string-append "http://archive.xfce.org/xfce/4.12"
758 "/src/" name "-" version ".tar.bz2"))
759 (sha256
760 (base32
761 "04909sfc2nrj2wg9cw6y9y2r9yrp3l3vc201sy1gaiap67fi33h1"))))
762 (build-system gnu-build-system)
763 (arguments
764 '(#:configure-flags '("--enable-gtk3")))
765 (native-inputs
766 `(("pkg-config" ,pkg-config)
767 ("intltool" ,intltool)))
768 (inputs
769 `(("lbxrandr" ,libxrandr)
770 ("gtk+" ,gtk+-2)
771 ("upower" ,upower)
772 ("libnotify" ,libnotify)
773 ("libxfce4ui" ,libxfce4ui)))
774 (home-page "http://www.xfce.org/")
775 (synopsis "Xfce Power Manager")
776 (description
777 "This is a power manager for the Xfce desktop. It manages the power
778 sources on the computer and the devices that can be controlled to reduce their
779 power consumption (such as LCD brightness level, monitor sleep, CPU frequency
780 scaling, etc). In addition, xfce4-power-manager provides a set of
781 freedesktop-compliant DBus interfaces to inform other applications about current
782 power level so that they can adjust their power consumption, and it provides the
783 inhibit interface which allows applications to prevent automatic sleep.")
784 (license gpl2+)))
785
786 (define-public ristretto
787 (package
788 (name "ristretto")
789 (version "0.8.0")
790 (source (origin
791 (method url-fetch)
792 (uri (string-append "http://archive.xfce.org/src/apps/ristretto/"
793 (version-major+minor version) "/"
794 name "-" version ".tar.bz2"))
795 (sha256
796 (base32
797 "0a7kwhx51fd2kqh7l7kp13wcn39d2fjkwnn9rfd1k9ydrqj56qki"))))
798 (build-system gnu-build-system)
799 (native-inputs
800 `(("intltool" ,intltool)
801 ("pkg-config" ,pkg-config)))
802 (inputs
803 `(("desktop-file-utils" ,desktop-file-utils)
804 ("gtk+" ,gtk+-2)
805 ("libexif" ,libexif)
806 ("libxfce4ui" ,libxfce4ui)
807 ("librsvg" ,librsvg)
808 ("tumbler" ,tumbler)))
809 (home-page "http://docs.xfce.org/apps/ristretto/start")
810 (synopsis "Fast and lightweight picture-viewer")
811 (description
812 "The Ristretto Image Viewer is an application that can be used to view,
813 and scroll through images. It can be used to run a slideshow of images, open
814 images with other applications like an image-editor or configure an image as
815 the desktop wallpaper.")
816 (license gpl2+)))
817
818 (define-public xfce4-taskmanager
819 (package
820 (name "xfce4-taskmanager")
821 (version "1.1.0")
822 (source (origin
823 (method url-fetch)
824 (uri (string-append "http://archive.xfce.org/src/apps/"
825 name "/" (version-major+minor version) "/"
826 name "-" version ".tar.bz2"))
827 (sha256
828 (base32
829 "1jwywmkkkmz7406m1jq40w6apiav25cznafhigbgpjv6z5hv27if"))))
830 (build-system gnu-build-system)
831 (native-inputs
832 `(("intltool" ,intltool)
833 ("pkg-config" ,pkg-config)))
834 (inputs
835 `(("libwnck" ,libwnck-2)
836 ("gtk+" ,gtk+-2)))
837 (home-page "http://goodies.xfce.org/projects/applications/xfce4-taskmanager")
838 (synopsis "Easy to use task manager")
839 (description
840 "This is a task manager for the Xfce desktop. It displays the CPU and
841 memory usage graphically, and it can display processes as a tree.")
842 (license gpl2+)))
843
844 (define-public orage
845 (package
846 (name "orage")
847 (version "4.12.1")
848 (source (origin
849 (method url-fetch)
850 (uri (string-append "http://archive.xfce.org/src/apps/"
851 name "/" (version-major+minor version) "/"
852 name "-" version ".tar.bz2"))
853 (sha256
854 (base32
855 "0qlhvnl2m33vfxqlbkic2nmfpwyd4mq230jzhs48cg78392amy9w"))))
856 (build-system gnu-build-system)
857 (native-inputs
858 `(("intltool" ,intltool)
859 ("pkg-config" ,pkg-config)))
860 (inputs
861 `(("gtk+" ,gtk+-2)
862 ("libical" ,libical)
863 ("libnotify" ,libnotify)
864 ("popt" ,popt)
865 ("xfce4-panel" ,xfce4-panel)))
866 (home-page "http://www.xfce.org/projects/")
867 (synopsis "Simple calendar application with reminders")
868 (description
869 "This is a simple calendar application for the Xfce desktop. Orage has
870 alarms and uses the iCalendar format, making it compatible with many other
871 calendar applications. It also includes a panel clock plugin and an
872 international clock application capable of simultaneously showing clocks from
873 several different time zones.")
874 (license gpl2+)))
875
876 (define-public xfce4-notifyd
877 (package
878 (name "xfce4-notifyd")
879 (version "0.3.6")
880 (source (origin
881 (method url-fetch)
882 (uri (string-append "http://archive.xfce.org/src/apps/"
883 name "/" (version-major+minor version) "/"
884 name "-" version ".tar.bz2"))
885 (sha256
886 (base32
887 "1ybcfqfynr33g5hp2lgq17s8qyx7rq6fd2iwrpwcvm6kml6prjpl"))))
888 (build-system glib-or-gtk-build-system)
889 (native-inputs
890 `(("intltool" ,intltool)
891 ("pkg-config" ,pkg-config)))
892 (inputs
893 `(("libxfce4ui" ,libxfce4ui)
894 ("libnotify" ,libnotify)))
895 (home-page "https://goodies.xfce.org/projects/applications/xfce4-notifyd")
896 (synopsis "Show notification bubbles on Xfce")
897 (description
898 "The Xfce Notify Daemon (xfce4-notifyd for short) is a smallish program
899 that implements the “server-side” portion of the Freedesktop desktop
900 notifications specification. Applications that wish to pop up a notification
901 bubble in a standard way can implicitly make use of xfce4-notifyd to do so by
902 sending standard messages over D-Bus using the
903 @code{org.freedesktop.Notifications} interface.")
904 (license gpl2)))