;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Carlo Zancanaro ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu packages awesome) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system cmake) #:use-module (guix build-system glib-or-gtk) #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) #:use-module (gnu packages gperf) #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages libevent) #:use-module (gnu packages lua) #:use-module (gnu packages pkg-config) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg)) (define-public awesome (package (name "awesome") (version "3.4.15") (source (origin (method url-fetch) (uri (string-append "https://awesome.naquadah.org/download/awesome-" version ".tar.xz")) (sha256 (base32 "1m910lr7wkw2dgzmirfvz7dasfswhhccdf65l21iiciv24c3w1bb")))) (build-system cmake-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("cairo" ,cairo) ("dbus" ,dbus) ("gdk-pixbuf" ,gdk-pixbuf) ("glib" ,glib) ("gperf" ,gperf) ("imlib2" ,imlib2) ("libev" ,libev) ("libxcb" ,libxcb) ("libxcursor" ,libxcursor) ("libxdg-basedir" ,libxdg-basedir) ("lua" ,lua-5.1) ("pango" ,pango) ("startup-notification" ,startup-notification) ("xcb-util" ,xcb-util) ("xcb-util-cursor" ,xcb-util-cursor) ("xcb-util-image" ,xcb-util-image) ("xcb-util-keysyms" ,xcb-util-keysyms) ("xcb-util-renderutil" ,xcb-util-renderutil) ("xcb-util-wm" ,xcb-util-wm) ("imagemagick" ,imagemagick))) (arguments `(#:phases (modify-phases %standard-phases (replace 'check (lambda* _ (zero? (system* "../build/awesome" "-v"))))))) (synopsis "Highly configurable, next generation framework window manager for X") (description "awesome is a window manager for X. It manages windows in different layouts, like floating or tiled. Any layout can be applied dynamically, optimizing the environment for the application in use and the task currently being performed. In a tiled layout, windows are managed in a master and stacking area. The master area contains the windows which currently need the most attention, whereas the stacking area contains all other windows. In a floating layout windows can be resized and moved freely. Dialog windows are always managed as floating, regardless of the layout currently applied. The spiral and dwindle layouts are special cases of the tiled layout where the stacking area is arranged in a spiral for the former or as a rectangular fractal for the later. Windows are grouped by tags in awesome. Each window can be tagged with one or more tags. Selecting certain tags displays all windows with these tags.") (license license:gpl2) (home-page "https://awesome.naquadah.org/")))