aboutsu
aboutsummaryrefslogtreecommitdiff
path: root/THANKS
diff options
context:
space:
mode:
Diffstat (limited to 'THANKS')
0 files changed, 0 insertions, 0 deletions
<foo.dogsquared@gmail.com> ;;; Copyright © 2020 James Smith <jsubuntuxp@disroot.org> ;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com> ;;; Copyright © 2020, 2021, 2023, 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021, 2022, 2024 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> ;;; Copyright © 2021 Renzo Poddighe <renzo@poddighe.nl> ;;; Copyright © 2021 Paul A. Patience <paul@apatience.com> ;;; Copyright © 2021 Niklas Eklund <niklas.eklund@posteo.net> ;;; Copyright © 2021 Nikita Domnitskii <nikita@domnitskii.me> ;;; Copyright © 2021 ikasero <ahmed@ikasero.com> ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> ;;; Copyright © 2021 jgart <jgart@dismail.de> ;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com> ;;; Copyright © 2022 Derek Chuank <derekchuank@outlook.com> ;;; Copyright © 2022, 2023 Wamm K. D. <jaft.r@outlook.com> ;;; Copyright © 2022 Tobias Kortkamp <tobias.kortkamp@gmail.com> ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream> ;;; Copyright © 2023 Jake Leporte <jakeleporte@outlook.com> ;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space> ;;; Copyright © 2022 Mehmet Tekman <mtekman89@gmail.com> ;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; Copyright © 2024 Igor Goryachev <igor@goryachev.org> ;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se> ;;; Copyright © 2024 Spencer Peters <spencerpeters@protonmail.com> ;;; ;;; 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 <http://www.gnu.org/licenses/>. (define-module (gnu packages xdisorg) #:use-module (guix build-system cmake) #:use-module (guix build-system copy) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system go) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) #:use-module (guix build-system python) #:use-module (guix build-system scons) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix hg-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils) #:use-module (gnu packages admin) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages build-tools) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) #:use-module (gnu packages crypto) #:use-module (gnu packages datastructures) #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gawk) #:use-module (gnu packages gettext) #:use-module (gnu packages gl) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages golang-build) #:use-module (gnu packages golang-xyz) #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages libbsd) #:use-module (gnu packages libevent) #:use-module (gnu packages linux) #:use-module (gnu packages m4) #:use-module (gnu packages man) #:use-module (gnu packages maths) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages polkit) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages python-web) #:use-module (gnu packages python-check) #:use-module (gnu packages qt) #:use-module (gnu packages sphinx) #:use-module (gnu packages tex) #:use-module (gnu packages texinfo) #:use-module (gnu packages tcl) #:use-module (gnu packages terminals) #:use-module (gnu packages xml) #:use-module (gnu packages wm) #:use-module (gnu packages webkit) #:use-module (gnu packages xorg) #:use-module (gnu packages) #:use-module (ice-9 match)) ;; packages outside the x.org system proper (define-public xtitle (package (name "xtitle") (version "0.4.4") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/baskerville/xtitle") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "0f5070k2bwarghl1vq886pl52xck1x5p7x3qhlfchsc2y3dcqms9")))) (build-system gnu-build-system) (inputs (list libxcb xcb-util xcb-util-wm)) (arguments `(#:tests? #f ;no test suite #:make-flags (list (string-append "CC=" ,(cc-for-target)) (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases (delete 'configure)))) (home-page "https://github.com/baskerville/xtitle") (synopsis "Output X window titles") (description "If arguments are given, @code{xtitle} outputs the title of each specified window, otherwise it outputs the title of the active window. With @emph{snoop} mode on, it continuously monitors the specified windows and outputs when titles change.") (license license:unlicense))) (define-public xvkbd (package (name "xvkbd") (version "4.1") (source (origin (method url-fetch) (uri (string-append "http://t-sato.in.coocan.jp/xvkbd/xvkbd-" version ".tar.gz")) (sha256 (base32 "1x5yldv9y99cw5hzzs73ygdn1z80zns9hz0baa355r711zghfbcm")))) (build-system gnu-build-system) (arguments (list #:phases #~(modify-phases %standard-phases (add-after 'unpack 'remove-bugs ;; Both variables are inexplicably but explicitly set to ;; $(pkg-config --variable=VARIABLE xt) instead of our own. (lambda _ (substitute* "Makefile.in" (("^(appdefaultdir|datarootdir) = .*" _ variable) (string-append variable " = @" variable "@\n")))))))) (native-inputs (list pkg-config)) (inputs (list libxaw libxmu libxtst)) (home-page "http://t-sato.in.coocan.jp/xvkbd/") (synopsis "Virtual computer keyboard for the X Window System") (description "The @acronym{xvkbd, X virtual keyboard} displays a drawing of a computer keyboard in a window on the screen. Clicking on its keys sends the corresponding keystroke(s) to other X clients, as if typed on a physical keyboard. This is useful for systems without keyboard hardware but with a pointing device, such as kiosk terminals or handheld devices with touch screens. A limited number of keyboard layouts are available, as is dictionary completion. You can also use xvkbd to send a series of predetermined keystrokes from the command line, without displaying a keyboard at all.") (license license:gpl2+))) (define-public arandr (package (name "arandr") (version "0.1.11") (source (origin (method url-fetch) (uri (string-append "https://christian.amsuess.com/tools/arandr" "/files/arandr-" version ".tar.gz")) (sha256 (base32 "00mfhaqjxx4m3y0ml44infpbp500prs031vhawwjp0dvk0vbxjz4")) (modules '((guix build utils))) (snippet '(begin ;; Do not record a timestamp and file name in gzipped man ;; pages (this is equivalent to 'gzip --no-name'.) (substitute* "setup.py" (("gzip\\.open\\(gzfile, 'w', 9\\)") "gzip.GzipFile('', 'wb', 9, open(gzfile, 'wb'), 0.)")))))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-before 'build 'configure (lambda* (#:key inputs #:allow-other-keys) (substitute* "screenlayout/xrandr.py" (("\"xrandr\"") (string-append "\"" (assoc-ref inputs "xrandr") "/bin/xrandr\""))))) (add-after 'install 'wrap-gi-typelib (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) (gi-typelib-path (getenv "GI_TYPELIB_PATH"))) (wrap-program (string-append out "/bin/arandr") `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))))) #:tests? #f)) ;no tests (inputs (list bash-minimal gtk+ python-pycairo python-pygobject xrandr)) (native-inputs (list gettext-minimal python-docutils)) (home-page "https://christian.amsuess.com/tools/arandr/") (synopsis "Another RandR graphical user interface") ;; TRANSLATORS: "X11 resize-and-rotate" should not be translated. (description "ARandR is designed to provide a simple visual front end for the X11 resize-and-rotate (RandR) extension. Relative monitor positions are shown graphically and can be changed in a drag-and-drop way. Configurations are saved as executable shell scripts which can be loaded without using this program.") (license license:gpl3+))) (define-public autorandr (package (name "autorandr") (version "1.14") (home-page "https://github.com/phillipberndt/autorandr") (source (origin (method git-fetch) (uri (git-reference (url home-page) (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "0yb0rnv37xymjhg54mk7zw3h9501f45ykc1754mxy1q3bm0fgva6")))) (build-system python-build-system) (native-inputs (list pkg-config)) (inputs (list xrandr libxcb)) (arguments `(#:phases (modify-phases %standard-phases (add-before 'build 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (let ((xrandr (search-input-file inputs "/bin/xrandr"))) (substitute* "contrib/etc/xdg/autostart/autorandr.desktop" (("/usr") (assoc-ref outputs "out"))) (substitute* "autorandr.py" (("popen\\(\"xrandr") (string-append "popen(\"" xrandr)) (("\\[\"xrandr") (string-append "[\"" xrandr))) (substitute* "contrib/autorandr_launcher/autorandr_launcher.c" (("/usr/bin/autorandr") (string-append (assoc-ref outputs "out") "/bin/autorandr"))) (setenv "CC" "gcc")) #t)) (add-after 'install 'install-contrib (lambda* (#:key outputs #:allow-other-keys) (invoke "make" (string-append "DESTDIR=" (assoc-ref outputs "out")) "PREFIX=" "BASH_COMPLETIONS_DIR=etc/bash_completion.d" "install" "TARGETS=autorandr launcher manpage bash_completion")))))) (synopsis "Auto-detect connected displays and load appropriate setup") (description "Autorandr wraps around xrandr to help with X11 multi-screen configuration management. It allows the user to create profiles for various multi-screen setups. Autorandr automatically detects the profiles that can be activated based on the connected hardware. Hook scripts can be used to further tweak the behaviour of the different profiles.") (license license:gpl3+))) (define-public bemenu (package (name "bemenu") (version "0.6.21") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/Cloudef/bemenu") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "1a97h711nbwi01a3vv2944m8gyzi04hgfpiizrzinx79n4vp1zhk")))) (build-system gnu-build-system) (arguments (list #:tests? #f ; there are no tests #:make-flags #~(list (string-append "CC=" #$(cc-for-target)) "CFLAGS=-O2 -fPIC" (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib") (string-append "PREFIX=" #$output)) #:phases #~(modify-phases %standard-phases (delete 'configure)))) ; no configure script (inputs (list cairo libx11 libxkbcommon libxinerama ncurses pango wayland wayland-protocols)) (native-inputs (list doxygen pkg-config scdoc)) (home-page "https://github.com/Cloudef/bemenu") (synopsis "Dynamic menu library and client program inspired by dmenu") (description "bemenu is a dynamic menu which allows the user to flexibly select from a list of options (usually programs to launch). It renders the menu graphically with X11 or Wayland, or in a text terminal with ncurses.") (license (list license:gpl3+ ; client program[s] and other sources license:lgpl3+)))) ; library and bindings (define-public cliphist (package (name "cliphist") (version "0.5.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/sentriz/cliphist") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1cbhrw9vk8c0in9yyhlp0k9rldgjwbcj00d7vqh69p3igznhdgsk")))) (build-system go-build-system) (arguments (list #:install-source? #f #:import-path "go.senan.xyz/cliphist")) (native-inputs (list go-github-com-rogpeppe-go-internal go-go-etcd-io-bbolt go-go-senan-xyz-flagconf go-golang-org-x-image)) (home-page "https://github.com/sentriz/cliphist") (synopsis "Clipboard history manager for wayland with support for images") (description "A Wayland clipboard history manager. It can write clipboard changes to a history file, recall history with any picker which accepts input from stdin (including dmenu, rofi, and wofi), copy and past both images and text, and preserve leading and trailing whitespace.") (license license:gpl3))) (define-public copyq (package (name "copyq") (version "8.0.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/hluk/CopyQ") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "029s1pdp177fnrq5qrwjmd5pf1672l5jhq99is1lczrxi6bsf2qk")))) (build-system cmake-build-system) (arguments (list #:configure-flags #~(list "-DCMAKE_BUILD_TYPE=Release") #:tests? #f)) ; Test suite is a rather manual process. (inputs (list qtbase-5 qtscript qtsvg-5 qtx11extras qtdeclarative-5 qtwayland-5 wayland knotifications-5)) (native-inputs (list extra-cmake-modules qttools-5)) (synopsis "Clipboard manager with advanced features") (description "CopyQ is clipboard manager with editing and scripting features. CopyQ monitors system clipboard and saves its content in customized tabs. Saved clipboard can be later copied and pasted directly into any application.") (home-page "https://hluk.github.io/CopyQ/") (license license:gpl3+))) (define-public xkeysnail (package (name "xkeysnail") (version "0.4.0") (source (origin (method url-fetch) (uri (pypi-uri "xkeysnail" version)) (sha256 (base32 "1xyqp6yqxcwmxaqj86qcsiz0ly7bwr0a2w835myz909irhip3ngf")))) (build-system python-build-system) (arguments `(#:tests? #f)) ;tests need /dev/uinput (inputs (list python-appdirs python-evdev python-inotify-simple python-xlib python-six)) (home-page "https://github.com/mooz/xkeysnail") (synopsis "Keyboard remapping tool for the X11 environment") (description "Xkeysnail is an X environment keyboard remapping tool, featuring high-level and flexible remapping mechanisms. It affects the low-level layers (evdev and uinput), making remapping work in almost all the places.") (license license:gpl3+))) ; see README.md (no licence headers) (define-public xkb-switch (package (name "xkb-switch") (version "1.8.5") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/grwlf/xkb-switch") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "1sd6ihgsswp6hjm1i4y092n4gl3gj0bc22grz4n7iy43mwphi40d")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ;no test target (inputs (list libx11 libxkbfile)) (home-page "https://github.com/grwlf/xkb-switch") (synopsis "Switch your X keyboard layouts from the command line") (description "xkb-switch is a C++ program that queries and changes the XKB layout state.") (license license:gpl3+))) (define-public xkblayout ;; Upstream doesn't have any version numbers (let ((version "0.0.0") (revision "0") (commit "c0851b0f4bc9bc1a07240605baac8e50abe63fa8")) (package (name "xkblayout") (version (git-version version revision commit)) (home-page "https://gitlab.freedesktop.org/whot/xkblayout") (source (origin (method git-fetch) (uri (git-reference (url home-page) (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "0057988l5l7pmwg7dp6cqvj5l4lr0g5z3wq189g6kz36l9rmh675")))) (build-system python-build-system) (synopsis "XKB layout template generator") (description "xkblayout is a CLI application to generate templates for a new XKB layout, either in the user's home directory or the system directory.") (license license:gpl3+)))) (define-public xclip (package (name "xclip") (version "0.13") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/astrand/xclip") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "0q0hmvcjlv8arhh1pzhja2wglyj6n7z209jnpnzd281kqqv4czcs")))) (build-system gnu-build-system) (arguments '(#:tests? #f)) ;there is no test suite (native-inputs (list autoconf automake)) (inputs (list libxmu libxt)) (home-page "https://github.com/astrand/xclip") (synopsis "Command line interface to X11 clipboard") (description "Xclip is a command line interface to the X11 clipboard. It can also be used for copying files, as an alternative to sftp/scp, thus avoiding password prompts when X11 forwarding has already been setup.") (license license:gpl2+))) (define-public libxkbcommon (package (name "libxkbcommon") (version "1.6.0") (source (origin (method url-fetch) (uri (string-append "https://xkbcommon.org/download/libxkbcommon-" version ".tar.xz")) (sha256 (base32 "0awwz5pg9x5bj0d7dpg4a7bd4gl6k55mlpxwb12534fkrpn19p0f")))) (outputs '("out" "doc")) (build-system meson-build-system) (inputs (list libx11 libxcb libxml2 wayland wayland-protocols xkeyboard-config)) (native-inputs (append (list bison doxygen pkg-config python ;; wayland-scanner is required at build time. wayland) (if (%current-target-system) (list pkg-config-for-build) '()))) (arguments (list #:configure-flags #~(list (string-append "-Dxkb-config-root=" (search-input-directory %build-inputs "share/X11/xkb")) (string-append "-Dx-locale-root=" (search-input-directory %build-inputs "share/X11/locale"))) #:phases #~(modify-phases %standard-phases (add-after 'install 'move-doc (lambda _ (let ((old (string-append #$output "/share/doc")) (new (string-append #$output:doc "/share/doc"))) (mkdir-p (dirname new)) (rename-file old new)))) (add-after 'install 'symlink-pc ;; in Requires.private of xkbregistry.pc ;; XXX: Symlink libxml-2.0.pc in order to avoid putting ;; libxml2 as a propagated input. (lambda _ (let ((stem "/lib/pkgconfig/libxml-2.0.pc")) (symlink (string-append #$(this-package-input "libxml2") stem) (string-append #$output stem)))))))) (home-page "https://xkbcommon.org/") (synopsis "Library to handle keyboard descriptions") (description "Xkbcommon is a library to handle keyboard descriptions, including loading them from disk, parsing them and handling their state. It is mainly meant for client toolkits, window systems, and other system applications; currently that includes Wayland, kmscon, GTK+, Qt, Clutter, and more. Despite the name, it is not currently used by anything X11 (yet).") (license (license:x11-style "file://COPYING" "See 'COPYING' in the distribution.")) (properties '((cpe-name . "xkbcommon"))))) (define-public libxkbcommon-1.5 (package (inherit libxkbcommon) (version "1.5.0") (source (origin (inherit (package-source libxkbcommon)) (method url-fetch) (uri (string-append "https://xkbcommon.org/download/libxkbcommon-" version ".tar.xz")) (sha256 (base32 "05z08rpa464x8myjxddhix7jp9jcmakd7xrybx4hz8dwpg2123sn")))))) (define-public libfakekey (package (name "libfakekey") (version "0.3") (source (origin (method git-fetch) (uri (git-reference (url "https://git.yoctoproject.org/git/libfakekey") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "1jw1d4wc1ysiijirc7apnz3sryrxbl9akgb92mh06dvfkz2nblj0")))) (build-system gnu-build-system) (arguments `(#:make-flags (list "AM_LDFLAGS=-lX11") #:phases (modify-phases %standard-phases (replace 'bootstrap ;; ./autogen.sh calls ./configure before shebangs have been patched. (lambda _ (invoke "autoreconf" "-vfi")))))) (native-inputs (list pkg-config ;; For bootstrapping from git. autoconf automake libtool)) (inputs (list libxtst libx11)) (home-page "https://www.yoctoproject.org/tools-resources/projects/matchbox") (synopsis "X virtual keyboard library") (description "Libfakekey is a virtual keyboard library for X.") (license license:gpl2))) (define-public xdotool (package (name "xdotool") (version "3.20211022.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/jordansissel/xdotool/releases/download/v" version "/xdotool-" version ".tar.gz")) (sha256 (base32 "1nlsbwsdsgys607f00sc8xgb7l7cdzsb14avsg5fly3dvv7zmw4n")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; Test suite requires a lot of black magic #:phases (modify-phases %standard-phases (replace 'configure (lambda* (#:key outputs #:allow-other-keys #:rest args) (let ((out (assoc-ref outputs "out"))) (mkdir-p (string-append out "/lib")) (setenv "PREFIX" out) (setenv "LDFLAGS" (string-append "-Wl,-rpath=" out "/lib")) (setenv "CC" "gcc") #t)))))) (native-inputs (list perl)) ; for pod2man (inputs (list libx11 libxext libxi libxinerama libxtst libxkbcommon)) (home-page "https://www.semicomplete.com/projects/xdotool/") (synopsis "Fake keyboard/mouse input, window management, and more") (description "Xdotool lets you simulate keyboard input and mouse activity, move and resize windows, etc. It does this using X11's XTEST extension and other Xlib functions. Additionally, you can search for windows and move, resize, hide, and modify window properties like the title. If your window manager supports it, you can use xdotool to switch desktops, move windows between desktops, and change the number of desktops.") (license license:bsd-3))) (define-public xdo (package (name "xdo") (version "0.5.7") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/baskerville/xdo") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "1h3jrygcjjbavdbkpx2hscsf0yf97gk487lzjdlvymd7dxdv9hy9")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests #:make-flags (list (string-append "CC=" ,(cc-for-target)) (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases (delete 'configure)))) (inputs (list libxcb xcb-util-wm xcb-util)) (home-page "https://github.com/baskerville/xdo") (synopsis "Small X utility to perform elementary actions on windows") (description "Apply the given action to the given windows. If no window IDs and no options are given, the action applies to the focused window.") (license license:bsd-2))) (define-public xeyes (package (name "xeyes") (version "1.3.0") (source (origin (method url-fetch) (uri (string-append "https://www.x.org/releases/individual/app/" name "-" version ".tar.xz")) (sha256 (base32 "08rhfp5xlmdbyxkvxhgjxdn6vwzrbrjyd7jkk8b7wi1kpw0ccl09")))) (build-system gnu-build-system) (inputs (list libxext libxi libxmu libxrender libxt)) (native-inputs (list pkg-config)) (home-page "https://www.x.org/") ; no dedicated Xeyes page exists (synopsis "Follow-the-mouse X demo") (description "Xeyes is a demo program for x.org. It shows eyes following the mouse.") (license license:x11))) (define-public pixman (package (name "pixman") (version "0.42.2") (source (origin (method url-fetch) (uri (string-append "https://www.cairographics.org/releases/pixman-" version ".tar.gz")) (sha256 (base32 "0pk298iqxqr64vk3z6nhjwr6vjg1971zfrjkqy5r9zd2mppq057a")) (patches (search-patches "pixman-CVE-2016-5296.patch")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list "--disable-static" "--enable-timers" "--enable-gnuplot"))) (native-inputs (list pkg-config)) (inputs (list libpng zlib)) (synopsis "Low-level pixel manipulation library") (description "Pixman is a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid rasterisation.") (home-page "http://www.pixman.org/") (license license:expat))) (define-public libdrm (package (name "libdrm") (version "2.4.120") (source (origin (method url-fetch) (uri (string-append "https://dri.freedesktop.org/libdrm/libdrm-" version ".tar.xz")) (sha256 (base32 "0yijzgg6rdsa68bz03sw0lcfa2nclv9m3as1cja50wkcyxim7x9v")))) (build-system meson-build-system) (arguments (list #:configure-flags (match (%current-system) ((or "armhf-linux" "aarch64-linux") #~(list "-Dexynos=enabled" "-Domap=enabled" "-Detnaviv=enabled" "-Dtegra=enabled" "-Dfreedreno-kgsl=true")) (_ ''())) #:phases #~(modify-phases %standard-phases ;; A typo in a previous upstream commit disabled building ;; libdrm_intel by default on supported platforms. This was ;; fixed by the following change in upstream commit ;; 8a933c778a0eb36526bf3fc8a289e25add9ff8b0. ;; TODO: Remove on next update of libdrm. (add-after 'unpack 'build-intel-by-default (lambda _ (substitute* "meson.build" (("system\\(\\)\\.startswith") "cpu_family().startswith")))) (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? (invoke "meson" "test" "--timeout-multiplier" "5"))))))) (propagated-inputs (list libpciaccess)) (native-inputs (list pkg-config)) (home-page "https://dri.freedesktop.org/wiki/") (synopsis "Direct rendering userspace library") (description "The Direct Rendering Infrastructure, also known as the DRI, is a framework for allowing direct access to graphics hardware under the X Window System in a safe and efficient manner. It includes changes to the X server, to several client libraries, and to the kernel (DRM, Direct Rendering Manager). The most important use for the DRI is to create fast OpenGL implementations providing hardware acceleration for Mesa. Several 3D accelerated drivers have been written to the DRI specification, including drivers for chipsets produced by 3DFX, AMD (formerly ATI), Intel and Matrox.") (license license:x11))) (define-public mtdev (package (name "mtdev") (version "1.1.6") (source (origin (method url-fetch) (uri (string-append "http://bitmath.org/code/mtdev/mtdev-" version ".tar.bz2")) (sha256 (base32 "1q700h9dqcm3zl6c3gj0qxxjcx6ibw2c51wjijydhwdcm26v5mqm")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-static") ,@(if (and (or (target-riscv64?) (target-aarch64?)) (%current-target-system)) `(#:phases (modify-phases %standard-phases (add-after 'unpack 'update-config-scripts (lambda* (#:key inputs native-inputs #:allow-other-keys) ;; Replace outdated config.guess and config.sub. (for-each (lambda (file) (install-file (search-input-file (or native-inputs inputs) (string-append "/bin/" file)) "./config-aux")) '("config.guess" "config.sub")))))) '()))) (native-inputs (if (and (or (target-riscv64?) (target-aarch64?)) (%current-target-system)) (list config) '())) (home-page "https://bitmath.org/code/mtdev/") (synopsis "Multitouch protocol translation library") (description "Mtdev is a stand-alone library which transforms all variants of kernel MT events to the slotted type B protocol. The events put into mtdev may be from any MT device, specifically type A without contact tracking, type A with contact tracking, or type B with contact tracking.") (license license:x11))) (define-public startup-notification (package (name "startup-notification") (version "0.12") (source (origin (method url-fetch) (uri (string-append "https://www.freedesktop.org/software/" name "/releases/" name "-" version ".tar.gz")) (sha256 (base32 "0jmyryrpqb35y9hd5sgxqy2z0r1snw7d3ljw0jak0n0cjdz1yf9w")))) (build-system gnu-build-system) (native-inputs (list pkg-config)) (inputs (list libx11 xcb-util)) (home-page "https://www.freedesktop.org/wiki/Software/startup-notification/") (synopsis "Application startup notification and feedback library") (description "Startup-notification contains a reference implementation of the startup notification protocol. The reference implementation is mostly under an X Window System style license, and has no special dependencies.") ;; Most of the code is provided under x11 license. (license license:lgpl2.0+))) (define-public wmctrl (package (name "wmctrl") (version "1.07") (source (origin (method url-fetch) (uri (string-append "https://sites.google.com/site/tstyblo/wmctrl/wmctrl-" version ".tar.gz")) (sha256 (base32 "1afclc57b9017a73mfs9w7lbdvdipmf9q0xdk116f61gnvyix2np")) (patches (search-patches "wmctrl-64-fix.patch")))) (build-system gnu-build-system) (arguments '(#:configure-flags (list (string-append "--mandir=" (assoc-ref %outputs "out") "/share/man")))) (native-inputs (list pkg-config)) (inputs (list libx11 libxmu glib)) (home-page "http://tomas.styblo.name/wmctrl/") (synopsis "Command-line tool to control X window managers") (description "Wmctrl interacts with an X window manager that is compatible with the EWMH/NetWM specification. It can query the window manager for information, and request for certain window management actions (resize and move windows, switch between desktops, etc.).") (license license:gpl2+))) (define-public scrot (package (name "scrot") (version "1.11.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/resurrecting-open-source-projects/scrot") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "0pvp44lb2lrvm11x92vzxwl21hmcbld55kk8wjqa5k1kjg6syj9i")))) (build-system gnu-build-system) (native-inputs (list autoconf autoconf-archive automake pkg-config)) (inputs (list giblib imlib2 libbsd libx11 libxcomposite libxext libxfixes libxinerama)) (home-page "https://github.com/resurrecting-open-source-projects/scrot") (synopsis "Command-line screen capture utility for X Window System") (description "Scrot saves a screenshot of a full screen, a window or a part of the screen selected by mouse.") ;; This license removes a clause about X Consortium from the original ;; X11 license. (license (license:x11-style "file://COPYING" "See 'COPYING' in the distribution.")))) (define-public slop (package (name "slop") (version "7.6") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/naelstrof/slop") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1xaka98vka5kh3wmby68ifwi6rp0985dj13fgs96bw8a1z3m1l1d")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no "check" target (inputs (list glew glm icu4c libxext libxrender mesa)) (home-page "https://github.com/naelstrof/slop") (synopsis "Select a region and print its bounds to stdout") (description "slop (Select Operation) is a tool that queries for a selection from a user and prints the region to stdout. It grabs the mouse and turns it into a crosshair, lets the user click and drag to make a selection (or click on a window) while drawing a pretty box around it, then finally prints the selection's dimensions to stdout.") (license license:gpl3+))) (define-public maim (package (name "maim") (version "5.8.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/naelstrof/maim") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0n5fa0vf33wmw50fhxv5sj94rv1a0m9gbczlgnic2yyak546mmpy")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no "check" target (inputs (list glm libjpeg-turbo libpng libxcomposite libxfixes libxrandr libwebp mesa slop zlib)) (home-page "https://github.com/naelstrof/maim") (synopsis "Screenshot utility for X Window System") (description "maim (Make Image) is a tool that takes screenshots of your desktop and saves it in any format. Along with a full screen, it allows you to capture a predefined region or a particular window. Also, it makes it possible to include cursor in the resulting image.") (license license:gpl3+))) (define-public unclutter (package (name "unclutter") (version "8") (source (origin (method url-fetch) (uri (string-append "http://ftp.x.org/contrib/utilities/unclutter-" version ".tar.Z")) (sha256 (base32 "0ahrr5z6wxqqfyihm112hnq0859zlxisrb3y5232zav58j6sfmdq")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no check target #:phases (modify-phases %standard-phases (delete 'configure) (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin")) (man1 (string-append out "/share/man/man1"))) (mkdir-p bin) (mkdir-p man1) (invoke "make" "install" "install.man" (string-append "BINDIR=" bin) (string-append "MANDIR=" man1)))))))) (inputs (list libx11)) (home-page "http://ftp.x.org/contrib/utilities/") (synopsis "Hide idle mouse cursor") (description "Unclutter is a program which runs permanently in the background of an X11 session. It checks on the X11 pointer (cursor) position every few seconds, and when it finds it has not moved (and no buttons are pressed on the mouse, and the cursor is not in the root window) it creates a small sub-window as a child of the window the cursor is in. The new window installs a cursor of size 1x1 but a mask of all 0, i.e. an invisible cursor. This allows you to see all the text in an xterm or xedit, for example. The human factors crowd would agree it should make things less distracting.") (license license:public-domain))) (define-public unclutter-xfixes (package (name "unclutter-xfixes") (version "1.5") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/Airblader/unclutter-xfixes") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "148m4wx8v57s3l2wb69y9imb00y8ca2li27hsxibwnl1wrkb7z4b")))) (build-system gnu-build-system) (arguments `(#:tests? #f #:make-flags (list ,(string-append "CC=" (cc-for-target)) (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases (delete 'configure)))) (inputs (list libx11 libev libxfixes libxi)) (native-inputs (list asciidoc pkg-config)) (home-page "https://github.com/Airblader/unclutter-xfixes") (synopsis "Hide idle mouse cursor") (description "unclutter-xfixes is a rewrite of the popular tool unclutter, but using the x11-xfixes extension. This means that this rewrite doesn't use fake windows or pointer grabbing and hence causes less problems with window managers and/or applications. Unclutter is a program which runs permanently in the background of an X11 session. It checks on the X11 pointer (cursor) position every few seconds, and when it finds it has not moved (and no buttons are pressed on the mouse, and the cursor is not in the root window) it creates a small sub-window as a child of the window the cursor is in. The new window installs a cursor of size 1x1 but a mask of all 0, i.e. an invisible cursor. This allows you to see all the text in an xterm or xedit, for example. The human factors crowd would agree it should make things less distracting.") (license license:expat))) (define-public xautomation (package (name "xautomation") (version "1.09") (source (origin (method url-fetch) (uri (string-append "https://www.hoopajoo.net/static/projects/" "xautomation-" version ".tar.gz")) (sha256 (base32 "03azv5wpg65h40ip2kk1kdh58vix4vy1r9bihgsq59jx2rhjr3zf")))) (build-system gnu-build-system) (inputs (list libpng libx11 libxi libxtst)) (native-inputs (list xorgproto)) (synopsis "Tools to automate tasks in X such as detecting on screen images") (description "Xautomation can control X from the command line for scripts, and do visual scraping to find things on the screen. The control interface allows mouse movement, clicking, button up/down, key up/down, etc, and uses the XTest extension so you don't have the annoying problems that xse has when apps ignore sent events. The visgrep program can find images inside of images and reports the coordinates, allowing programs to find buttons, etc, on the screen to click on.") (home-page "https://www.hoopajoo.net/projects/xautomation.html") (license license:gpl2+))) (define-public xbanish (package (name "xbanish") (version "1.8") (home-page "https://github.com/jcs/xbanish") (source (origin (method git-fetch) (uri (git-reference (url home-page) (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "12mjwn8hvrrhwyg3wi20bqr6k8d57xf9m5qr3s4nn511dcksh04g")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests #:make-flags (list ,(string-append "CC=" (cc-for-target)) (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases (delete 'configure)))) ; no configure script (inputs (list libx11 libxfixes libxi libxt)) (synopsis "Banish the mouse cursor") (description "@command{xbanish} hides the mouse cursor when you start typing, and shows it again when the mouse cursor moves or a mouse button is pressed.") (license license:bsd-3))) (define-public xlockmore (package (name "xlockmore") (version "5.72") (source (origin (method url-fetch) (uri (list (string-append "http://sillycycle.com/xlock/" "xlockmore-" version ".tar.xz") ;; Previous releases are moved to a subdirectory. (string-append "http://sillycycle.com/xlock/" "recent-releases/" "xlockmore-" version ".tar.xz"))) (sha256 (base32 "0wn77ri29rhk1w3wik2hpqb8lks1pyqzdk6d583mawxfcxcrf4fm")))) (build-system gnu-build-system) (arguments (list #:configure-flags #~(list (string-append "--enable-appdefaultdir=" #$output "/lib/X11/app-defaults")) #:tests? #f)) ;no such thing as a test suite (inputs (list libx11 libxcrypt libxext libxt linux-pam)) (home-page "https://sillycycle.com/xlockmore.html") (synopsis "Screen locker for the X Window System") (description "XLockMore is a classic screen locker and screen saver for the X Window System.") (license (license:non-copyleft #f "See xlock.c.") ))) ; + GPLv2 in modes/glx/biof.c. (define-public xtrlock (package (name "xtrlock") (version "2.15") (source (origin (method url-fetch) (uri (string-append "mirror://debian/pool/main/x/xtrlock/xtrlock_" version ".tar.xz")) (sha256 (base32 "0mgpysbvipd5h6x6zz4hng6b13gp3qjnpgny3azyj8k8dv85bppw")))) (build-system gnu-build-system) (arguments ;; LDLIBS are required for the package to build. ;; CFLAGS are required for it to use the shadow file, and to ;; be compatible with multi-touch devices. (list #:make-flags #~'("CFLAGS=-O2 -g -Wall -DSHADOW_PWD -DMULTITOUCH" "LDLIBS=-lX11 -lcrypt -lXi") #:phases #~(modify-phases %standard-phases (delete 'configure) (delete 'check) (add-after 'unpack 'rename-makefile (lambda _ (rename-file "Makefile.noimake" "Makefile") (rename-file "xtrlock.man" "xtrlock.1"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out"))) (install-file "xtrlock" (string-append out "/bin/")) (install-file "xtrlock.1" (string-append out "/share/man/man1/")))))))) (inputs (list libx11 libxcrypt libxi libxfixes)) (home-page "https://packages.debian.org/sid/xtrlock") (synopsis "Minimal X display lock program") (description "xtrlock locks the X server till the user enters their password at the keyboard. While xtrlock is running, the mouse and keyboard are grabbed and the mouse cursor becomes a padlock. Output displayed by X programs, and windows put up by new X clients, continue to be visible, and any new output is displayed normally. The mouse and keyboard are returned when the user types their password, followed by Enter or Newline. If an incorrect password is entered the bell is sounded. Pressing Backspace or Delete erases one character of a password partially typed; pressing Escape or Clear clears anything that has been entered.") (license license:gpl2+))) (define-public xosd (package (name "xosd") (version "2.2.14") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/libxosd/libxosd/xosd-" version "/" name "-" version ".tar.gz")) (sha256 (base32 "025m7ha89q29swkc7s38knnbn8ysl24g2h5s7imfxflm91psj7sg")))) (build-system gnu-build-system) (arguments '(#:configure-flags (list (string-append "--mandir=" %output "/share/man")))) (inputs (list libx11 libxt libxext libxinerama)) (home-page "https://sourceforge.net/projects/libxosd/") (synopsis "X On Screen Display") (description "XOSD provides a C library and a simple utility (osd_cat) for displaying transparent text on your screen.") (license license:gpl2+))) (define-public wob (package (name "wob") (version "0.15.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/francma/wob/releases/download/" version "/wob-" version ".tar.gz")) (sha256 (base32 "1632y0yr1ig5nihs6kqyvfi117815zszhnfvaabm97qkf5blkj5p")))) (build-system meson-build-system) (native-inputs (list pkg-config scdoc)) (inputs (list libinih libseccomp wayland wayland-protocols)) (home-page "https://github.com/francma/wob") (synopsis "Lightweight overlay bar for Wayland") (description "Wob, or Wayland Overlay Bar, is a lightweight overlay volume, backlight, progress, or anything bar for Wayland.") (license license:isc))) (define-public xbindkeys (package (name "xbindkeys") (version "1.8.7") (source (origin (method url-fetch) ;; Download from the savannah mirror list fails (uri (string-append "http://www.nongnu.org/xbindkeys/xbindkeys-" version ".tar.gz")) (sha256 (base32 "1wl2vc5alisiwyk8m07y1ryq8w3ll9ym83j27g4apm4ixjl8d6x2")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'sanitise-shebang ;; This wish script uses a strange double shebang that escapes our ;; patch-shebangs phase. Assume that it's unnecessary & replace it. (lambda _ (substitute* "xbindkeys_show" (("^#!.*|^exec wish.*") "") (("^# \\\\") (string-append "#!" (which "wish")))) #t)) (add-after 'unpack 'patch-references (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (substitute* "xbindkeys_show" (("\"(xbindkeys)\"" _ command) (format #f "\"~a/bin/~a\"" out command))) #t)))))) (native-inputs (list pkg-config)) (inputs (list guile-2.2 libx11 tk)) (home-page "https://www.nongnu.org/xbindkeys/") (synopsis "Associate a combination of keys with a shell command") (description "XBindKeys is a program that allows you to launch shell commands with your keyboard or your mouse under the X Window System. It links commands to keys or mouse buttons, using a configuration file. It's independent of the window manager and can capture all keyboard keys (ex: Power, Wake...). It optionally supports a Guile-based configuration file layout, which enables you to access all XBindKeys internals, so you can have key combinations, double clicks or timed double clicks take actions. Also all functions that work in Guile will work for XBindKeys.") (license license:gpl2+))) (define-public sxhkd (package (name "sxhkd") (version "0.6.2") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/baskerville/sxhkd") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "1winwzdy9yxvxnrv8gqpigl9y0c2px27mnms62bdilp4x6llrs9r")))) (build-system gnu-build-system) (inputs (list libxcb xcb-util xcb-util-keysyms xcb-util-wm)) (arguments (list #:phases #~(modify-phases %standard-phases (delete 'configure)) #:tests? #f ; no check target #:make-flags #~(list (string-append "CC=" #$(cc-for-target)) (string-append "PREFIX=" #$output) ;; Keep the documentation where the build system installs LICENSE. (string-append "DOCPREFIX=" #$output "/share/doc/" #$name "-" #$version)))) (home-page "https://github.com/baskerville/sxhkd") (synopsis "Simple X hotkey daemon") (description "sxhkd is a simple X hotkey daemon with a powerful and compact configuration syntax.") (license license:bsd-2))) (define-public rxvt-unicode (package (name "rxvt-unicode") (version "9.31") (source (origin (method url-fetch) (uri (string-append "http://dist.schmorp.de/rxvt-unicode/Attic/" name "-" version ".tar.bz2")) (patches (search-patches "rxvt-unicode-fix-cursor-position.patch")) (sha256 (base32 "1s3jcvac40zzp03fvmhjsdpsjx0gb1wk54qz74zhzzj9q75kz8da")))) (build-system gnu-build-system) (arguments ;; This sets the destination when installing the necessary terminal ;; capability data, which are not provided by 'ncurses'. See ;; https://lists.gnu.org/archive/html/bug-ncurses/2009-10/msg00031.html (list #:configure-flags #~(list "--enable-256-color") #:make-flags #~(list (string-append "TERMINFO=" #$output "/share/terminfo")) #:phases #~(modify-phases %standard-phases (add-after 'install 'install-desktop-entries (lambda _ (for-each (lambda (exec name) (make-desktop-entry-file (string-append #$output "/share/applications/" exec ".desktop") #:type "Application" #:name name #:comment '((#f #$(package-synopsis this-package))) #:exec exec #:try-exec exec #:icon "utilities-terminal" #:categories '("System" "TerminalEmulator"))) '("urxvt" "urxvtc") '("rxvt-unicode" "rxvt-unicode (client)"))))))) (inputs (list libptytty libxft libx11 libxt libxext)) (native-inputs (list ncurses ;trigger the installation of terminfo data perl pkg-config)) ;; FIXME: This should only be located in 'ncurses'. Nonetheless it is ;; provided for usability reasons. See <https://bugs.gnu.org/22138>. (native-search-paths (list (search-path-specification (variable "TERMINFO_DIRS") (files '("share/terminfo"))))) (home-page "http://software.schmorp.de/pkg/rxvt-unicode.html") (synopsis "Rxvt clone with XFT and unicode support") (description "Rxvt-unicode (urxvt) is a colour vt102 terminal emulator intended as an xterm replacement for users who do not require features such as Tektronix 4014 emulation and toolkit-style configurability. It supports unicode, XFT and may be extended with Perl plugins. It also comes with a client/daemon pair that lets you open any number of terminal windows from within a single process.") (license license:gpl3+))) (define-public xcape (package (name "xcape") (version "1.2") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/alols/xcape") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "09a05cxgrip6nqy1qmwblamp2bhknqnqmxn7i2a1rgxa0nba95dm")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target ;; no configure script #:phases (modify-phases %standard-phases (delete 'configure)) #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) "MANDIR=/share/man/man1" ,(string-append "CC=" (cc-for-target))))) (inputs (list libxtst libx11)) (native-inputs (list pkg-config)) (home-page "https://github.com/alols/xcape") (synopsis "Use a modifier key in X.org as another key") (description "This utility for X.org uses a modifier key as another key when pressed and released on its own. The default behaviour is to generate the Escape key when Left Control is pressed and released on its own.") (license license:gpl3+))) (define-public libwacom (package (name "libwacom") (version "2.12.2") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/linuxwacom/libwacom") (commit (string-append "libwacom-" version)))) (sha256 (base32 "1z8p8k19j4snl90rh1j9m53m1wq4vamsdny3hq9azwmzwf3xf6bp")))) (build-system meson-build-system) (arguments (list #:configure-flags #~(list "--default-library=shared"))) (native-inputs (list pkg-config ;; For tests. python python-libevdev python-pytest python-pyudev)) (inputs (list gtk+ eudev libxml2 python python-libevdev python-pyudev)) (propagated-inputs ;; libwacom.pc 'Requires' these: (list glib libevdev libgudev)) (home-page "https://linuxwacom.github.io/") (synopsis "Helper library for graphics tablet settings") (description "Libwacom is a library to help implement graphics tablet settings. It is intended to be used by client-programs that need model identification. It is already being used by the gnome-settings-daemon and the GNOME Control Center Wacom tablet applet.") (license license:hpnd))) (define-public xf86-input-wacom (package (name "xf86-input-wacom") (version "1.2.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/linuxwacom/xf86-input-wacom/releases/download/" "xf86-input-wacom-" version "/" "xf86-input-wacom-" version ".tar.bz2")) (sha256 (base32 "0pb8f8fvwm7vy5p3h8nc7x7fb68kpdkscz0j79xzsaxwn8435hhk")))) (arguments (list #:configure-flags #~(list (string-append "--with-sdkdir=" #$output "/include/xorg") (string-append "--with-xorg-conf-dir=" #$output "/share/X11/xorg.conf.d")))) (build-system gnu-build-system) (native-inputs (list pkg-config)) (inputs (list xorg-server libxrandr libxinerama libxi eudev)) (home-page "https://linuxwacom.github.io/") (synopsis "Wacom input driver for X") (description "The xf86-input-wacom driver is the wacom-specific X11 input driver for the X.Org X Server version 1.7 and later (X11R7.5 or later).") (license license:x11))) (define-public redshift (package (name "redshift") (version "1.12") (source (origin (method url-fetch) (uri (string-append "https://github.com/jonls/redshift/" "releases/download/v" version "/redshift-" version ".tar.xz")) (sha256 (base32 "1fi27b73x85qqar526dbd33av7mahca2ykaqwr7siqiw1qqcby6j")))) (build-system gnu-build-system) (arguments `(#:imported-modules (,@%default-gnu-imported-modules (guix build python-build-system)) #:phases (modify-phases %standard-phases (add-after 'install 'split-outputs (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) (gtk (assoc-ref outputs "gtk")) (desktop-file "/share/applications/redshift-gtk.desktop")) (mkdir-p (string-append gtk "/bin")) (link (string-append out "/bin/redshift-gtk") (string-append gtk "/bin/redshift-gtk")) (delete-file (string-append out "/bin/redshift-gtk")) (copy-recursively (string-append out "/lib") (string-append gtk "/lib")) (delete-file-recursively (string-append out "/lib")) (mkdir-p (string-append gtk "/share/applications")) (link (string-append out desktop-file) (string-append gtk desktop-file)) (delete-file (string-append out desktop-file)) (with-directory-excursion (string-append out "/share") (for-each (lambda (dir) (copy-recursively (string-append out "/share/" dir) (string-append gtk "/share/" dir)) (delete-file-recursively dir)) '("appdata" "icons")))))) (add-after 'split-outputs 'wrap (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((gtk (assoc-ref outputs "gtk")) (site-packages (@ (guix build python-build-system) site-packages)) (site (site-packages inputs outputs))) (wrap-program (string-append gtk "/bin/redshift-gtk") `("GUIX_PYTHONPATH" ":" prefix (,(string-append site ":" (getenv "GUIX_PYTHONPATH")))) `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH")))))))))) (outputs '("out" "gtk")) (native-inputs (list pkg-config intltool)) (inputs (list bash-minimal libdrm libx11 libxcb libxxf86vm glib ;for Geoclue2 support ;; To build the GTK3 GUI, we need these. gtk+ python python-pygobject python-pyxdg)) (home-page "https://github.com/jonls/redshift") (synopsis "Adjust the color temperature of your screen") (description "Redshift adjusts the color temperature according to the position of the sun. A different color temperature is set during night and daytime. During twilight and early morning, the color temperature transitions smoothly from night to daytime temperature to allow your eyes to slowly adapt. At night the color temperature should be set to match the lamps in your room.") (license license:gpl3+))) (define-public redshift-wayland (let ((commit "7da875d34854a6a34612d5ce4bd8718c32bec804") (revision "1")) (package (name "redshift-wayland") (version (string-append "1.12-" revision "." (string-take commit 7))) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/minus7/redshift") (commit commit))) (file-name (string-append name "-" version)) (sha256 (base32 "0nbkcw3avmzjg1jr1g9yfpm80kzisy55idl09b6wvzv2sz27n957")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases (add-after 'install 'create-desktop-file (lambda* (#:key outputs #:allow-other-keys) ;; For the GeoClue provider to work, a .desktop file ;; needs to be provided. A template is available, ;; but it only gets installed when the GUI is enabled. ;; Install it manually for this Wayland variant. (let* ((out (assoc-ref outputs "out")) (desktop-file (string-append