gnu: emacs-svg-icon: Fix grammar.
[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
c695fb76 82 `(("perl" ,perl)
c9711f93 83 ("pkg-config" ,pkg-config)))
340978d7 84 (home-page "https://www.nongnu.org/ratpoison/")
9e771e3b 85 (synopsis "Simple mouse-free tiling window manager")
c5c555b1
LC
86 (description
87 "Ratpoison is a simple window manager with no fat library
88dependencies, no fancy graphics, no window decorations, and no
89rodent dependence. It is largely modelled after GNU Screen which
90has done wonders in the virtual terminal market.
91
92The screen can be split into non-overlapping frames. All windows
93are kept maximized inside their frames to take full advantage of
94your precious screen real estate.
95
96All interaction with the window manager is done through keystrokes.
97Ratpoison has a prefix map to minimize the key clobbering that
98cripples Emacs and other quality pieces of software.")
99 (license gpl2+)))