gnu: julius: Update to 1.7.0.
[jackhill/guix/guix.git] / gnu / packages / ratpoison.scm
CommitLineData
c5c555b1 1;;; GNU Guix --- Functional package management for GNU
c9711f93 2;;; Copyright © 2013, 2014, 2019 Ludovic Courtès <ludo@gnu.org>
8cba71c7 3;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
f214d470 4;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
c5c555b1
LC
5;;;
6;;; This file is part of GNU Guix.
7;;;
8;;; GNU Guix is free software; you can redistribute it and/or modify it
9;;; under the terms of the GNU General Public License as published by
10;;; the Free Software Foundation; either version 3 of the License, or (at
11;;; your option) any later version.
12;;;
13;;; GNU Guix is distributed in the hope that it will be useful, but
14;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16;;; GNU General Public License for more details.
17;;;
18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20
21(define-module (gnu packages ratpoison)
22 #:use-module (guix packages)
23 #:use-module (guix download)
24 #:use-module (guix build-system gnu)
25 #:use-module ((guix licenses) #:select (gpl2+))
445c5aba 26 #:use-module (gnu packages)
c5c555b1
LC
27 #:use-module (gnu packages xorg)
28 #:use-module (gnu packages perl)
29 #:use-module (gnu packages readline)
30 #:use-module (gnu packages pkg-config)
31 #:use-module (gnu packages fontutils))
32
33(define-public ratpoison
34 (package
35 (name "ratpoison")
f214d470 36 (version "1.4.9")
45fed6d3
ML
37 (source
38 (origin (method url-fetch)
c5c555b1
LC
39 (uri (string-append "mirror://savannah/ratpoison/ratpoison-"
40 version ".tar.xz"))
41 (sha256
42 (base32
f214d470 43 "1wfir1gvh5h7izgvx2kd1pr2k7wlncd33zq7qi9s9k2y0aza93yr"))
fc1adab1 44 (patches (search-patches "ratpoison-shell.patch"))))
c5c555b1 45 (build-system gnu-build-system)
a7911207 46 (arguments
c9711f93
LC
47 `(#:modules ((ice-9 format)
48 ,@%gnu-build-system-modules)
49 #:phases
45fed6d3
ML
50 (modify-phases %standard-phases
51 (add-after 'install 'install-xsession
c9711f93
LC
52 (lambda* (#:key outputs #:allow-other-keys)
53 ;; Add a .desktop file to xsessions.
54 (let* ((output (assoc-ref outputs "out"))
55 (xsessions (string-append output "/share/xsessions")))
56 (mkdir-p xsessions)
57 (call-with-output-file (string-append xsessions
58 "/ratpoison.desktop")
59 (lambda (port)
60 (format port
61 "[Desktop Entry]~@
62 Name=ratpoison~@
63 Comment=Tiling window manager: say goodbye to the rodent!~@
64 Exec=~a/bin/ratpoison~@
65 TryExec=~@*~a/bin/ratpoison~@
66 Type=Application~%"
67 output)))
68 #t))))))
c5c555b1 69 (inputs
82b4d9ec 70 `(("fontconfig" ,fontconfig)
45fed6d3 71 ("freetype" ,freetype)
c5c555b1 72 ("libXft" ,libxft)
45fed6d3 73 ("libXi" ,libxi)
f214d470 74 ("libxrandr" ,libxrandr)
c5c555b1
LC
75 ("libXpm" ,libxpm)
76 ("libXt" ,libxt)
45fed6d3 77 ("libXtst" ,libxtst)
a7911207 78 ("libX11" ,libx11)
45fed6d3 79 ("readline" ,readline)
caf90259 80 ("xorgproto" ,xorgproto)))
c4c4cc05 81 (native-inputs
8394619b 82 (list perl pkg-config))
340978d7 83 (home-page "https://www.nongnu.org/ratpoison/")
9e771e3b 84 (synopsis "Simple mouse-free tiling window manager")
c5c555b1
LC
85 (description
86 "Ratpoison is a simple window manager with no fat library
87dependencies, no fancy graphics, no window decorations, and no
88rodent dependence. It is largely modelled after GNU Screen which
89has done wonders in the virtual terminal market.
90
91The screen can be split into non-overlapping frames. All windows
92are kept maximized inside their frames to take full advantage of
93your precious screen real estate.
94
95All interaction with the window manager is done through keystrokes.
96Ratpoison has a prefix map to minimize the key clobbering that
97cripples Emacs and other quality pieces of software.")
98 (license gpl2+)))