gnu: xfce4-pulseaudio-plugin: Update to 0.4.2.
[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, 2019 Ricardo Wurmus <rekado@elephly.net>
8 ;;; Copyright © 2017 Petter <petter@mykolab.ch>
9 ;;; Copyright © 2017 ng0 <ng0@n0.is>
10 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
11 ;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com>
12 ;;;
13 ;;; This file is part of GNU Guix.
14 ;;;
15 ;;; GNU Guix is free software; you can redistribute it and/or modify it
16 ;;; under the terms of the GNU General Public License as published by
17 ;;; the Free Software Foundation; either version 3 of the License, or (at
18 ;;; your option) any later version.
19 ;;;
20 ;;; GNU Guix is distributed in the hope that it will be useful, but
21 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
22 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 ;;; GNU General Public License for more details.
24 ;;;
25 ;;; You should have received a copy of the GNU General Public License
26 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
27
28 (define-module (gnu packages xfce)
29 #:use-module ((guix licenses) #:hide (freetype))
30 #:use-module (guix packages)
31 #:use-module (guix download)
32 #:use-module (guix gexp)
33 #:use-module (guix utils)
34 #:use-module (guix build-system cmake)
35 #:use-module (guix build-system glib-or-gtk)
36 #:use-module (guix build-system gnu)
37 #:use-module (guix build-system trivial)
38 #:use-module (gnu artwork)
39 #:use-module (gnu packages)
40 #:use-module (gnu packages calendar)
41 #:use-module (gnu packages cdrom)
42 #:use-module (gnu packages pkg-config)
43 #:use-module (gnu packages glib)
44 #:use-module (gnu packages gtk)
45 #:use-module (gnu packages imagemagick)
46 #:use-module (gnu packages inkscape)
47 #:use-module (gnu packages xorg)
48 #:use-module (gnu packages xdisorg)
49 #:use-module (gnu packages web)
50 #:use-module (gnu packages fontutils)
51 #:use-module (gnu packages freedesktop)
52 #:use-module (gnu packages image)
53 #:use-module (gnu packages gnome)
54 #:use-module (gnu packages pdf)
55 #:use-module (gnu packages polkit)
56 #:use-module (gnu packages gstreamer)
57 #:use-module (gnu packages libcanberra)
58 #:use-module (gnu packages linux)
59 #:use-module (gnu packages photo)
60 #:use-module (gnu packages pcre)
61 #:use-module (gnu packages popt)
62 #:use-module (gnu packages pulseaudio))
63
64 (define-public gtk-xfce-engine
65 (package
66 (name "gtk-xfce-engine")
67 (version "2.10.1")
68 (source (origin
69 (method url-fetch)
70 (uri (string-append "http://archive.xfce.org/src/xfce/"
71 name "/" (version-major+minor version) "/"
72 name "-" version ".tar.bz2"))
73 (sha256
74 (base32
75 "0g86ywkx0ghzhhn96k88p67bbzlm1aqckly85izp07w80l1934ja"))))
76 (build-system gnu-build-system)
77 (native-inputs
78 `(("pkg-config" ,pkg-config)
79 ("intltool" ,intltool)))
80 (inputs `(("gtk+" ,gtk+-2)))
81 (home-page "https://www.xfce.org/")
82 (synopsis "GTK+ theme engine for Xfce")
83 (description
84 "Default GTK+ engine and themes for Xfce Desktop Environment.")
85 (license gpl2+)))
86
87 (define-public libxfce4util
88 (package
89 (name "libxfce4util")
90 (version "4.14.0")
91 (source (origin
92 (method url-fetch)
93 (uri (string-append "http://archive.xfce.org/xfce/"
94 (version-major+minor version)
95 "/src/" name "-" version ".tar.bz2"))
96 (sha256
97 (base32
98 "093338faqqsrlc8dkmzr7qv411ysxczg1wlg7s3gvhrfk6vpkb9j"))))
99 (build-system gnu-build-system)
100 (native-inputs
101 `(("pkg-config" ,pkg-config)
102 ("intltool" ,intltool)))
103 (propagated-inputs `(("glib" ,glib))) ; required by libxfce4util-1.0.pc
104 (home-page "https://www.xfce.org/")
105 (synopsis "Basic utility library for Xfce")
106 (description
107 "A general-purpose utility library with core application support for the
108 Xfce Desktop Environment.")
109 (license lgpl2.0+)))
110
111 (define-public xfconf
112 (package
113 (name "xfconf")
114 (version "4.14.1")
115 (source (origin
116 (method url-fetch)
117 (uri (string-append "https://archive.xfce.org/src/xfce/"
118 name "/" (version-major+minor version) "/"
119 name "-" version ".tar.bz2"))
120 (sha256
121 (base32
122 "0n8d55c98ff7wgwv3qa4g369sv4iasgm1w62zq10kq5f56iy14xq"))))
123 (build-system gnu-build-system)
124 (arguments
125 '(#:phases
126 ;; Run check after install phase to test dbus activation.
127 (modify-phases %standard-phases
128 (add-after 'install 'check
129 (lambda _
130 (setenv "HOME" (getenv "TMPDIR")) ; xfconfd requires a writable HOME
131 ;; Run test-suite under a dbus session.
132 (setenv "XDG_DATA_DIRS" ; for finding org.xfce.Xfconf.service
133 (string-append %output "/share"))
134 ;; For the missing '/etc/machine-id'.
135 (setenv "DBUS_FATAL_WARNINGS" "0");
136 (invoke "dbus-launch" "make" "check")))
137 (delete 'check))))
138 (native-inputs
139 `(("pkg-config" ,pkg-config)
140 ("intltool" ,intltool)
141 ("glib:bin" ,glib "bin") ;; for gdbus-codegen
142 ))
143 (propagated-inputs
144 ;; libxfconf-0.pc refers to all these.
145 `(("glib" ,glib)))
146 (inputs
147 `(("libxfce4util" ,libxfce4util)))
148 (home-page "https://www.xfce.org/")
149 (synopsis "Configuration storage and query system for Xfce")
150 (description
151 "Settings daemon for Xfce, implemented as a D-Bus-based configuration
152 storage system.")
153 (license lgpl2.0+)))
154
155 (define-public libxfce4ui
156 (package
157 (name "libxfce4ui")
158 (version "4.14.1")
159 (source (origin
160 (method url-fetch)
161 (uri (string-append "https://archive.xfce.org/src/xfce/"
162 name "/" (version-major+minor version) "/"
163 name "-" version ".tar.bz2"))
164 (sha256
165 (base32
166 "1npjhznmnckhnylsv3l7p1zvhckhmp9d7vifs8w12kdfmrg0fjf4"))))
167 (build-system gnu-build-system)
168 (native-inputs
169 `(("pkg-config" ,pkg-config)
170 ("intltool" ,intltool)))
171 (propagated-inputs
172 `(("gtk+-3" ,gtk+) ; required by libxfce4ui-2.pc
173 ;; libxfce4kbd-private-2.pc refers to all these.
174 ("libxfce4util" ,libxfce4util)
175 ("xfconf" ,xfconf)))
176 (inputs `(("libsm" ,libsm)
177 ("libice" ,libice)
178 ;; FIXME: required by libxfce4ui-1.pc, so should be propagated,
179 ;; but will lead to a conflict with gtk+.
180 ("gtk+-2" ,gtk+-2)
181 ("startup-notification" ,startup-notification)))
182 (home-page "https://www.xfce.org/")
183 (synopsis "Widgets library for Xfce")
184 (description
185 "Libxfce4ui is the replacement of the old libxfcegui4 library. It is used
186 to share commonly used Xfce widgets among the Xfce applications.")
187 (license lgpl2.0+)))
188
189 (define-public exo
190 (package
191 (name "exo")
192 (version "0.12.8")
193 (source (origin
194 (method url-fetch)
195 (uri (string-append "https://archive.xfce.org/src/xfce/"
196 "exo/" (version-major+minor version) "/"
197 "exo-" version ".tar.bz2"))
198 (sha256
199 (base32
200 "1ppwi6n40aphh0dqsnfrk234zsp7pl4lkjnspqjxw7m49bka401l"))))
201 (build-system gnu-build-system)
202 (native-inputs
203 `(("pkg-config" ,pkg-config)
204 ("intltool" ,intltool)))
205 (propagated-inputs
206 ;; exo-2.pc refers to all these.
207 `(("gtk+-3" ,gtk+)
208 ("libxfce4util" ,libxfce4util)))
209 (inputs
210 `(;; FIXME Refered to in exo-1.pc but conflict with gtk+-3
211 ("gtk+-2" ,gtk+-2)
212 ("libxfce4ui" ,libxfce4ui)
213 ("perl-uri" ,perl-uri)))
214 (home-page "https://www.xfce.org/")
215 (synopsis "Extension library for Xfce")
216 (description
217 "An extension library to Xfce. While Xfce comes with quite a few libraries
218 that are targeted at desktop development, libexo is targeted at application
219 development.")
220 ;; Libraries are under LGPLv2+, and programs under GPLv2+.
221 (license (list gpl2+ lgpl2.1+))))
222
223 (define-public garcon
224 (package
225 (name "garcon")
226 (version "0.6.4")
227 (source (origin
228 (method url-fetch)
229 (uri (string-append "https://archive.xfce.org/src/xfce/"
230 "garcon/" (version-major+minor version) "/"
231 "garcon-" version ".tar.bz2"))
232 (sha256
233 (base32
234 "0bbngb4bn1m325j7y40gky36kn2nlsvqs6xp0wy76x3s0d9lfpnp"))))
235 (build-system gnu-build-system)
236 (native-inputs
237 `(("pkg-config" ,pkg-config)
238 ("intltool" ,intltool)
239 ("glib:bin" ,glib "bin")))
240 (inputs
241 `(("gtk+-2" ,gtk+-2))); required by garcon-gtk2-1.pc
242 (propagated-inputs
243 `(("gtk+-3" ,gtk+) ; required by garcon-gtk3-1.pc
244 ("libxfce4ui" ,libxfce4ui))) ; required by garcon-gtk3-1.pc
245 (home-page "https://www.xfce.org/")
246 (synopsis "Implementation of the freedesktop.org menu specification")
247 (description
248 "Garcon is a freedesktop.org compliant menu implementation based on
249 GLib and GIO. It was started as a complete rewrite of the former Xfce menu
250 library called libxfce4menu, which, in contrast to garcon, was lacking menu
251 merging features essential for loading menus modified with menu editors.")
252 (license lgpl2.0+)))
253
254 (define-public tumbler
255 (package
256 (name "tumbler")
257 (version "0.2.7")
258 (source (origin
259 (method url-fetch)
260 (uri (string-append "https://archive.xfce.org/src/xfce/"
261 "tumbler/" (version-major+minor version) "/"
262 "tumbler-" version ".tar.bz2"))
263 (sha256
264 (base32
265 "1r0l0ghcrj71ax7yil1m4p7yjrfqm3icx0s8r7ivwv3i2rgw617p"))))
266 (build-system gnu-build-system)
267 (native-inputs
268 `(("pkg-config" ,pkg-config)
269 ("intltool" ,intltool)
270 ("glib:bin" ,glib "bin") ; need glib-genmarshal
271 ("dbus-glib" ,dbus-glib))) ; need dbus-binding-tool
272 (propagated-inputs
273 `(("glib" ,glib))) ; required by tumbler-1.pc
274 (inputs
275 `(("dbus" ,dbus)
276 ("gdk-pixbuf" ,gdk-pixbuf)
277 ("freetype" ,freetype)
278 ("libjpeg" ,libjpeg)
279 ("libgsf" ,libgsf)
280 ("poppler" ,poppler)
281 ("gstreamer" ,gstreamer)))
282 (home-page "https://www.xfce.org/")
283 (synopsis "D-Bus service for applications to request thumbnails")
284 (description
285 "Tumbler is a D-Bus service for applications to request thumbnails for
286 various URI schemes and MIME types. It is an implementation of the thumbnail
287 management D-Bus specification.")
288 (license gpl2+)))
289
290 (define-public xfce4-panel
291 (package
292 (name "xfce4-panel")
293 (version "4.14.0")
294 (source (origin
295 (method url-fetch)
296 (uri (string-append "https://archive.xfce.org/src/xfce/"
297 name "/" (version-major+minor version) "/"
298 name "-" version ".tar.bz2"))
299 (sha256
300 (base32
301 "1x3flv86jh9vqah7mr5mmfx2991mc6icsqjygsc3j88lgsyz7y6m"))
302 (patches (search-patches "xfce4-panel-plugins.patch"))))
303 (build-system gnu-build-system)
304 (native-inputs
305 `(("pkg-config" ,pkg-config)
306 ("intltool" ,intltool)
307 ("glib:bin" ,glib "bin")))
308 (propagated-inputs
309 `(("gtk+-3" ,gtk+) ; required by libxfce4panel-2.0.pc
310 ("libxfce4util" ,libxfce4util))) ; required by libxfce4panel-2.0.pc
311 (inputs
312 `(("exo" ,exo)
313 ("gtk+-2" ,gtk+-2)
314 ("xfconf" ,xfconf)
315 ("garcon" ,garcon)
316 ("libwnck" ,libwnck)
317 ("libxfce4ui" ,libxfce4ui)))
318 (native-search-paths
319 (list (search-path-specification
320 (variable "X_XFCE4_LIB_DIRS")
321 (files '("lib/xfce4")))))
322 (home-page "https://www.xfce.org/")
323 (synopsis "Xfce desktop panel")
324 (description
325 "Desktop panel for Xfce, which contains program launchers, window buttons,
326 applications menu, workspace switcher and more.")
327 ;; Libraries are under LGPLv2.1+, and programs under GPLv2+.
328 (license (list gpl2+ lgpl2.1+))))
329
330 (define-public xfce4-battery-plugin
331 (package
332 (name "xfce4-battery-plugin")
333 (version "1.1.3")
334 (source (origin
335 (method url-fetch)
336 (uri (string-append "https://archive.xfce.org/src/panel-plugins/"
337 name "/" (version-major+minor version) "/"
338 name "-" version ".tar.bz2"))
339 (sha256
340 (base32
341 "18s0s004nidii8cc3ldp5n3jajc18vwn9vhkhmhy3lbbs520mghj"))))
342 (build-system gnu-build-system)
343 (native-inputs `(("pkg-config" ,pkg-config)
344 ("intltool" ,intltool)))
345 (inputs `(("glib" ,glib)
346 ("gtk+" ,gtk+)
347 ("libxfce4util" ,libxfce4util)
348 ("libxfce4ui" ,libxfce4ui)
349 ("xfce4-panel" ,xfce4-panel)))
350 (home-page
351 "https://goodies.xfce.org/projects/panel-plugins/xfce4-battery-plugin")
352 (synopsis "Battery monitor panel plugin for Xfce4")
353 (description
354 "A battery monitor panel plugin for Xfce4, compatible with APM and ACPI.")
355 ;; The main plugin code is covered by gpl2+, but the files containing code
356 ;; to read the battery state via ACPI or APM are covered by lgpl2.0+.
357 (license (list gpl2+ lgpl2.0+))))
358
359 (define-public xfce4-clipman-plugin
360 (package
361 (name "xfce4-clipman-plugin")
362 (version "1.4.3")
363 (source (origin
364 (method url-fetch)
365 (uri (string-append "https://archive.xfce.org/src/panel-plugins/"
366 name "/" (version-major+minor version) "/"
367 name "-" version ".tar.bz2"))
368 (sha256
369 (base32
370 "1liacff4wl5mpyf9dzdrfbwxzmhl95y5nsfc0jf5rgalzdgbik99"))))
371 (build-system gnu-build-system)
372 (native-inputs
373 `(("intltool" ,intltool)
374 ("pkg-config" ,pkg-config)))
375 (inputs
376 `(("exo" ,exo)
377 ("libxfce4ui" ,libxfce4ui)
378 ("libxtst" ,libxtst)
379 ("xfce4-panel" ,xfce4-panel)))
380 (home-page
381 "https://goodies.xfce.org/projects/panel-plugins/xfce4-clipman-plugin")
382 (synopsis "Clipboard manager for Xfce")
383 (description
384 "Clipman is a clipboard manager for Xfce. It keeps the clipboard contents
385 around while it is usually lost when you close an application. It is able to
386 handle text and images, and has a feature to execute actions on specific text by
387 matching them against regular expressions.")
388 (license (list gpl2+))))
389
390 (define-public xfce4-pulseaudio-plugin
391 (package
392 (name "xfce4-pulseaudio-plugin")
393 (version "0.4.2")
394 (source (origin
395 (method url-fetch)
396 (uri (string-append "https://archive.xfce.org/src/panel-plugins/"
397 name "/" (version-major+minor version) "/"
398 name "-" version ".tar.bz2"))
399 (sha256
400 (base32
401 "0851b0vs5xmy3cq899khcghmkqwvh9rnzwavi17msrsq4jyaxs2a"))))
402 (build-system gnu-build-system)
403 (arguments
404 `(#:phases
405 ;; For dbus/dbus-glib.h in pulseaudio-config.h
406 (modify-phases %standard-phases
407 (add-after 'set-paths 'augment-cflags
408 (lambda* (#:key inputs #:allow-other-keys)
409 (setenv "C_INCLUDE_PATH"
410 (string-append (assoc-ref inputs "dbus-glib")
411 "/include/dbus-1.0" ":"
412 (assoc-ref inputs "dbus")
413 "/include/dbus-1.0" ":"
414 (getenv "C_INCLUDE_PATH")))
415 #t)))))
416 (native-inputs
417 `(("intltool" ,intltool)
418 ("pkg-config" ,pkg-config)
419 ("dbus-glib" ,dbus-glib)
420 ("dbus" ,dbus)))
421 (inputs
422 `(("exo" ,exo)
423 ("libnotify" ,libnotify)
424 ("libxfce4ui" ,libxfce4ui)
425 ("pulseaudio" ,pulseaudio)
426 ("xfce4-panel" ,xfce4-panel)))
427 (home-page "https://git.xfce.org/panel-plugins/xfce4-pulseaudio-plugin/")
428 (synopsis "PulseAudio panel plugin for Xfce")
429 (description
430 "Xfce PulseAudio plugin is a plugin for the Xfce panel which provides a
431 convenient way to adjust the audio volume of the PulseAudio sound system and
432 to an auto mixer tool like pavucontrol. It can optionally handle multimedia
433 keys for controlling the audio volume.")
434 (license gpl2+)))
435
436 (define-public xfce4-whiskermenu-plugin
437 (package
438 (name "xfce4-whiskermenu-plugin")
439 (version "2.3.3")
440 (source (origin
441 (method url-fetch)
442 (uri (string-append "http://archive.xfce.org/src/panel-plugins/"
443 name "/" (version-major+minor version) "/"
444 name "-" version ".tar.bz2"))
445 (sha256
446 (base32
447 "0j0qmk372130avq8n07lfqrcm2al7n07l8gc06bbr1g6q57wrip0"))))
448 (build-system cmake-build-system)
449 (native-inputs
450 `(("pkg-config" ,pkg-config)
451 ("intltool" ,intltool)))
452 (inputs
453 `(("xfce4-panel" ,xfce4-panel)
454 ("garcon" ,garcon)
455 ("exo" ,exo)
456 ("gtk+" ,gtk+)
457 ("libxfce4ui" ,libxfce4ui)))
458 (arguments
459 `(#:tests? #f)) ; no tests
460 (home-page "https://goodies.xfce.org/projects/panel-plugins/xfce4-whiskermenu-plugin")
461 (synopsis "Application menu panel plugin for Xfce")
462 (description
463 "This package provides an alternative to the default application menu
464 panel plugin for Xfce4. It uses separate sections to display categories and
465 applications, and includes a search bar to search for applications.")
466 ;; The main plugin code is covered by gpl2, but files in panel-plugin directory
467 ;; are covered by gpl2+. The SVG icon is covered by gpl2.
468 (license (list gpl2 gpl2+))))
469
470 (define-public xfce4-xkb-plugin
471 (package
472 (name "xfce4-xkb-plugin")
473 (version "0.7.1")
474 (source (origin
475 (method url-fetch)
476 (uri (string-append "http://archive.xfce.org/src/panel-plugins/"
477 name "/" (version-major+minor version) "/"
478 name "-" version ".tar.bz2"))
479 (sha256
480 (base32
481 "10g65j5ia389ahhn3b9hr52ghpp0817fk0m60rfrv4wrzqrjxzk1"))))
482 (build-system gnu-build-system)
483 (native-inputs
484 `(("intltool" ,intltool)
485 ("pkg-config" ,pkg-config)))
486 (inputs
487 `(("garcon" ,garcon)
488 ("librsvg" ,librsvg)
489 ("libwnck" ,libwnck-2)
490 ("libx11" ,libx11)
491 ("libxfce4ui" ,libxfce4ui)
492 ("libxklavier" ,libxklavier)
493 ("xfce4-panel" ,xfce4-panel)))
494 (home-page "https://git.xfce.org/panel-plugins/xfce4-xkb-plugin/")
495 (synopsis "XKB layout switching panel plug-in for Xfce")
496 (description
497 "Xfce XKB plugin makes it possible to set up and use multiple
498 keyboard layouts.
499
500 One can choose the keyboard model, what key combination to
501 use to switch between the layouts, the actual keyboard layouts,
502 the way in which the current layout is being displayed (country
503 flag image or text) and the layout policy, which is whether to
504 store the layout globally (for all windows), per application or
505 per window.")
506 (license bsd-2)))
507
508 (define-public xfce4-appfinder
509 (package
510 (name "xfce4-appfinder")
511 (version "4.14.0")
512 (source (origin
513 (method url-fetch)
514 (uri (string-append "http://archive.xfce.org/xfce/"
515 (version-major+minor version)
516 "/src/" name "-" version ".tar.bz2"))
517 (sha256
518 (base32
519 "162dibl6ipp72x0s35yhk7kkzxd4qimagg5zdkkv5kjgjpa7bhby"))))
520 (build-system gnu-build-system)
521 (native-inputs
522 `(("pkg-config" ,pkg-config)
523 ("intltool" ,intltool)))
524 (inputs
525 `(("garcon" ,garcon)
526 ("gtk+" ,gtk+)
527 ("libxfce4ui" ,libxfce4ui)))
528 (home-page "https://www.xfce.org/")
529 (synopsis "Xfce application finder")
530 (description
531 "Application finder for Xfce, it will show the applications installed on
532 your system in categories, so you can quickly find and launch them.")
533 (license gpl2+)))
534
535 (define-public xfce4-session
536 (package
537 (name "xfce4-session")
538 (version "4.14.0")
539 (source (origin
540 (method url-fetch)
541 (uri (string-append "https://archive.xfce.org/src/xfce/"
542 name "/" (version-major+minor version) "/"
543 name "-" version ".tar.bz2"))
544 (sha256
545 (base32
546 "0gq4a8yiw58hb4d5dhvprxvzamqfg8qblmiqcw0b97mn9svnvyql"))
547 (modules '((guix build utils)))
548 (snippet
549 '(begin
550 (substitute* "xfsm-shutdown-helper/main.c"
551 (("/sbin/shutdown -h now") "halt")
552 (("/sbin/shutdown -r now") "restart")
553 (("/usr/sbin/pm-suspend") "pm-suspend")
554 (("/usr/sbin/pm-hibernate") "pm-hibernate"))
555 #t))))
556 (build-system gnu-build-system)
557 (arguments
558 '(#:configure-flags
559 (list (string-append "--with-xsession-prefix=" %output))
560 ;; Disable icon cache update.
561 #:make-flags
562 '("gtk_update_icon_cache=true")))
563 (native-inputs
564 `(("pkg-config" ,pkg-config)
565 ("intltool" ,intltool)))
566 (inputs
567 `(("iceauth" ,iceauth)
568 ("upower" ,upower)
569 ("polkit" ,polkit)
570 ("libsm" ,libsm)
571 ("libwnck" ,libwnck)
572 ("libxfce4ui" ,libxfce4ui)))
573 (home-page "https://www.xfce.org/")
574 (synopsis "Xfce session manager")
575 (description
576 "Session manager for Xfce, it will restore your session on startup and
577 allows you to shutdown the computer from Xfce.")
578 (license gpl2+)))
579
580 (define-public xfce4-settings
581 (package
582 (name "xfce4-settings")
583 (version "4.14.0")
584 (source (origin
585 (method url-fetch)
586 (uri (string-append "http://archive.xfce.org/src/xfce/"
587 name "/" (version-major+minor version) "/"
588 name "-" version ".tar.bz2"))
589 (sha256
590 (base32
591 "0g0ipkg2fyg8r1z95ynx0xjr78bp49c2dwh4mli05nmb4gb40c70"))
592 (patches (search-patches "xfce4-settings-defaults.patch"))))
593 (build-system gnu-build-system)
594 (arguments
595 `(#:configure-flags '("--enable-pluggable-dialogs"
596 "--enable-sound-settings"
597 "--enable-xrandr")))
598 (native-inputs
599 `(("pkg-config" ,pkg-config)
600 ("intltool" ,intltool)))
601 (inputs
602 `(("exo" ,exo)
603 ("garcon" ,garcon)
604 ("libnotify" ,libnotify)
605 ("libxcursor" ,libxcursor)
606 ("libxi" ,libxi)
607 ("libxklavier" ,libxklavier)
608 ("libxrandr" ,libxrandr)
609 ("libxfce4ui" ,libxfce4ui)
610 ("upower" ,upower)
611 ("xf86-input-libinput" ,xf86-input-libinput)))
612 (home-page "https://www.xfce.org/")
613 (synopsis "Xfce settings manager")
614 (description
615 "Settings manager for Xfce, it can control various aspects of the desktop
616 like appearance, display, keyboard and mouse settings.")
617 (license gpl2+)))
618
619 (define-public thunar
620 (package
621 (name "thunar")
622 (version "1.8.7")
623 (source (origin
624 (method url-fetch)
625 (uri (string-append "http://archive.xfce.org/src/xfce/"
626 "thunar/" (version-major+minor version) "/"
627 "Thunar-" version ".tar.bz2"))
628 (sha256
629 (base32
630 "0afkp528mwwa2m18m39mvw53qgaijyynrw9wwwiyxgjiczq3l0ry"))))
631 (build-system gnu-build-system)
632 (native-inputs
633 `(("pkg-config" ,pkg-config)
634 ("intltool" ,intltool)))
635 (inputs
636 `(("exo" ,exo)
637 ("libexif" ,libexif)
638 ("libgudev" ,libgudev)
639 ("libnotify" ,libnotify)
640 ("libxfce4ui" ,libxfce4ui)
641 ("pcre" ,pcre)
642 ("xfce4-panel" ,xfce4-panel)
643 ("startup-notification" ,startup-notification)))
644 (home-page "https://www.xfce.org/")
645 (synopsis "Xfce file manager")
646 (description
647 "A modern file manager for graphical desktop, aiming to be easy-to-use and
648 fast.")
649 (license gpl2+)))
650
651 (define-public thunar-volman
652 (package
653 (name "thunar-volman")
654 (version "0.9.3")
655 (source
656 (origin
657 (method url-fetch)
658 (uri (string-append "https://archive.xfce.org/src/xfce/thunar-volman/"
659 (version-major+minor version) "/"
660 "thunar-volman-" version ".tar.bz2"))
661 (sha256
662 (base32 "1sfmz40164rg77hclrkrgnbk8cb7f325qqi7lz2hh3wbvf8r0c19"))))
663 (build-system gnu-build-system)
664 (native-inputs
665 `(("pkg-config" ,pkg-config)
666 ("intltool" ,intltool)))
667 (inputs
668 `(("exo" ,exo)
669 ("libgudev" ,libgudev)
670 ("libnotify" ,libnotify)
671 ("libxfce4ui" ,libxfce4ui)))
672 (home-page "https://www.xfce.org/")
673 (synopsis "Removable media manager for Thunar")
674 (description
675 "Thunar-volman is an extension for the Thunar File Manager, which enables
676 automatic management of removable drives and media. For example, if
677 thunar-volman is installed and configured properly, and you plug in your
678 digital camera, it will automatically spawn your preferred photo application
679 and import the new pictures from your camera.")
680 (license gpl2+)))
681
682 (define-public xfwm4
683 (package
684 (name "xfwm4")
685 (version "4.14.0")
686 (source (origin
687 (method url-fetch)
688 (uri (string-append "https://archive.xfce.org/src/xfce/"
689 name "/" (version-major+minor version) "/"
690 name "-" version ".tar.bz2"))
691 (sha256
692 (base32
693 "05dn4a1i0nm6wm3nyj7qli5bvfalxghcl7x543qr5l33vkw2n65l"))))
694 (build-system gnu-build-system)
695 (native-inputs
696 `(("pkg-config" ,pkg-config)
697 ("intltool" ,intltool)))
698 (inputs
699 `(("libdrm" ,libdrm)
700 ("libwnck" ,libwnck)
701 ("libxcomposite" ,libxcomposite)
702 ("libxdamage" ,libxdamage)
703 ("libxfce4ui" ,libxfce4ui)
704 ("libxrandr" ,libxrandr)))
705 (home-page "https://www.xfce.org/")
706 (synopsis "Xfce window manager")
707 (description
708 "Window manager for Xfce, it handles the placement of windows
709 on the screen.")
710 (license gpl2+)))
711
712 (define-public xfdesktop
713 (package
714 (name "xfdesktop")
715 (version "4.14.1")
716 (source (origin
717 (method url-fetch)
718 (uri (string-append "https://archive.xfce.org/src/xfce/"
719 name "/" (version-major+minor version) "/"
720 name "-" version ".tar.bz2"))
721 (sha256
722 (base32
723 "10pqxgpj7b57wpcsh2k98sj4aavcgxbs1lc8qsq4mibf4hba01gp"))
724 (modules '((guix build utils)))
725 (snippet
726 #~(begin
727 (copy-file #$(file-append %artwork-repository "/logo/Guix.svg")
728 "backgrounds/guix-logo.svg")
729 #t))))
730 (build-system gnu-build-system)
731 (arguments
732 `(#:phases (modify-phases %standard-phases
733 (add-before 'configure 'prepare-background-image
734 (lambda _
735 ;; Stick a Guix logo in the background image. XXX: It
736 ;; has to go to the center because the image might be
737 ;; truncated on the edges. :-/
738 (invoke "inkscape" "--export-dpi=120"
739 "--export-png=/tmp/guix.png"
740 "backgrounds/guix-logo.svg")
741 (for-each (lambda (image)
742 (invoke "composite" "-gravity" "center"
743 "/tmp/guix.png" image
744 "/tmp/final.jpg")
745 (copy-file "/tmp/final.jpg" image))
746 '(;; "backgrounds/xfce-blue.jpg"
747 "backgrounds/xfce-teal.jpg"))
748 #t)))
749
750 #:disallowed-references (,inkscape ,imagemagick)))
751 (native-inputs
752 `(("pkg-config" ,pkg-config)
753 ("intltool" ,intltool)
754
755 ("inkscape" ,inkscape)
756 ("imagemagick" ,imagemagick)))
757 (inputs
758 `(("exo" ,exo)
759 ("garcon" ,garcon)
760 ("libnotify" ,libnotify)
761 ("libwnck" ,libwnck)
762 ("libxfce4ui" ,libxfce4ui)
763 ("thunar" ,thunar)))
764 (home-page "https://www.xfce.org/")
765 (synopsis "Xfce desktop manager")
766 (description
767 "Desktop manager for Xfce, it sets the background color or image with
768 optional application menu or icons for minimized applications or launchers,
769 devices and folders.")
770 (license gpl2+)))
771
772 (define-public xfce4-terminal
773 (package
774 (name "xfce4-terminal")
775 (version "0.8.8")
776 (source (origin
777 (method url-fetch)
778 (uri (string-append "https://archive.xfce.org/src/apps/" name "/"
779 (version-major+minor version) "/"
780 name "-" version ".tar.bz2"))
781 (sha256
782 (base32
783 "1zc7hkq77ajia099wxgh4wdvwifcg2zkcz5d2xsf1zm0sdh6mflg"))))
784 (build-system gnu-build-system)
785 (native-inputs
786 `(("pkg-config" ,pkg-config)
787 ("intltool" ,intltool)))
788 (inputs
789 `(("libxfce4ui" ,libxfce4ui)
790 ("vte" ,vte)))
791 (home-page "https://www.xfce.org/")
792 (synopsis "Xfce terminal emulator")
793 (description
794 "A lightweight and easy to use terminal emulator for Xfce. Features
795 include a simple configuration interface, the ability to use multiple tabs
796 with terminals within a single window, the possibility to have a
797 pseudo-transparent terminal background, and a compact mode (where both the
798 menubar and the window decorations are hidden) that helps you to save space
799 on your desktop.")
800 (license gpl2+)))
801
802 (define-public xfce
803 (package
804 (name "xfce")
805 (version (package-version xfce4-session))
806 (source #f)
807 (build-system trivial-build-system)
808 (arguments
809 '(#:modules ((guix build union))
810 #:builder
811 (begin
812 (use-modules (ice-9 match)
813 (guix build union))
814 (match %build-inputs
815 (((names . directories) ...)
816 (union-build (assoc-ref %outputs "out")
817 directories)
818 #t)))))
819 (inputs
820 `(("exo" ,exo)
821 ("garcon" ,garcon)
822 ("gnome-icon-theme" ,gnome-icon-theme)
823 ("gtk-xfce-engine" ,gtk-xfce-engine)
824 ("hicolor-icon-theme" ,hicolor-icon-theme)
825 ("ristretto" ,ristretto)
826 ("shared-mime-info" ,shared-mime-info)
827 ("thunar" ,thunar)
828 ("thunar-volman" ,thunar-volman)
829 ("tumlber" ,tumbler)
830 ("xfce4-appfinder" ,xfce4-appfinder)
831 ("xfce4-panel" ,xfce4-panel)
832 ("xfce4-power-manager" ,xfce4-power-manager)
833 ("xfce4-session" ,xfce4-session)
834 ("xfce4-settings" ,xfce4-settings)
835 ("xfce4-terminal" ,xfce4-terminal)
836 ("xfconf" ,xfconf)
837 ("xfdesktop" ,xfdesktop)
838 ("xfwm4" ,xfwm4)
839 ;; Panel plugins.
840 ("xfce4-battery-plugin" ,xfce4-battery-plugin)
841 ("xfce4-clipman-plugin" ,xfce4-clipman-plugin)
842 ("xfce4-pulseaudio-plugin" ,xfce4-pulseaudio-plugin)
843 ("xfce4-xkb-plugin" ,xfce4-xkb-plugin)))
844 (native-search-paths
845 ;; For finding panel plugins.
846 (package-native-search-paths xfce4-panel))
847 (home-page "https://www.xfce.org/")
848 (synopsis "Desktop environment (meta-package)")
849 (description
850 "Xfce is a lightweight desktop environment. It aims to be fast and low on
851 system resources, while still being visually appealing and user friendly.")
852 (license gpl2+)))
853
854 (define-public xfce4-power-manager
855 (package
856 (name "xfce4-power-manager")
857 (version "1.6.5")
858 (source (origin
859 (method url-fetch)
860 (uri (string-append "https://archive.xfce.org/src/xfce/"
861 name "/" (version-major+minor version) "/"
862 name "-" version ".tar.bz2"))
863 (sha256
864 (base32
865 "0x3s2bdwfhp65dz5yn3k43j99ywqlsvrpz3pqmgwm0dik5wbdb8h"))))
866 (build-system gnu-build-system)
867 (native-inputs
868 `(("pkg-config" ,pkg-config)
869 ("intltool" ,intltool)))
870 (inputs
871 `(("libxrandr" ,libxrandr)
872 ("gtk+" ,gtk+)
873 ("upower" ,upower)
874 ("libnotify" ,libnotify)
875 ("libxfce4ui" ,libxfce4ui)))
876 (home-page "https://www.xfce.org/")
877 (synopsis "Xfce Power Manager")
878 (description
879 "This is a power manager for the Xfce desktop. It manages the power
880 sources on the computer and the devices that can be controlled to reduce their
881 power consumption (such as LCD brightness level, monitor sleep, CPU frequency
882 scaling, etc). In addition, xfce4-power-manager provides a set of
883 freedesktop-compliant DBus interfaces to inform other applications about current
884 power level so that they can adjust their power consumption, and it provides the
885 inhibit interface which allows applications to prevent automatic sleep.")
886 (license gpl2+)))
887
888 (define-public ristretto
889 (package
890 (name "ristretto")
891 (version "0.8.4")
892 (source (origin
893 (method url-fetch)
894 (uri (string-append "http://archive.xfce.org/src/apps/ristretto/"
895 (version-major+minor version) "/"
896 "ristretto-" version ".tar.bz2"))
897 (sha256
898 (base32
899 "18nf01djwnbjc91bdlv3p0h6pwcq1kfnjgp6yaxhxv4kdi9f82rs"))))
900 (build-system gnu-build-system)
901 (native-inputs
902 `(("intltool" ,intltool)
903 ("pkg-config" ,pkg-config)))
904 (inputs
905 `(("desktop-file-utils" ,desktop-file-utils)
906 ("gtk+" ,gtk+-2)
907 ("libexif" ,libexif)
908 ("libxfce4ui" ,libxfce4ui)
909 ("librsvg" ,librsvg)
910 ("tumbler" ,tumbler)))
911 (home-page "https://docs.xfce.org/apps/ristretto/start")
912 (synopsis "Fast and lightweight picture-viewer")
913 (description
914 "The Ristretto Image Viewer is an application that can be used to view,
915 and scroll through images. It can be used to run a slideshow of images, open
916 images with other applications like an image-editor or configure an image as
917 the desktop wallpaper.")
918 (license gpl2+)))
919
920 (define-public xfce4-taskmanager
921 (package
922 (name "xfce4-taskmanager")
923 (version "1.2.2")
924 (source (origin
925 (method url-fetch)
926 (uri (string-append "https://archive.xfce.org/src/apps/"
927 name "/" (version-major+minor version) "/"
928 name "-" version ".tar.bz2"))
929 (sha256
930 (base32
931 "04qflazmdrj4ys4r54yg4s5pqcjgk02idrjsls395zd4374636p4"))))
932 (build-system gnu-build-system)
933 (native-inputs
934 `(("intltool" ,intltool)
935 ("pkg-config" ,pkg-config)))
936 (inputs
937 `(("libwnck" ,libwnck-2)
938 ("libxmu" ,libxmu)
939 ("gtk+" ,gtk+)
940 ;; FIXME: Remove libxext and libxt when libxmu propagates them.
941 ("libxext" ,libxext)
942 ("libxt" ,libxt)))
943 (home-page "https://goodies.xfce.org/projects/applications/xfce4-taskmanager")
944 (synopsis "Easy to use task manager")
945 (description
946 "This is a task manager for the Xfce desktop. It displays the CPU and
947 memory usage graphically, and it can display processes as a tree.")
948 (license gpl2+)))
949
950 (define-public orage
951 (package
952 (name "orage")
953 (version "4.12.1")
954 (source (origin
955 (method url-fetch)
956 (uri (string-append "http://archive.xfce.org/src/apps/"
957 name "/" (version-major+minor version) "/"
958 name "-" version ".tar.bz2"))
959 (sha256
960 (base32
961 "0qlhvnl2m33vfxqlbkic2nmfpwyd4mq230jzhs48cg78392amy9w"))))
962 (build-system gnu-build-system)
963 (native-inputs
964 `(("intltool" ,intltool)
965 ("pkg-config" ,pkg-config)))
966 (inputs
967 `(("gtk+" ,gtk+-2)
968 ("libical" ,libical)
969 ("libnotify" ,libnotify)
970 ("popt" ,popt)
971 ("xfce4-panel" ,xfce4-panel)))
972 (home-page "https://www.xfce.org/projects/")
973 (synopsis "Simple calendar application with reminders")
974 (description
975 "This is a simple calendar application for the Xfce desktop. Orage has
976 alarms and uses the iCalendar format, making it compatible with many other
977 calendar applications. It also includes a panel clock plugin and an
978 international clock application capable of simultaneously showing clocks from
979 several different time zones.")
980 (license gpl2+)))
981
982 (define-public xfce4-notifyd
983 (package
984 (name "xfce4-notifyd")
985 (version "0.4.3")
986 (source (origin
987 (method url-fetch)
988 (uri (string-append "https://archive.xfce.org/src/apps/"
989 name "/" (version-major+minor version) "/"
990 name "-" version ".tar.bz2"))
991 (sha256
992 (base32
993 "1h7avj149cafj9dabiza22y14i66vxgp5qj0wxx8i97w9h4dlg99"))))
994 (build-system glib-or-gtk-build-system)
995 (native-inputs
996 `(("intltool" ,intltool)
997 ("pkg-config" ,pkg-config)))
998 (inputs
999 `(("libxfce4ui" ,libxfce4ui)
1000 ("libnotify" ,libnotify)
1001 ("xfce4-panel" ,xfce4-panel)))
1002 (home-page "https://goodies.xfce.org/projects/applications/xfce4-notifyd")
1003 (synopsis "Show notification bubbles on Xfce")
1004 (description
1005 "The Xfce Notify Daemon (xfce4-notifyd for short) is a smallish program
1006 that implements the “server-side” portion of the Freedesktop desktop
1007 notifications specification. Applications that wish to pop up a notification
1008 bubble in a standard way can implicitly make use of xfce4-notifyd to do so by
1009 sending standard messages over D-Bus using the
1010 @code{org.freedesktop.Notifications} interface.")
1011 (license gpl2)))
1012
1013 (define-public xfburn
1014 (package
1015 (name "xfburn")
1016 (version "0.5.5")
1017 (source (origin
1018 (method url-fetch)
1019 (uri (string-append "http://archive.xfce.org/src/apps/xfburn/"
1020 (version-major+minor version) "/"
1021 name "-" version ".tar.bz2"))
1022 (sha256
1023 (base32
1024 "1qdd8prnsfilsprg36p95cz3z50ffr9kgvka4d5pm260lsl3l5xa"))))
1025 (build-system gnu-build-system)
1026 (native-inputs
1027 `(("intltool" ,intltool)
1028 ("pkg-config" ,pkg-config)))
1029 (inputs
1030 `(("exo" ,exo)
1031 ("gstreamer" ,gstreamer)
1032 ("gst-plugins-base" ,gst-plugins-base)
1033 ("gst-plugins-good" ,gst-plugins-good)
1034 ("gst-plugins-ugly" ,gst-plugins-ugly)
1035 ("glib" ,glib)
1036 ("gtk+" ,gtk+-2)
1037 ("libburn" ,libburn)
1038 ("libisofs" ,libisofs)
1039 ("libxfce4ui" ,libxfce4ui)))
1040 (home-page "https://goodies.xfce.org/projects/applications/xfburn")
1041 (synopsis "GTK+ based CD, DVD and Blu-ray burning application")
1042 (description
1043 "Xfburn is a simple CD, DVD, and Blu-ray burning tool based on
1044 the libburnia libraries. It can blank CD/DVD/BD(-RW)s, burn and
1045 create iso images, audio CDs, as well as burn personal compositions
1046 of data to either CD/DVD/BD.")
1047 (license gpl2+)))
1048
1049 (define-public mousepad
1050 (package
1051 (name "mousepad")
1052 (version "0.4.1")
1053 (source (origin
1054 (method url-fetch)
1055 (uri (string-append "http://archive.xfce.org/src/apps/mousepad/"
1056 (version-major+minor version) "/mousepad-"
1057 version ".tar.bz2"))
1058 (sha256
1059 (base32
1060 "12si6fvhp68wz4scr339c23jxqq5ywn5nf4w55jld5lxjadkg9rr"))))
1061 (build-system gnu-build-system)
1062 (arguments
1063 '(#:configure-flags '("--enable-gtk3"
1064 ;; Use the GSettings keyfile backend rather than
1065 ;; DConf.
1066 "--enable-keyfile-settings")
1067 #:phases
1068 (modify-phases %standard-phases
1069 (add-after 'install 'wrap-program
1070 (lambda* (#:key inputs outputs #:allow-other-keys)
1071 (let ((out (assoc-ref outputs "out"))
1072 (gtksourceview (assoc-ref inputs "gtksourceview")))
1073 (wrap-program (string-append out "/bin/mousepad")
1074 ;; For language-specs.
1075 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
1076 "/share")))))
1077 #t)))))
1078 (native-inputs
1079 `(("intltool" ,intltool)
1080 ("glib" ,glib "bin") ; for glib-compile-schemas.
1081 ("pkg-config" ,pkg-config)))
1082 (inputs
1083 `(("gtk+" ,gtk+)
1084 ("gtksourceview" ,gtksourceview-3)))
1085 (home-page "https://git.xfce.org/apps/mousepad/")
1086 (synopsis "Simple text editor for Xfce")
1087 (description
1088 "Mousepad is a graphical text editor for Xfce based on Leafpad.")
1089 (license gpl2+)))