From 4412abe2ab97647dffec5940d6d805a7042d7c60 Mon Sep 17 00:00:00 2001 From: Doug Date: Mon, 25 Feb 2019 14:27:49 +0000 Subject: [PATCH 1/2] Updated at request of creator for improvements Added some extra information and made some improvements in grammar, structure and readability. I consider this the beginning of a general tidy up of the docs and manual section taking hints from tmuxinator and teamocli --- doc/about.rst | 78 +++++++++++++++++++++++++++++---------------------- 1 file changed, 45 insertions(+), 33 deletions(-) diff --git a/doc/about.rst b/doc/about.rst index 0b693e4759b..8730dde2182 100644 --- a/doc/about.rst +++ b/doc/about.rst @@ -6,9 +6,9 @@ About ===== -tmuxp helps you manage tmux workspaces. +tmuxp helps you manage tmux workspaces in thee form of panes, windows and sessions. -Built on a object relational mapper for tmux. tmux users can reload common +Built on an ORM (object relational mapper) for tmux. tmux users can reload common workspaces from YAML, JSON and :py:obj:`dict` configurations like `tmuxinator`_ and `teamocil`_. @@ -26,43 +26,25 @@ Interested in some kung-fu or joining the effort? :ref:`api` and .. _Bugsnag: https://blog.bugsnag.com/benefits-of-using-tmux/ .. _Pragmatic Coders: http://pragmaticcoders.com/blog/tmuxp-preconfigured-sessions/ -Differences from tmuxinator / teamocil --------------------------------------- +============================================== +Comparison to Other Terminal Emulator Wrappers +============================================== -.. note:: +Similarities to tmuxinator & teamocil +------------------------------------ - If you use teamocil / tmuxinator and can clarify or add differences, - please free to `edit this page`_ on github. +**Load sessions** - Loads tmux sessions from config. -Similarities -~~~~~~~~~~~~ +**YAML** - Uses YAML for sessions and configs. -**Load sessions** Loads tmux sessions from config - -**YAML** Supports YAML format - -**Inlining / shorthand configuration** All three support short-hand and +**Inlining / shorthand configuration** - All three support short-hand and simplified markup for panes that have one command. -**Maturity and stability** As of 2016, all three are considered stable, +**Maturity and stability** - As of 2016, all three are considered stable, well tested and adopted. -Missing -~~~~~~~ - -**Version support** tmuxp only supports ``tmux >= 1.8``. Teamocil and -tmuxinator may have support for earlier versions. - -Differences -~~~~~~~~~~~ - -**Programming Language** python. teamocil and tmuxinator uses ruby. - -**Workspace building process** teamocil and tmuxinator process configs -directly shell commands. tmuxp processes configuration via ORM layer. - -Additional Features -------------------- +Additional Features Of tmuxp +---------------------------- **CLI** tmuxp's CLI can attach and kill sessions with tab-completion support. See :ref:`commands`. @@ -75,6 +57,8 @@ format [1]_. See :ref:`cli_freeze`. **JSON config** JSON config support. See :ref:`Examples`. +**Load + Switch** to other sessions from inside tmux + **ORM-based API** via `libtmux`_ - Utilitizes tmux >= 1.8's unique ID's for panes, windows and sessions to create an object relational view of the tmux :class:`~libtmux.Server`, its :class:`~libtmux.Session`, @@ -90,12 +74,39 @@ from JSON and YAML. .. _libtmux: https://libtmux.git-pull.com -Minor tweaks + +Features Missing From tmup Other Wrappers Have +---------------------------------------------- + +**Version support** tmuxp only supports ``tmux >= 1.8``. Teamocil and +tmuxinator may have support for earlier versions. But this means the +contibutors are concentrated on the newest and best features of tmux +not legacy work + +Missing Features in tmuxp +------------------------- + +**No list configs command** - tmuxinator has a command for listing any sessions available for execution. + +**Fish Shell Completion** - both tmuxinator and teamocil have Fish shell completion. + +**Command Shorthand** - simple 3-letter alias for the main command "mux". + +**No configuration Linter** - tmuxinator has the doctor sub command for checking session yaml files. + +Significant Differences Between The Two +--------------------------------------- + +**Programming Language** python. teamocil and tmuxinator uses ruby. + +**Workspace building process** teamocil and tmuxinator process configs +directly shell commands. tmuxp processes configuration via ORM layer. + +Minor Tweaks ------------ - Unit tests against live tmux version to test statefulness of tmux sessions, windows and panes. See :ref:`travis`. -- Load + switch to new session from inside tmux. - Resume session if config loaded. - Pre-commands virtualenv / rvm / any other commands. - Load config from anywhere ``$ tmuxp load /full/file/path.json``. @@ -113,3 +124,4 @@ Minor tweaks .. _teamocil: https://github.com/remiprev/teamocil .. _ERB: http://ruby-doc.org/stdlib-2.0.0/libdoc/erb/rdoc/ERB.html .. _edit this page: https://github.com/tmux-python/tmuxp/edit/master/doc/about.rst + From 89239b423d4f3fc63bc9d2af6455197cb523ee65 Mon Sep 17 00:00:00 2001 From: Doug Date: Mon, 25 Feb 2019 15:34:05 +0000 Subject: [PATCH 2/2] Updating comparison and improving readability Comparisons were given better structure and titles with updated information on features. Ambiguous titles have been made clearer --- doc/about.rst | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/doc/about.rst b/doc/about.rst index 8730dde2182..f6b8e85d3a6 100644 --- a/doc/about.rst +++ b/doc/about.rst @@ -46,18 +46,18 @@ well tested and adopted. Additional Features Of tmuxp ---------------------------- -**CLI** tmuxp's CLI can attach and kill sessions with tab-completion +**CLI** - tmuxp's CLI can attach and kill sessions with tab-completion support. See :ref:`commands`. -**Import config** import configs from Teamocil / Tmuxinator [1]_. See +**Import config** - import configs from Teamocil / Tmuxinator [1]_. See :ref:`cli_import`. -**Session freezing** Supports session freezing into YAML and JSON +**Session freezing** - Supports session freezing into YAML and JSON format [1]_. See :ref:`cli_freeze`. -**JSON config** JSON config support. See :ref:`Examples`. +**JSON config** - JSON config support. See :ref:`Examples`. -**Load + Switch** to other sessions from inside tmux +**Load + Switch** - to other sessions from inside tmux **ORM-based API** via `libtmux`_ - Utilitizes tmux >= 1.8's unique ID's for panes, windows and sessions to create an object relational view of the tmux @@ -83,27 +83,29 @@ tmuxinator may have support for earlier versions. But this means the contibutors are concentrated on the newest and best features of tmux not legacy work + Missing Features in tmuxp ------------------------- **No list configs command** - tmuxinator has a command for listing any sessions available for execution. -**Fish Shell Completion** - both tmuxinator and teamocil have Fish shell completion. +**Fish Shell Completion** - both tmuxinator and teamocil. **Command Shorthand** - simple 3-letter alias for the main command "mux". **No configuration Linter** - tmuxinator has the doctor sub command for checking session yaml files. + Significant Differences Between The Two --------------------------------------- -**Programming Language** python. teamocil and tmuxinator uses ruby. +**Programming Language** - Python is the core of tmuxp. teamocil and tmuxinator use Ruby. -**Workspace building process** teamocil and tmuxinator process configs -directly shell commands. tmuxp processes configuration via ORM layer. +**Workspace building process** - teamocil and tmuxinator process configs +directly with shell commands. tmuxp processes configuration via ORM layer. -Minor Tweaks ------------- +Minor Features Worth a Mention +------------------------------ - Unit tests against live tmux version to test statefulness of tmux sessions, windows and panes. See :ref:`travis`.