summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/CONTRIBUTING.md79
-rw-r--r--.github/FUNDING.yml2
-rw-r--r--.github/ISSUE_TEMPLATE.md22
-rw-r--r--.github/README.md95
-rw-r--r--.github/travis/before-install.sh24
-rw-r--r--.github/travis/build-all.sh38
-rw-r--r--.github/travis/build.sh25
-rw-r--r--.github/workflows/lock.yml34
8 files changed, 319 insertions, 0 deletions
diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
new file mode 100644
index 00000000..0c517a52
--- /dev/null
+++ b/.github/CONTRIBUTING.md
@@ -0,0 +1,79 @@
+## What should I do before opening an issue?
+
+Before opening an issue, please ensure that:
+
+- Your problem is a specific problem or question or suggestion, not a general
+ complaint.
+
+- `$TERM` inside tmux is screen, screen-256color, tmux or tmux-256color. Check
+ by running `echo $TERM` inside tmux.
+
+- You can reproduce the problem with the latest tmux release, or a build from
+ Git master.
+
+- Your question or issue is not covered [in the
+ manual](https://man.openbsd.org/tmux.1) (run `man tmux`).
+
+- Your problem is not mentioned in [the CHANGES
+ file](https://raw.githubusercontent.com/tmux/tmux/master/CHANGES).
+
+- Nobody else has opened the same issue recently.
+
+## What should I include in an issue?
+
+Please include the output of:
+
+~~~bash
+uname -sp && tmux -V && echo $TERM
+~~~
+
+Also include:
+
+- Your platform (Linux, macOS, or whatever).
+
+- A brief description of the problem with steps to reproduce.
+
+- A minimal tmux config, if you can't reproduce without a config.
+
+- Your terminal, and `$TERM` inside and outside of tmux.
+
+- Logs from tmux (see below). Please attach logs to the issue directly rather
+ than using a download site or pastebin. Put in a zip file if necessary.
+
+- At most one or two screenshots, if helpful.
+
+## How do I test without a .tmux.conf?
+
+Run a separate tmux server with `-f/dev/null` to skip loading `.tmux.conf`:
+
+~~~bash
+tmux -Ltest kill-server
+tmux -Ltest -f/dev/null new
+~~~
+
+## How do I get logs from tmux?
+
+Add `-vv` to tmux to create three log files in the current directory. If you can
+reproduce without a configuration file:
+
+~~~bash
+tmux -Ltest kill-server
+tmux -vv -Ltest -f/dev/null new
+~~~
+
+Or if you need your configuration:
+
+~~~base
+tmux kill-server
+tmux -vv new
+~~~
+
+The log files are:
+
+- `tmux-server*.log`: server log file.
+
+- `tmux-client*.log`: client log file.
+
+- `tmux-out*.log`: output log file.
+
+Please attach the log files to your issue.
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 00000000..fe405298
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1,2 @@
+github: nicm
+liberapay: tmux
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
new file mode 100644
index 00000000..8bf1e66a
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE.md
@@ -0,0 +1,22 @@
+### Issue description
+
+Please read https://github.com/tmux/tmux/blob/master/.github/CONTRIBUTING.md
+before opening an issue.
+
+If you have upgraded, make sure your issue is not covered in the CHANGES file
+for your version: https://raw.githubusercontent.com/tmux/tmux/master/CHANGES
+
+Describe the problem and the steps to reproduce. Add a minimal tmux config if
+necessary. Screenshots can be helpful, but no more than one or two.
+
+Do not report bugs (crashes, incorrect behaviour) without reproducing on a tmux
+built from the latest code in Git.
+
+### Required information
+
+Please provide the following information:
+
+* tmux version (`tmux -V`).
+* Platform (`uname -sp`).
+* $TERM inside and outside of tmux (`echo $TERM`).
+* Logs from tmux (`tmux kill-server; tmux -vv new`).
diff --git a/.github/README.md b/.github/README.md
new file mode 100644
index 00000000..353f10ec
--- /dev/null
+++ b/.github/README.md
@@ -0,0 +1,95 @@
+# Welcome to tmux!
+
+tmux is a terminal multiplexer: it enables a number of terminals to be created,
+accessed, and controlled from a single screen. tmux may be detached from a
+screen and continue running in the background, then later reattached.
+
+This release runs on OpenBSD, FreeBSD, NetBSD, Linux, macOS and Solaris.
+
+## Dependencies
+
+tmux depends on [libevent](https://libevent.org) 2.x, available from [this
+page](https://github.com/libevent/libevent/releases/latest).
+
+It also depends on [ncurses](https://www.gnu.org/software/ncurses/), available
+from [this page](https://invisible-mirror.net/archives/ncurses/).
+
+To build tmux, a C compiler (for example gcc or clang), make, pkg-config and a
+suitable yacc (yacc or bison) are needed.
+
+## Installation
+
+### Binary packages
+
+Some platforms provide binary packages for tmux, although these are sometimes
+out of date. Examples are listed on
+[this page](https://github.com/tmux/tmux/wiki/Installing).
+
+### From release tarball
+
+To build and install tmux from a release tarball, use:
+
+~~~bash
+./configure && make
+sudo make install
+~~~
+
+tmux can use the utempter library to update utmp(5), if it is installed - run
+configure with `--enable-utempter` to enable this.
+
+For more detailed instructions on building and installing tmux, see
+[this page](https://github.com/tmux/tmux/wiki/Installing).
+
+### From version control
+
+To get and build the latest from version control - note that this requires
+`autoconf`, `automake` and `pkg-config`:
+
+~~~bash
+git clone https://github.com/tmux/tmux.git
+cd tmux
+sh autogen.sh
+./configure && make
+~~~
+
+## Contributing
+
+Bug reports, feature suggestions and especially code contributions are most
+welcome. Please send by email to:
+
+tmux-users@googlegroups.com
+
+Or open a GitHub issue or pull request. **Please read [this
+document](CONTRIBUTING.md) before opening an issue.**
+
+There is [a list of suggestions for contributions](https://github.com/tmux/tmux/wiki/Contributing).
+Please feel free to ask on the mailing list if you're thinking of working on something or need
+further information.
+
+## Documentation
+
+For documentation on using tmux, see the tmux.1 manpage. View it from the
+source tree with:
+
+~~~bash
+nroff -mdoc tmux.1|less
+~~~
+
+A small example configuration is in `example_tmux.conf`.
+
+And a bash(1) completion file at:
+
+https://github.com/imomaliev/tmux-bash-completion
+
+For debugging, run tmux with `-v` or `-vv` to generate server and client log
+files in the current directory.
+
+## Support
+
+The tmux mailing list for general discussion and bug reports is:
+
+https://groups.google.com/forum/#!forum/tmux-users
+
+Subscribe by sending an email to:
+
+tmux-users+subscribe@googlegroups.com
diff --git a/.github/travis/before-install.sh b/.github/travis/before-install.sh
new file mode 100644
index 00000000..a589a743
--- /dev/null
+++ b/.github/travis/before-install.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+if [ "$TRAVIS_OS_NAME" = "linux" ]; then
+ sudo apt-get update -qq
+ sudo apt-get -y install bison \
+ autotools-dev \
+ libncurses5-dev \
+ libevent-dev \
+ pkg-config \
+ libutempter-dev \
+ build-essential
+
+ if [ "$BUILD" = "musl" -o "$BUILD" = "musl-static" ]; then
+ sudo apt-get -y install musl-dev \
+ musl-tools
+ fi
+fi
+
+if [ "$TRAVIS_OS_NAME" = "freebsd" ]; then
+ sudo pkg install -y \
+ automake \
+ libevent \
+ pkgconf
+fi
diff --git a/.github/travis/build-all.sh b/.github/travis/build-all.sh
new file mode 100644
index 00000000..883868e8
--- /dev/null
+++ b/.github/travis/build-all.sh
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+BUILD=$PWD/build
+
+LIBEVENT=https://github.com/libevent/libevent/releases/download/release-2.1.11-stable/libevent-2.1.11-stab\
+le.tar.gz
+NCURSES=https://ftp.gnu.org/gnu/ncurses/ncurses-6.2.tar.gz
+
+wget -4q $LIBEVENT || exit 1
+tar -zxf libevent-*.tar.gz || exit 1
+(cd libevent-*/ &&
+ ./configure --prefix=$BUILD \
+ --enable-shared \
+ --disable-libevent-regress \
+ --disable-samples &&
+ make && make install) || exit 1
+
+wget -4q $NCURSES || exit 1
+tar -zxf ncurses-*.tar.gz || exit 1
+(cd ncurses-*/ &&
+ CPPFLAGS=-P ./configure --prefix=$BUILD \
+ --with-shared \
+ --with-termlib \
+ --without-ada \
+ --without-cxx \
+ --without-manpages \
+ --without-progs \
+ --without-tests \
+ --without-tack \
+ --disable-database \
+ --enable-termcap \
+ --enable-pc-files \
+ --with-pkg-config-libdir=$BUILD/lib/pkgconfig &&
+ make && make install) || exit 1
+
+sh autogen.sh || exit 1
+PKG_CONFIG_PATH=$BUILD/lib/pkgconfig ./configure --prefix=$BUILD "$@"
+make && make install || (cat config.log; exit 1)
diff --git a/.github/travis/build.sh b/.github/travis/build.sh
new file mode 100644
index 00000000..f863d8ad
--- /dev/null
+++ b/.github/travis/build.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+sh autogen.sh || exit 1
+case "$BUILD" in
+ static)
+ ./configure --enable-static || exit 1
+ exec make
+ ;;
+ all)
+ sh $(dirname $0)/build-all.sh
+ exec make
+ ;;
+ musl)
+ CC=musl-gcc sh $(dirname $0)/build-all.sh
+ exec make
+ ;;
+ musl-static)
+ CC=musl-gcc sh $(dirname $0)/build-all.sh --enable-static
+ exec make
+ ;;
+ *)
+ ./configure || exit 1
+ exec make
+ ;;
+esac
diff --git a/.github/workflows/lock.yml b/.github/workflows/lock.yml
new file mode 100644
index 00000000..81b445bc
--- /dev/null
+++ b/.github/workflows/lock.yml
@@ -0,0 +1,34 @@
+name: 'Lock Threads'
+
+on:
+ schedule:
+ - cron: '0 0 * * *'
+ workflow_dispatch:
+
+permissions:
+ issues: write
+ pull-requests: write
+ discussions: write
+
+concurrency:
+ group: lock-threads
+
+jobs:
+ action:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: dessant/lock-threads@v5
+ with:
+ github-token: ${{ github.token }}
+ issue-inactive-days: '30'
+ issue-comment: >
+ This issue has been automatically locked since there
+ has not been any recent activity after it was closed.
+ pr-inactive-days: '60'
+ pr-comment: >
+ This pull request has been automatically locked since there
+ has not been any recent activity after it was closed.
+ discussion-inactive-days: '60'
+ discussion-comment: >
+ This discussion has been automatically locked since there
+ has not been any recent activity after it was closed.