Skip to content

Commit 3cdc9b0

Browse files
committed
To markdown
1 parent 2faf560 commit 3cdc9b0

20 files changed

+2654
-2378
lines changed

CHANGES

Lines changed: 768 additions & 777 deletions
Large diffs are not rendered by default.

MANIFEST.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
include README.md LICENSE CHANGES pyproject.toml .tmuxp.yaml
22
include requirements/*.txt
3-
recursive-include docs *.rst
3+
recursive-include docs *.md
44
recursive-include tests *.py *.yaml *.json *.sh
55
recursive-include examples *.yaml *.json

docs/about.md

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
```{module} tmuxp
2+
3+
```
4+
5+
(about)=
6+
7+
# About
8+
9+
tmuxp helps you manage tmux workspaces.
10+
11+
Built on a object relational mapper for tmux. tmux users can reload common
12+
workspaces from YAML, JSON and {py:obj}`dict` configurations like
13+
[tmuxinator][tmuxinator] and [teamocil][teamocil].
14+
15+
tmuxp is used by developers for tmux automation at great companies like
16+
[Bugsnag][bugsnag], [Pragmatic Coders][pragmatic coders] and many others.
17+
18+
To jump right in, see {ref}`quickstart` and {ref}`examples`.
19+
20+
Interested in some kung-fu or joining the effort? {ref}`api` and
21+
{ref}`developing`.
22+
23+
[MIT-licensed][mit-licensed]. Code on [github](<http://github.com/tmux-python/tmuxp>).
24+
25+
[bugsnag]: https://blog.bugsnag.com/benefits-of-using-tmux/
26+
27+
[pragmatic coders]: http://pragmaticcoders.com/blog/tmuxp-preconfigured-sessions/
28+
29+
## Differences from tmuxinator / teamocil
30+
31+
:::{note}
32+
33+
If you use teamocil / tmuxinator and can clarify or add differences,
34+
please free to [edit this page][edit this page] on github.
35+
36+
:::
37+
38+
### Similarities
39+
40+
**Load sessions** Loads tmux sessions from config
41+
42+
**YAML** Supports YAML format
43+
44+
**Inlining / shorthand configuration** All three support short-hand and
45+
simplified markup for panes that have one command.
46+
47+
**Maturity and stability** As of 2016, all three are considered stable,
48+
well tested and adopted.
49+
50+
### Missing
51+
52+
**Version support** tmuxp only supports `tmux >= 1.8`. Teamocil and
53+
tmuxinator may have support for earlier versions.
54+
55+
### Differences
56+
57+
**Programming Language** python. teamocil and tmuxinator uses ruby.
58+
59+
**Workspace building process** teamocil and tmuxinator process configs
60+
directly shell commands. tmuxp processes configuration via ORM layer.
61+
62+
## Additional Features
63+
64+
**CLI** tmuxp's CLI can attach and kill sessions with tab-completion
65+
support. See {ref}`commands`.
66+
67+
**Import config** import configs from Teamocil / Tmuxinator [^id4]. See
68+
{ref}`cli_import`.
69+
70+
**Session freezing** Supports session freezing into YAML and JSON
71+
format [^id4]. See {ref}`cli_freeze`.
72+
73+
**JSON config** JSON config support. See {ref}`Examples`.
74+
75+
**ORM-based API** via [libtmux][libtmux] - Utilitizes tmux >= 1.8's unique ID's for
76+
panes, windows and sessions to create an object relational view of the tmux
77+
{class}`~libtmux.Server`, its {class}`~libtmux.Session`,
78+
{class}`~libtmux.Window`, and {class}`~libtmux.Pane`.
79+
See {ref}`libtmux's internals <libtmux:Internals>`.
80+
81+
**Conversion** `$ tmuxp convert <filename>` can convert files to and
82+
from JSON and YAML.
83+
84+
[^id4]: While freezing and importing sessions is a great way to save time,
85+
tweaking will probably be required - There is no substitute to a
86+
config made with love.
87+
88+
[libtmux]: https://libtmux.git-pull.com
89+
90+
## Minor tweaks
91+
92+
- Unit tests against live tmux version to test statefulness of tmux
93+
sessions, windows and panes. See {ref}`travis`.
94+
- Load + switch to new session from inside tmux.
95+
- Resume session if config loaded.
96+
- Pre-commands virtualenv / rvm / any other commands.
97+
- Load config from anywhere `$ tmuxp load /full/file/path.json`.
98+
- Load config `.tmuxp.yaml` or `.tmuxp.json` from current working
99+
directory with `$ tmuxp load .`.
100+
- `$ tmuxp -2`, `$ tmuxp -8` for forcing term colors a la
101+
{term}`tmux(1)`.
102+
- `$ tmuxp -L<socket-name>`, `$ tmuxp -S<socket-path>` for sockets and
103+
`$ tmuxp -f<config-file>` for config file.
104+
105+
[attempt at 1.7 test]: https://travis-ci.org/tmux-python/tmuxp/jobs/12348263
106+
107+
[kaptan]: https://github.com/emre/kaptan
108+
109+
[mit-licensed]: http://opensource.org/licenses/MIT
110+
111+
[tmuxinator]: https://github.com/aziz/tmuxinator
112+
113+
[teamocil]: https://github.com/remiprev/teamocil
114+
115+
[erb]: http://ruby-doc.org/stdlib-2.0.0/libdoc/erb/rdoc/ERB.html
116+
117+
[edit this page]: https://github.com/tmux-python/tmuxp/edit/master/doc/about.rst
118+
119+

docs/about.rst

Lines changed: 0 additions & 115 deletions
This file was deleted.

0 commit comments

Comments
 (0)