summary refs log tree commit diff
diff options
context:
space:
mode:
authorOleg Pykhalov <go.wigust@gmail.com>2019-03-10 18:30:12 +0300
committerOleg Pykhalov <go.wigust@gmail.com>2019-03-12 22:41:31 +0300
commite80a809f1fca1bc8580a9ab24fc071b822f65e7e (patch)
treefd8192eded975ebe81e7bb637561b6b043fa04d7
parent94a33ab899cddeda3b577cc968cd905623a692f1 (diff)
downloadguix-e80a809f1fca1bc8580a9ab24fc071b822f65e7e.tar.gz
gnu: Add tmux-xpanes.
* gnu/packages/tmux.scm (tmux-xpanes): New variable.
-rw-r--r--gnu/packages/tmux.scm50
1 files changed, 50 insertions, 0 deletions
diff --git a/gnu/packages/tmux.scm b/gnu/packages/tmux.scm
index e09e6c1fbe..7dbe2128a5 100644
--- a/gnu/packages/tmux.scm
+++ b/gnu/packages/tmux.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
 ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
 ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019 Oleg Pykhalov <go.wigust@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -27,7 +28,9 @@
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages ncurses))
 
@@ -134,3 +137,50 @@ continue running in the background, then later reattached.")
 command and helper commands provided by tmuxifier to manage Tmux sessions and
 windows.")
     (license expat)))
+
+(define-public tmux-xpanes
+  (package
+    (name "tmux-xpanes")
+    (version "4.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/greymd/tmux-xpanes.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0px164ikhnzfls6dld4xhiyd9j5jp2rbmwfg11b1pxzm9mp7qk6r"))))
+    (build-system trivial-build-system)
+    (inputs
+     `(("bash" ,bash)))
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (setenv "PATH" (string-append (assoc-ref %build-inputs "bash") "/bin"))
+         (copy-recursively (assoc-ref %build-inputs "source") ".")
+         (substitute* "bin/xpanes"
+           (("/bin/bash") (which "bash")))
+         (install-file "bin/xpanes" (string-append %output "/bin"))
+         (install-file "man/xpanes.1" (string-append %output "/man/man1"))
+         #t)))
+    (home-page "https://github.com/greymd/tmux-xpanes")
+    (synopsis "Tmux based terminal divider")
+    (description "This package provides tmux-based terminal divider.
+
+@code{xpanes} or @code{tmux-xpanes} (alias of @code{xpanes}) commands have
+following features:
+
+@itemize
+@item Split tmux window into multiple panes.
+@item Build command lines & execute them on the panes.
+@item Runnable from outside of tmux session.
+@item Runnable from inside of tmux session.
+@item Record operation log.
+@item Flexible layout arrangement for panes.
+@item Display pane title on each pane.
+@item Generate command lines from standard input (Pipe mode).
+@end itemize")
+    (license expat)))