From 1a706051ecb5733bc96f64e69eaa78ab2f6bc931 Mon Sep 17 00:00:00 2001 From: jgart Date: Sun, 27 Nov 2022 12:53:48 -0600 Subject: [PATCH] gnu: Add tilix. * gnu/packages/terminals.scm (tilix): New variable. Co-authored-by: Efraim Flashner --- gnu/packages/terminals.scm | 63 +++++++++++++++++++++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 06b7b8b725..bd293d6b20 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner +;;; Copyright © 2015-2021, 2023 Efraim Flashner ;;; Copyright © 2016 Mckinley Olsen ;;; Copyright © 2016, 2017, 2019 Alex Griffin ;;; Copyright © 2016 David Craven @@ -32,6 +32,7 @@ ;;; Copyright © 2021 Petr Hodina ;;; Copyright © 2022 Felipe Balbi ;;; Copyright © 2022 ( +;;; Copyright © 2022 jgart ;;; ;;; This file is part of GNU Guix. ;;; @@ -73,6 +74,7 @@ (define-module (gnu packages terminals) #:use-module (gnu packages crates-io) #:use-module (gnu packages crates-graphics) #:use-module (gnu packages crypto) + #:use-module (gnu packages dlang) #:use-module (gnu packages docbook) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) @@ -87,6 +89,7 @@ (define-module (gnu packages terminals) #:use-module (gnu packages image) #:use-module (gnu packages libcanberra) #:use-module (gnu packages libevent) + #:use-module (gnu packages libunwind) #:use-module (gnu packages linux) #:use-module (gnu packages man) #:use-module (gnu packages ncurses) @@ -1310,6 +1313,64 @@ (define-public eternalterminal (define-public wterm (deprecated-package "wterm" foot)) +(define-public tilix + (package + (name "tilix") + (version "1.9.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gnunn1/tilix") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ij3ix6yhi8hicxvglrxjyyv8bch9birrgsr8ml6jfh3hvk4pxdh")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-env-variables + (lambda _ + (setenv "CC" ,(cc-for-target)))) + (add-after 'unpack 'skip-gtk-update-icon-cache + (lambda _ + (substitute* "meson_post_install.py" + (("gtk-update-icon-cache") (which "true")) + (("update-desktop-database") (which "true")))))))) + (inputs + (list dbus + dconf + gsettings-desktop-schemas + gtk+ + gtkd + ldc + libsecret + libunwind + vte)) + (native-inputs + (list appstream + gettext-minimal + (list glib "bin") + ldc + pkg-config)) + (home-page "https://gnunn1.github.io/tilix-web/") + (synopsis "Tiling terminal emulator") + (description "Tilix is a tiling terminal emulator following the +Gnome Human Interface Guidelines. Its features include: +@enumerate +@item Layout terminals in any fashion by splitting them horizontally or +vertically. +@item Terminals can be re-arranged using drag and drop both within and between +windows. +@item Terminals can be detached into a new window via drag and drop. +@item Input can be synchronized between terminals so commands typed in one +terminal are replicated to the others. +@item Supports notifications when processes are completed out of view. +@end enumerate") + (license license:mpl2.0))) + (define-public tio (package (name "tio")