Here you can find the recent changes to tmuxp
:issue:`530` Add plugin system for user customization of tmuxp
:issue:`530` Add tests for the plugin system
:issue:`530` Update existing tests for the plugin system
:issue:`530` Add the plugin interface to the tmuxp package
:issue:`530` Add in depth documentation for the plugin system
Insert changes/features/fixes for next release here
:issue:`636` New command:
tmuxp shellAutomatically preloads session, window, and pane via libtmux api objects and makes them available in a python console.
In python 3.7+, supports
PYTHONBREAKPOINT:$ pip install ipdb $ env PYTHONBREAKPOINT=ipdb.set_trace tmuxp shell
You can execute python directly via
-c:$ tmuxp shell -c 'print(session.name); print(window.name)' my_server my_window $ tmuxp shell my_server -c 'print(session.name); print(window.name)' my_server my_window $ tmuxp shell my_server my_window -c 'print(session.name); print(window.name)' my_server my_window $ tmuxp shell my_server my_window -c 'print(window.name.upper())' MY_WINDOW
- :issue:`639` Passes start_directory through to new tmux session Fixes :issue:`631`, thank you @joseph-flinn!
:issue:`637` Support for loading directories with periods in it
tmuxp load ~/work/your.projectwill now workEarlier workaround was to do
tmuxp load ~/work/your.project/.tmuxp.yamlFixes :issue:`212` and :issue:`201`
- :issue:`618`: allow passing
--overwritetotmuxp freeze. Thank you @betoSolares! - :issue:`589` added option for the the confirm command to auto-confirm the prompt. Thank you @aRkedos!
- :issue:`626` Add new session name option to cli. Thank you @joseph-flinn!
- :issue:`626` Add test for new session name option
- :issue:`626` Update docs for new session name option
- :issue:`623` Move docs from RTD to self-serve site
- :issue:`623` Modernize Makefiles
- :issue:`623` New development docs
- :issue:`623` Move doc -> docs
- :issue:`623` Move tests to GitHub Actions
- :issue:`623` Update pyproject.toml to experiment with poetry packaging
- :issue:`619` isort 5
- :issue:`629` Update black from 19.10b0 to 20.08b1
:issue:`616` (via: :issue:`599`) New command:
tmuxp lsList commands available via config directory. If the config is printed, it's loadable via
tmuxp load configfilenamewithout needing to type the full filepath. Thank you @pythops!:issue:`480` Fix typo, thanks @jstoja
:issue:`578` Fix typo, thanks @mauroporras
:issue:`519` Fix typo, thanks @timgates42
:issue:`506` Fix Makefile typo, thanks @wolfgangpfnuer
:issue:`619` Update isort to 5.x
Travis: Only run on master and PRs one time
Travis: Add caching for tmux builds
Travis: Test 2.9 and 3.0a
:issue:`613`: Move from Pipenv to Poetry
- :issue:`500`: Fix window focus
- Fix travis CI builds for python 3.7
- :issue:`377`: Include examples in source distribution package
- Loosen libtmux version constraint to >0.8 and <0.9 (libtmux 0.8.2 released today)
- :issue:`484` CHANGES converted to plain reStructuredText
- :issue:`491`
tmuxp freezewill now infer active session with freezing - :issue:`490` Fix XDG's
$XDG_CONFIG_HOMEbehavior - :issue:`483`, :issue:`482`, :issue:`480` Doc fixes
- :issue:`487` Simplifying handling of configs with no panes (Fixes :issue:`470`)
- Add tests/*.sh scripts to MANIFEST.in to include them in Pypi package.
- Include twine to dev packages on requirements and Pipfile files.
- Support Click 7.0
- Remove unused
__future__imports - :issue:`471` Update libtmux 0.8.0 -> 0.8.1
- :issue:`404` from @anddam, support XDG base directory
- Sort imports
- Add configuration and make command for isort.
- Add sphinxcontrib-napoleon.
- Assure requirements/dev.txt dependencies are in Pipfile
- Update sphinx, releases to latest version
- Sync requirements/*.txt dependencies with Pipfile.
- Update docstring style to use numpy-style documentation. This enhances readability and plays nicely with sphinx documentation.
- Documentation overhaul.
- Areas like :meth:`tmuxp.cli.load_workspace` are now documented verbosely. This is so contributors helping on the project can more quickly gain situational awareness in this tricky area of code.
- :issue:`431` Include tests in source distribution
- Loosen click restraint to <7
- Bump libtmux to 0.8.0
- :issue:`264` Update license from BSD to MIT
- :issue:`348` Continuous integration updates and fixes for Travis CI
- Update builds to use trusty
- Remove older python 3 versions (before 3.6)
- Update pypy versions
- :issue:`349` flake8 via continuous integration
- Improve reliability of time-sensitive tests by
using
while Truewith a timeout. - Update sphinx to 1.7.1
- Update alagitpull (sphinx theme) to 0.0.19. External websites open in new window.
- Update pytest to 3.4.1
- :issue:`312` Support for tmux 2.6 layout setting (via hooks) in the
following scenarios:
- loading outside tmux
- loading inside tmux, via switch-client
- loading inside tmux, with session in background (with -d), and reattaching/switching to after
- loading session outside tmux in background with -d, and reattaching/switching after
- :issue:`308` Fix bug where layouts don't correctly set on tmux 2.6
- Upgrade libtmux to 0.7.7
- before_script now respects start_directory in the session root. This makes it easier to run things like pipenv install as a before_script.
- Update libtmux to 0.7.5 for tmux 2.6 hotfix
- :issue:`184` - update libtmux to fix environmental variables in the session scope
- Update libtmux to 0.7.4
- Updates to pytest and pytest-rerunfailures
- :issue:`252` Fix bug where loading a session with a name matching a subset of current session causes undesired behavior.
- Update libtmux to 0.7.3
- Switch theme to alagitpull (alabaster subtheme)
- Remove unneeded doc dependency packages
- :issue:`239` Improve support for formatted options when freezing and using configs with them.
- :issue:`236` Support for symlinked directories, thanks @rafi.
- :issue:`235` Support for
options_after, for setting options likesynchronize-panes. Thanks @sebastianst. - :issue:`248` Drop python 2.6 support
- :issue:`248` Upgrade libtmux to 0.7.1
- Upgrade colorama from 0.3.7 to 0.3.9
- :issue:`229` More helpful error message on systems missing tmux.
- Update libtmux from 0.6.4 to 0.6.5.
- Support for OpenBSD.
- :issue:`218` Fix pane ordering by running
select-layoutbefore splits.
- :issue:`207` add custom tmuxp config directory via
TMUXP_CONFIGDIRvariable. - :issue:`199` support for running tmuxp on tmux
master. - update libtmux from 0.6.2 to 0.6.3.
- :issue:`198` bump click from 6.6 to 6.7
- :issue:`195` pin packages for colorama and doc requirements
- bump libtmux 0.6.0 to 0.6.1
- :issue:`193` improve suppress history test, courtesy of @abeyer.
- :issue:`191` documentation typo from @modille
- :issue:`186` documentation typo from @joelwallis
- :issue:`181` Support tmux 2.3
- :issue:`132` Handle cases with invalid session names
- update libtmux from 0.5.0 to 0.6.0
:issue:`65` Ability to specify
optionsandglobal_optionsvia configuration. Also you can specify environment variables via that.Include tests and add example.
- :issue:`167` fix attaching multiple sessions
- :issue:`165` fix typo in error output, thanks @fpietka
- :issue:`166` add new docs on zsh/bash completion
- Add back
tmuxp -Vfor version info
- :issue:`160` load tmuxp configs by name
- :issue:`134` Use
clickfor command-line completion, Rewrite command line functionality for importing, config finding, conversion and prompts. - Remove
-lfromtmuxp import tmuxinator|teamocil - :issue:`158` argparse bug overcome by switch to click
- :issue:`163` fix issue re-attaching sessions that are already loaded
- :issue:`159` improved support for tmuxinator imports, from @fpietka.
- :issue:`161` readme link fixes from @Omeryl.
- switch to readthedocs.io for docs
- :issue:`157` bump libtmux to 0.4.1
- version jump 0.11.1 to 1.0
- tests moved to py.test framework
- libtmux core split into its own project
- :issue:`145` Add new-window command functionality, @ikirudennis
- :issue:`146` Optionally disable shell history suppression, @kmactavish
- :issue:`147` Patching unittest timing for shell history suppression
- move doc building, tests and watcher to Makefile
- update .tmuxp.yaml and .tmuxp.json for Makefile change
- overhaul README
- :issue:`137` Support for environment settings in configs, thanks @tasdomas
- Spelling correction, thanks @sehe.
- :issue:`135` Load multiple tmux sessions at once, thanks @madprog.
- :issue:`131` :issue:`133` README and Documentation fixes
- switch to
.venvfor virtualenv directory to not conflict with.env(used by autoenv). - :issue:`130` move to entr(1) for file watching in tests. update docs.
- [compatibility] Support Anaconda Python 2 and 3
- :issue:`122` Update to support tmux 2.1, thank you @estin.
- use travis container infrastructure for faster tests
- change test in workspace builder test to use
top(1)instead ofman(1).man(1)caused errors on some systems wherePAGERis set.
- :issue:`119` Add fix python 3 for sysutils/pytmuxp on FreeBSD ports. See GH issue 119 and #201564 @ FreeBSD Bugzilla. Thanks Ruslan Makhmatkhanov.
- Renamed
config.expandpathtoconfig.expandshell. - compat 2.7/3.3 wrapper for
EnvironmentVarGuardfor testing. - You can now use environment variables inside of
start_directory,before_script,shell_command_before,session_nameandwindow_name. - [examples]: add example for environmental variables,
examples/env-variables.jsonandexamples/env-variables.yaml. - :issue:`110` de-vendorize colorama. Thanks @marbu.
- :issue:`109` fix failure of test_pane_order on fedora machines from @marbu
- :issue:`105` append
.txtextension to manuals (repo ony) from @yegortimoshenko. - :issue:`107` Fix Server.attached_sessions return type by @thomasballinger.
- update travis to use new tmux git repository.
- [testing]: fix sniffer test runner in python 3
- new animated image demo for RTD and README
version bump 0.1.13 -> 0.8.0
tmux 2.0 support
Fix documentation for :meth:
Session.switch_client().Add
--log-levelargument.Refactor
{Server,Session,Window,Pane}.tmuxinto:- :meth:`Server.cmd()`
- :meth:`Session.cmd()`
- :meth:`Window.cmd()`
- :meth:`Pane.cmd()`
(See conversation at https://github.com/bitprophet/dotfiles/issues/5)
Refactor
util.tmuxinto :meth:`util.tmux_cmd`.
- Remove
package_metadata.pyin favor of__about__.py. scent.pyfor building docs- docutils from 0.11 to 0.12
bootstrap_env.pywill check for linux, darwin (OS X) and windows and install the correct sniffer file watcher plugin.- testsuite for cli uses :py:func:`tempfile.mkdtemp()` instead
TMP_DIR(which resolved to.tmuxpin the testsuite directory. - replace watchingtestrunner with sniffer in examples.
.tmuxp.confand.tmux.jsonupdated - updates to doc links
make checkbuildfor verifying internal / intersphinx doc references.- Add Warning tmux versions less than 1.4 from @techtonik.
- Add documentation on leading space in
send_keysfrom @thomasballinger. - Update about page from teamocil and erb support from @raine.
[config] :meth:`config.expand` now resolves directories in configuration via :py:func:`os.path.expanduser` and :py:func:`os.path.expandvars`.
[config] :meth:`config.expandpath` for helping resolve paths.
improved support for loading tmuxp project files from outside current working directory. e.g.
$ tmuxp load /path/to/my/project/.tmuxp.yaml
Will behave better with relative directories.
before_scriptnow loads relative to project directory with./.- Use
bootstrap_env.pyin tmuxp's.tmuxp.yamland.tmuxp.jsonproject files. - Improvements to :meth:`util.run_before_script()`,
:class:`exc.BeforeLoadScriptFailed` behavior to print
stdoutand returnstderris a non-zero exit is returned. run_script_beforehas moved toutil.BeforeLoadScriptFailedandBeforeLoadScriptNotExistshas moved to theexcmodule.- Tests for
run_script_beforerefactored.
- 2 bug fixes and allow panes with no shell commands to accept options, thanks for these 3 patches, @ThiefMaster:
- :issue:`73` Fix an error caused by spaces in
start_directory. - :issue:`77` Fix bug where having a
-in ashell_commandwould cauesd a build error. - :issue:`76` Don't require
shell_commandto pass options to panes (likefocus: true).
- The
--forcewas not with us.
- :issue:`72` Create destination directory if it doesn't exist. Thanks @ThiefMaster.
- New context manager for tests,
temp_session. - New testsuite,
testsuite.test_utilsfor testing testsuite tools. - New command,
before_script, which is a file to be executed with a return code. It can be a bash, perl, python etc. script. - :issue:`56` :ref:`python_api_quickstart <libtmux:quickstart>`
- :issue:`55` where tmuxp would crash with letter numbers in version. Write tests.
:meth:`Window.split_window()` now allows
-c start_directory.:issue:`35` Builder will now use
-c start_directoryto create new windows and panes.This removes a hack where
default-pathwould be set for new pane and window creations. This would bleed into tmux user sessions after creations.
- :issue:`49` bug where
package_manifest.pymissing fromMANIFEST.inwould cause error installing.
- section heading normalization.
- tao of tmux section now treated as a chatper. tao of tmux may be split off into its own project.
- use conventions from tony/cookiecutter-pypackage.
- Fix
$ tmuxp freezeCLI output. - Update
_compatsupport module. - Fix extra space in PEP 263.
- :issue:`48` Fix Python 3 CLI issue.
- :issue:`48`
$ tmuxpwithout option raises an error. - Add space before send-keys to not populate bash and zsh history.
- now using werkzeug / flask style testsuites.
- :issue:`43` Merge
tmuxp -dfor loading in detached mode. Thanks roxit.
- :issue:`32` Fix bug where special characters caused unicode caused unexpected outcomes loading and freezing sessions.
- fix duplicate print out of filename with using
tmuxp load .. - version to 0.1. No
--preneeded. Future versions will not use rc.
unicode_literals- Move py2/py3 compliancy code to
_compat.
- :issue:`33` Partial rewrite of :meth:`config.expand`.
- tmuxp will exit silently with
Ctrl-c.
- :issue:`31` [examples] from stratoukos add
window_indexoption, and example.
- :issue:`28` shell_command_before in session scope of config causing duplication. New test.
- :issue:`26` :issue:`29` for OS X tests. Thanks stratoukos.
- :issue:`27`
$ tmuxp freezeraises unhelpful message if session doesn't exist.
- fix bug were
focus: truewould not launch sessions when using$ tmuxp loadin a tmux session.
- :issue:`25`
focus: truenot working in panes. Add tests for focusing panes in config. - :meth:`Pane.select_pane()`.
- add new example for
focus: true.
- :issue:`23` fix bug where workspace would not build with pane-base-index
set to 1. Update tests to fix if
pane-base-indexis not 0. - removed
$ tmuxp load --listfunctionality. Update :ref:`quickstart` accordingly.
- pep8 and pep257 in unit tests.
- Changelog will now be updated on a version basis, use pep440 versioning.
- :meth:`Session.show_options`, :meth:`Session.show_option` now
accept
gto pass in-g.
- :meth:`Window.show_window_options`,
:meth:`Window.show_window_option` now accept
gto pass in-g. - :issue:`15` Behavioral changes in the WorkspaceBuilder to fix pane ordering.
- :issue:`21` Error with unit testing python 2.6 python configuration tests. Use :py:mod:`tempfile` instead.
- WorkspaceBuilder tests have been improved to use async better.
- fix a bug where missing tmux didn't show correct warning.
- Travis now tests python 2.6 as requirement and not allowed to fail.
- :issue:`19` accept
-yargument to answer yes to questions. - :meth:`cli.SessionCompleter` no longer allows a duplicate session after one is added.
- ongoing work on :ref:`about_tmux`.
- [translation] documentation in Chinese from wrongwaycn.
- More work done on the :ref:`about_tmux` page.
- :meth:`Pane.split_window()` for splitting :class:`Window` at
target-panelocation.
[freeze] -
$ tmuxp freezewill now freeze a window with astart_directorywhen all panes in a window are inside the same directory.[config] :meth:`config.inline` will now turn panes with no other attributes and 1 command into a single item value.
- panes: - shell_command: top # will now inline to: - panes - top This will improve ``$ tmuxp freeze``
- Remove old logger (based on tornado's log.py), replace with new, simpler one.
- fix teamocil import.
- support import teamocil
roottostart_directory.
- tagged v0.0.37. Many fixes. Python 2.6 support. Will switch to per-version changelog after 0.1 release.
- support for blank panes (null,
pane,blank) and panes with empty strings. - tmuxp freeze supports exporting to blank panes.
- tmuxp freeze will now return a blank pane for panes that would previously return a duplicate shell command, or generic python, node interpreter.
- Support for
[-L socket-name]and[-S socket-path]in autocompletion and when loading. Note, switching client into another socket may cause an error. - Documentation tweaking to :ref:`API`, :ref:`about_tmux`.
- pep257, pep8.
- Many documentation, pep257, pep8 fixes
- move old :class:`Server` methods
__list_panes(),__list_windowsand__list_sessionsinto the single underscore. - :issue:`12` fix for
$ tmuxp freezeby @finder. - Support for spaces in
$ tmuxp attach-sessionand$ tmuxp kill-session, and$ tmuxp freeze. - [config] support for relative paths of
start_directory. Add an update config in Start Directory on :ref:`examples`.
- New servers for :class:`Server` arguments
socket_name,socket_path,config_file. - :class:`Server` support for
-2withcolors=256andcolors=8. $ tmuxp -2for forcing 256 colors andtmuxp -8for forcing 88.- [config] Concatenation with
start_directoryvia :meth:`config.trickle()` if windowstart_directoryis alphanumeric / relative (doesn't start with/). See :ref:`Examples` in start directory. - Fix bug with import teamocil and tmuxinator
- Improve quality of tmuxinator imports. Especially
session_nameandstart_directory. - Allow saving with
~in file destination.
- :meth:`util.is_version()`
- correctly :meth:`config.trickle()` the
start_directory. - get
start_directoryworking for configs - fix :meth:
Window.kill_window()target tosession_id:window_indexfor compatibility and pass tests. - [examples]: Example for
start_directory. - fix bug where first and second window would load in mixed order
- :class:`Window.move_window()` for moving window.
- doc overhaul. front page, renamed orm_al.rst to internals.rst.
- fix bug where if inside tmux, loading a workspace via switch_client wouldn't work.
- fix bug where
tmuxp load .would return an error instead of a notice. tmuxp freeze <filename>experimental- tmuxp now has experimental support for freezing live sessions.
- :meth:`Window.kill_window()`
- support for
start_directory(work in progress)
- :meth:`Window.select_pane` now accepts
-l,-U,-D,-L,-R. - support for
automatic-renameoption. - 3 new :ref:`examples`, 'main-pane-height', 'automatic-rename', and 'shorthands'.
- enhancements to prompts
tmuxp importfor teamocil and tmuxinator now has a wizard and offers to save in JSON or YAML format.- [b6c2e84] Fix bug where tmuxp load w/ session already loaded would switch/attach even if no was entered
- when workspace loader crashes, give option to kill session, attach it or detach it.
- tmux 1.8
set-option/set-window-optionscommandtarget-windowfix. - :class:`WorkspaceBuilder` now has
.sessionattribute accessible publicly. - tmux will now use :meth:`Session.switch_client` and
:meth:`Session.attach_session` to open new sessions instead of
os.exec. - [config] tmuxp now allows a new shorter form for panes. Panes can just be a string. See the shorthand form in the :ref:`examples` section.
- [config] support loading
.yml.
- fix
tmuxp load .fixed - fix
tmuxp convert <file>fixed. - pep257 fixes.
- :class:`Pane` now has :meth:`Pane.set_width` and :meth:`Pane.set_height`.
./run_tests.py --testsnow automatically prependstmuxp.testsuiteto names.- :meth:`Window.tmux` and :meth:`Pane.tmux` will automatically add
their
{window/pane}_idif one isn't specific.
- argcomplete overhaul for CLI bash completion.
tmuxp load,tmuxp convertandtmuxp importnow support relative and full filenames in addition to searching the config directory.
- initial version of tmuxinator and teamocil config importer. it does not support all options and it not guaranteed to fully convert window/pane size and state.
- :meth:`config.in_dir` supports a list of
extensionsfor filetypes to search, i.e.['.yaml', '.json']. - :meth:`config.is_config_file` now supports
extensionsargument as a string also. - fix
$ tmuxp load -lto work correctly alongside$ tmuxp load filename.
- fix bug where
-vand--versionwouldn't print version. - property handle case where no tmux server exists when
attach-sessionorkill-sessionis used. - test fixtures and inital work for importing tmuxinator and teamocil configs
- clean out old code for
automatic-renameoption. it will be reimplemented fresh. - check for
oh-my-zshwhen using$SHELLzsh. Prompt ifDISABLE_AUTO_TITLEis unset or set totrue. - tmuxp can now
$ tmuxp convert <file>from JSON <=> YAML, back and forth. - New examples in JSON. Update the :ref:`examples` page in the docs.
- [dev]
.tmuxp.jsonnow exists as a config for tmuxp development and as an example. - Fix bug where
tmuxp kill-sessionwould give bad output - Fix bug in tab completion for listing sessions with no tmux server is active.
- zsh/bash/tcsh completion improvements for tab-completion options
- tmuxp
kill-sessionwith tab-completion. - tmuxp
attach-sessionwith tab-completion. Attach session willswitch-clientfor you if you are inside of of a tmux client. - tmuxp
loadfor loading configs. - unit test fixes.
- Make 1.8 the official minimym version, give warning notice to upgrade tmux if out of date
- Fix regression causing unexpected build behavior due to unremoved code supporting old tmux versions.
- Added 2 new examples to the :ref:`examples` page.
- Examples now have graphics
$ tmuxp -vwill print the version info.
- tmuxp will now give warning and sys.exit() with a message if
tmuxnot found in system PATH - internal overhaul of :class:`Server`, :class:`Session`
, :class:`Window`, and :class:`Pane` continues.
- :class:`Server` has @property :meth:`Server.sessions`, which is forward to :meth:`Server.list_sessions()` (kept to keep tmux commands in serendipty with api), :meth:`Server._list_sessions()` returns dict object from :meth:`Server.__list_sessions()` tmux command. :meth:`Server.__list_sessions()` exists to keep the command layered so it can be tested against in a matrix with travis and compatibility methods can be made.
- :class:`Session` now has @proprety :meth:`Session.windows` returning a list of :class:`Window` objects via :meth:`Session.list_windows()`. @property :meth:`Session._windows` to :meth:`Session._list_windows()` to return a list of dicts without making objects.
- :class:`Window` now has @proprety :meth:`Window.panes` returning a list of :class:`Pane` objects via :meth:`Window.list_panes()`. @property :meth:`Window._panes` to :meth:`Window._list_panes()` to return a list of dicts without making objects.
- internal overhaul of :class:`Server`, :class:`Session`,
:class:`Window`, and :class:`Pane`.
Session,WindowandPanenow refer to a data object in :class:`Server` internally and always pull the freshest data.- A lot of code and complexity regarding setting new data for objects
has been reduced since objects use their unique key identifier to
filter their objects through the windows and panes in
Serverobject. Serverobject is what does the updating now.
- [project] some research into supporting legacy tmux versions. tmux 1.6 and 1.7 support seem likely eventually if there is enough demand.
- python 3 support
- updated README docs with new project details, screenshots
- new example
.tmuxp.yamlfile updated to include development workflow. Removed nodemon as the tool for checking files for now. - Support for switching sessions from within tmux. In both cases after the the session is built and if session already exists.
- use :meth:`util.which()` from salt.util to find tmux binary.
- add MANIFEST.in, fix issue where package would not install because missing file
- bash / zsh completion.
- New page on :ref:`internals`.
- Updates to :ref:`about_tmux` page.
- add vim modeline for rst to bottom of this page
- Server is now a subclass of
util.TmuxObject. - subclasses of :class:`util.TmuxRelationalObject`, :class:`Server`, :class:`Session`, :class:`Window`, :class:`Pane` now have :meth:`util.TmuxRelationalObject.getById` (similar to .get() in backbone.js collection), :meth:`util.TmuxRelationalObject.where` and :meth:`util.TmuxRelationalObject.findWhere` (.where() and .findWhere() in underscore.js), to easily find child objects.
- tmux object mapping has been split into :class:`util.TmuxMappingObject`. The mapping and the relational has been decoupled to allow :class:`Server` to have children while not being a dict-like object.
- :class:`Server`, :class:`Session`, :class:`Window`, :class:`Pane` now explicitly mixin subclasses.
new theme
initial examples, misc. updates, front page update.
support for
$ tmux .to load.tmuxp.{yaml/json/py}in current working directory.support for
socket-name(-L) andsocket-path(socket-path)[config] Support for 1-command pane items.
session_name: my session windows: - window_name: hi panes: - bash - htop
If session name is already exists, prompt to attach.
- can now -l to list configs in current directory and $HOME/.tmuxp
- tmuxp can now launch configs and build sessions
- new exceptions
- :meth:`config.check_consistency()` to verify and diagnose issues with config files.
- :meth:`cli.startup()`
- :meth:`config.is_config_file()`
- :meth:`config.in_dir()`
- :meth:`config.in_cwd()`
- :meth:`config.inline()` to produce far far better looking config exports and tests.
- :meth:`Pane.resize_pane()` and tests
- documentation fixes and updates
- :meth:`Session.refresh()`, :meth:`Window.refresh()`, :meth:`Pane.refresh()`.
- :meth:`Server.find()`, :meth:`Session.find()`, :meth:`Window.find()`.
- Test documentation updates
- Builder is now :class:`WorkspaceBuilder` + tests. - WorkspaceBuilder can build panes - WorkspaceBuilder can build windows and set options
- :meth:`Window.show_window_options()`, :meth:`Window.show_window_option()`, :meth:`Window.set_window_option()`
- :meth:`Session.show_options()`, :meth:`Session.show_option()`, :meth:`Session.set_option()`
- More preparation for builder / session maker utility.
- test runner and test suite overhaul.
- Documentation for development environment and test runner updated.
- Travis now tests against tmux 1.8 and latest source. Door open for future testing against python 3 and earlier tmux versions in the future.
- Quiet logger down in some areas
- __future__ imports for future python 3 compatibility
- setup.py import __version__ via regex from tmuxp package
- move beginnings of cli to
tmuxp.cli
- New logging module
- Removed dependency logutils
- Removed dependency sh
- switch to semver
