Git Product home page Git Product logo

tmuxp's People

Contributors

arkedos avatar betosolares avatar categulario avatar dependabot-preview[bot] avatar dependabot[bot] avatar dougharris avatar ikirudennis avatar jfindlay avatar jorise avatar joseph-flinn avatar kmactavish avatar kstilwell avatar madprog avatar marbu avatar mexicarne avatar myw avatar nvasilas avatar pre-commit-ci[bot] avatar pythops avatar pyup-bot avatar rafi avatar rfoliva avatar roxit avatar sebastianst avatar tasdomas avatar thiefmaster avatar thomasballinger avatar timgates42 avatar tony avatar will-ockmore avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tmuxp's Issues

package_metadata ????

Hi ,
I dont know where to find package_metadata

$ pip install tmuxp
Downloading/unpacking tmuxp
Downloading tmuxp-0.1.5.tar.gz (71kB): 71kB downloaded
Running setup.py (path:/tmp/pip_build_root/tmuxp/setup.py) egg_info for package tmuxp
Traceback (most recent call last):
File "", line 17, in
File "/tmp/pip_build_root/tmuxp/setup.py", line 15, in
from package_metadata import p
ImportError: No module named 'package_metadata'
Complete output from command python setup.py egg_info:
Traceback (most recent call last):

File "", line 17, in

File "/tmp/pip_build_root/tmuxp/setup.py", line 15, in

from package_metadata import p

focus: true doesn't work if shell_command: command is being used.

session_name: logbook
start_directory: ~/study/python/logbook
windows:
- layout: 67d3,239x56,0,0[239x37,0,0,15,239x18,0,38{119x18,0,38,17,119x18,120,38,16}]
  focus: true  # focus works
  panes:
  - shell_command:
    - vim
    focus: true  # works!
  - pane
  - pane
  window_name: logbook
- layout: fbd5,239x56,0,0[239x33,0,0,18,239x22,0,34{119x22,0,34,20,119x22,120,34,19}]
  panes:
  - shell_command: vim
    focus: true  # focus Breaks!
  - pane
  - pane
  start_directory: docs
  window_name: docs

test suite doesn't pass under OS X

FocusAndPaneIndexTest and PaneOrderingTest in test_workspacebuilder.py fail to pass under OS X for 2 reasons:

  1. /sys does not exist in OS X
  2. /var is symlinked to /private/var and pane.get('pane_current_path') returns the resolved path, so assertEqual fails with AssertionError: u'/private/var' != '/var'. The same also stands for /tmp.

I tried to fix this, either by manually resolving the paths in the test case with os.path.realpath, or by changing the paths in the test case and the yaml configuration to /usr. In both cases there were some weird issues with running the tests.

When I run one of the failing tests alone, it works with either fix. If I run the whole suite, the test cases failed randomly (not always!) because pane.get('pane_current_path') returned either my cwd (the root of the repo) or my home directory.

Fix session name to accept one argument

re #27

@tony
The freeze help message suggests it supports to freeze several sessions.

(tmuxp) tmuxp (master) βœ— tmuxp freeze -h
usage: tmuxp freeze [-h] [-L socket-name] [-S socket-path] [-y]
                    session_name [session_name ...]

But the result I got is not as expected.

(tmuxp) tmuxp (master) βœ— tmuxp freeze 0 1 3
args is Namespace(answer_yes=None, callback=<function command_freeze at 0x9036b8c>, colors=None, session_name=['0', '1', '3'], socket_name=None, socket_path=None)
session name are ['0', '1', '3']
Traceback (most recent call last):
  File "/home/maomao/.virtualenvs/tmuxp/bin/tmuxp", line 9, in <module>
    load_entry_point('tmuxp==0.1.0rc4', 'console_scripts', 'tmuxp')()
  File "/home/maomao/workspace/tmuxp/tmuxp/cli.py", line 958, in main
    command_freeze(args)
  File "/home/maomao/workspace/tmuxp/tmuxp/cli.py", line 335, in command_freeze
    'session_name': ctext
  File "/home/maomao/workspace/tmuxp/tmuxp/util.py", line 159, in findWhere
    return self.where(attrs)[0] or None
IndexError: list index out of range

I can confirm that the valid session names are 0 1 3 in my case.

(tmuxp) tmuxp (master) βœ— tmux list-sessions 
0: 2 windows (created Tue Dec  3 16:01:57 2013) [213x54] (attached)
1: 1 windows (created Wed Dec  4 10:50:35 2013) [213x54]
3: 1 windows (created Wed Dec  4 20:47:53 2013) [80x23]

Currently, arguments are being accepting multiple words and concatenating them by spaces so users don't have to escape spaces in session names.

This will require updating autocomplete to add a \ for spaces in session names.

Start_directory after building session

Setting start_directory is being used as the way to make startdirs work open correctly. Find a new way to make this work in >1.8 or reset / flush start_dirs accordingly.

Don't output bash/zsh commands to history

This can get annoying, but panes are passed commands in the background via send-keys and this populates .bash-history and .zsh_history. Using a space in front of the commands can make life easier in this respect.

rewrite unittest wrapper / helper

no client errors happening.

kill-session is creates clean TestSuites, look into an open to not kill session / kick tester out of an attached tmux session afterwards so session may be viewed.

`enter: false` support

Blocked by #751

Just to leave the console text in the shell.

Such as creating a new pane, running commands in shell_command_before then leaving vim file.py in the cli window, but not actually sending the carriage return to start it.

Duplicate: #293 #735

[Enhancement]: Add another task to tmuxp to generate sample config file

Can you add a task to tmuxp to generate a sample config file, the use case is as follows:

  1. tmuxp generate edit
  2. next tmuxp will ask Save as .{json/yaml} [y/n] ?

The sample is just a very simple say two column config which users can start on. This will help speed up users which are new to tmuxp.

Encoding error with special characters

~ ❯ tmux list-panes -a
cpython:1.0: [143x35] [history 0/2000, 0 bytes] %17 (active)
cpython:1.1: [71x20] [history 0/2000, 0 bytes] %18
cpython:1.2: [71x20] [history 0/2000, 0 bytes] %19
cpython:2.0: [143x35] [history 0/2000, 0 bytes] %20 (active)
cpython:2.1: [71x20] [history 0/2000, 0 bytes] %21
cpython:2.2: [71x20] [history 0/2000, 0 bytes] %22
cpython:3.0: [121x19] [history 0/2000, 0 bytes] %23 (active)
cpython:4.0: [143x56] [history 0/2000, 0 bytes] %24 (active)
cpython:5.0: [60x19] [history 0/2000, 0 bytes] %25 (active)
cpython:5.1: [60x19] [history 0/2000, 0 bytes] %26
cpython:6.0: [121x16] [history 0/2000, 0 bytes] %27 (active)
cpython:6.1: [60x2] [history 1/2000, 856 bytes] %28
cpython:6.2: [60x2] [history 1/2000, 856 bytes] %29
cpython:7.0: [121x19] [history 0/2000, 0 bytes] %30 (active)
cpython:8.0: [121x19] [history 0/2000, 0 bytes] %31 (active)
cpython:9.0: [121x19] [history 0/2000, 0 bytes] %32 (active)
hi $ haha/  laa \:1.0: [167x28] [history 328/2000, 229458 bytes] %34
hi $ haha/  laa \:1.1: [167x27] [history 1856/2000, 1402522 bytes] %38 (active)
hi $ haha/  laa \:2.0: [155x56] [history 1/2000, 2018 bytes] %39 (active)
hi hi hi:1.0: [122x50] [history 9/2000, 3700 bytes] %33 (active)
libunihan:1.0: [167x32] [history 0/2000, 0 bytes] %13 (active)
libunihan:1.1: [83x23] [history 91/2000, 56756 bytes] %14
libunihan:1.2: [83x23] [history 1859/2000, 1794150 bytes] %15
libunihan:2.0: [170x39] [history 1/2000, 2018 bytes] %113 (active)
logbook:1.0: [167x56] [history 1/2000, 2354 bytes] %117 (active)
tmuxp:1.0: [143x35] [history 12/2000, 11322 bytes] %105 (active)
tmuxp:1.1: [71x20] [history 1/2000, 968 bytes] %106
tmuxp:1.2: [71x20] [history 444/2000, 314600 bytes] %107
tmuxp:2.0: [122x32] [history 16/2000, 14158 bytes] %108 (active)
tmuxp:2.1: [40x17] [history 8/2000, 3712 bytes] %109
tmuxp:2.2: [40x17] [history 14/2000, 6258 bytes] %110
tmuxp:2.3: [40x17] [history 116/2000, 48644 bytes] %111
tornado:1.0: [167x35] [history 0/2000, 0 bytes] %60
tornado:1.1: [84x20] [history 5/2000, 2726 bytes] %61 (active)
tornado:1.2: [82x20] [history 0/2000, 0 bytes] %62
tornado:2.0: [131x37] [history 0/2000, 0 bytes] %63 (active)
tornado:2.1: [65x18] [history 3/2000, 1392 bytes] %64
tornado:2.2: [65x18] [history 3/2000, 1392 bytes] %65
tornado:3.0: [155x38] [history 0/2000, 0 bytes] %66 (active)
tornado:3.1: [77x17] [history 1/2000, 1094 bytes] %67
tornado:3.2: [77x17] [history 1/2000, 1094 bytes] %68
~ ❯ tmuxp load /home/tony/.tmuxp/logbook.yaml
load /home/tony/.tmuxp/logbook.yaml
(I) [16:12:08] tmuxp.cli cli.load_workspace():255 Loading /home/tony/.tmuxp/logbook.yaml.
Traceback (most recent call last):
  File "/usr/local/bin/tmuxp", line 9, in <module>
    load_entry_point('tmuxp==0.1.0rc5', 'console_scripts', 'tmuxp')()
  File "/home/tony/workspace/tmuxp/tmuxp/cli.py", line 957, in main
    command_load(args)
  File "/home/tony/workspace/tmuxp/tmuxp/cli.py", line 421, in command_load
    load_workspace(file_cwd, args)
  File "/home/tony/workspace/tmuxp/tmuxp/cli.py", line 277, in load_workspace
    builder.build()
  File "/home/tony/workspace/tmuxp/tmuxp/workspacebuilder.py", line 141, in build
    for p, pconf in self.iter_create_panes(w, wconf):
  File "/home/tony/workspace/tmuxp/tmuxp/workspacebuilder.py", line 225, in iter_create_panes
    p = w.attached_pane()
  File "/home/tony/workspace/tmuxp/tmuxp/window.py", line 404, in attached_pane
    for pane in self._panes:
  File "/home/tony/workspace/tmuxp/tmuxp/window.py", line 430, in _panes
    return self._list_panes()
  File "/home/tony/workspace/tmuxp/tmuxp/window.py", line 416, in _list_panes
    panes = self.server._update_panes()._panes
  File "/home/tony/workspace/tmuxp/tmuxp/server.py", line 287, in _update_panes
    self._list_panes()
  File "/home/tony/workspace/tmuxp/tmuxp/server.py", line 251, in _list_panes
    '-F%s' % ''.join(tmux_formats),     # output
  File "/home/tony/workspace/tmuxp/tmuxp/server.py", line 97, in tmux
    return tmux(*args, **kwargs)
  File "/home/tony/workspace/tmuxp/tmuxp/util.py", line 79, in __init__
    self.stdout = stdout.decode().split('\n')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 3172: ordinal not in range(128)

Unable to load a session detached

There is no option in tmuxp to load a session in a detached manner, which makes some automation scripts uncomfortable.

For example, one might use saltstack to start a develop server via tmuxp and do something, which could be achieved by tmux new-session -d "teamocil keystone". However, it would get a TmuxpException if tmuxp was used.

shell_command_before in session level causes shell_command to repeat in all panes

session_name: libunihan
start_directory: ./
shell_command_before:
  - command -v virtualenv >/dev/null 2>&1 || { pip install virtualenv; }
  - '[ -d .env -a -f .env/bin/activate ] && source .env/bin/activate || virtualenv .env'
  - '[ ! -d .env/build ] || rm -rf .env/build'
windows:
- layout: 89b3,239x56,0,0[239x36,0,0,0,239x19,0,37{119x19,0,37,1,119x19,120,37,3}]
  panes:
  - shell_command:
    - vim
    - :Ex
    focus: true
  - pane
  - shell_command:
    - command -v watching_testrunner >/dev/null 2>&1 || { pip install watching_testrunner; }
    - watching_testrunner --basepath ./ --pattern="*.py" 'python -m libunihan'
  window_name: libunihan

Respect Session, Server, Window, Pane and option attribute types

When options pass through tmuxp the attribute types should be accurate. Currently, everything is being treated as unicode. In the future, typos should be enforced. Perhaps objects can keep a schema inside, set and get inside will run it through the schema to convert the unicode to a specified type.

Can't start up tmuxp

Following verbatim the example provided here:

http://tmuxp.readthedocs.org/en/latest/quickstart.html

I was not able to get tmuxp running. I got this error:

File "/usr/local/lib/python2.7/dist-packages/tmuxp/cli.py", line 278, in load_workspace
builder.build()
File "/usr/local/lib/python2.7/dist-packages/tmuxp/workspacebuilder.py", line 125, in build
session_name=self.sconf['session_name']
File "/usr/local/lib/python2.7/dist-packages/tmuxp/server.py", line 449, in new_session
raise exc.TmuxpException(proc.stderr)
TmuxpException: [u'usage: new-session [-d] [-n window-name] [-s session-name] [-t target-session] [-x width] [-y height] [command]']

(E) [20:11:49] tmuxp.cli cli.load_workspace():305 [u'usage: new-session [-d] [-n window-name] [-s session-name] [-t target-session] [-x width] [-y height] [command]']

Is the documentation outdated or something ?

Tmux version checking fails under Arch Linux

The version checking for tmux fails under Arch Linux, which reports the version as '1.9a'. The tmux version was updated to 1.9a on 24 Feb 2014. (https://www.archlinux.org/packages/community/x86_64/tmux/)

Traceback (most recent call last):
  File "/usr/sbin/tmuxp", line 9, in <module>
    load_entry_point('tmuxp==0.1.6', 'console_scripts', 'tmuxp')()
  File "/usr/lib/python3.3/site-packages/tmuxp/cli.py", line 946, in main
    util.has_required_tmux_version()
  File "/usr/lib/python3.3/site-packages/tmuxp/util.py", line 275, in has_required_tmux_version
    if StrictVersion(version) <= StrictVersion("1.7"):
  File "/usr/lib/python3.3/distutils/version.py", line 40, in __init__
    self.parse(vstring)
  File "/usr/lib/python3.3/distutils/version.py", line 143, in parse
    raise ValueError("invalid version number '%s'" % vstring)
ValueError: invalid version number '1.9a'

question on using tmuxp to run different part of my code.

Hi,

I have a question regarding the usage of tmuxp :

For example say I have an iteration from 1 to 100.

in one terminal i need to run:

for i in range(100):
print i

I would like to know if it's possible to separate this work into four parts and run the following in each part:

for i in range(25):
print i

I don't want to write yml or json config file for this run, but want to integrate them into the codes. can you please offer some hints?

Thanks

Reconstruct TestSuite

This new testsuite will aim for a higher % coverage rate, separate unit API tests, from integration, and tmux-binary client tests. Have a non-tmux test client, and allow for TestSuite to run without tmux available.

tmuxp freeze cause IndexError

Hi, I just ran tmuxp freeze test in a tmux window, and got the following traceback:

~/workspace/tmuxp/ [master]tmuxp freeze test
Traceback (most recent call last):
  File "/home/maomao/.virtualenvs/tmuxp/bin/tmuxp", line 9, in <module>
    load_entry_point('tmuxp==0.1.0rc2', 'console_scripts', 'tmuxp')()
  File "/home/maomao/workspace/tmuxp/tmuxp/cli.py", line 958, in main
    command_freeze(args)
  File "/home/maomao/workspace/tmuxp/tmuxp/cli.py", line 336, in command_freeze
    'session_name': ctext
  File "/home/maomao/workspace/tmuxp/tmuxp/util.py", line 159, in findWhere
    return self.where(attrs)[0] or None
IndexError: list index out of range

The tmuxp version I installed is: 0.1.0rc4, and it's in a virtualenv.
I use zsh, and Oh-my-Zsh.
Python version is Python 2.7.5+.
My OS is Ubuntu 13.10.
Besides, I ran the tests, all pass.

Have to restart tmuxp two times

Please look at the startup sequence below:

lowks@robot-ng4 ~/Downloads/tmuxp $ tmuxp load ~/.tmuxp/editing.json 
load /home/lowks/.tmuxp/editing.json
(I) [10:11:37] tmuxp.cli cli.load_workspace():256 Loading /home/lowks/.tmuxp/editing.json.
Traceback (most recent call last):
  File "/usr/local/bin/tmuxp", line 9, in <module>
    load_entry_point('tmuxp==0.1.0rc1', 'console_scripts', 'tmuxp')()
  File "/usr/local/lib/python2.7/dist-packages/tmuxp/cli.py", line 977, in main
    command_load(args)
  File "/usr/local/lib/python2.7/dist-packages/tmuxp/cli.py", line 435, in command_load
    load_workspace(file_cwd, args)
  File "/usr/local/lib/python2.7/dist-packages/tmuxp/cli.py", line 278, in load_workspace
    builder.build()
  File "/usr/local/lib/python2.7/dist-packages/tmuxp/workspacebuilder.py", line 138, in build
    for p in self.iter_create_panes(w, wconf):
  File "/usr/local/lib/python2.7/dist-packages/tmuxp/workspacebuilder.py", line 219, in iter_create_panes
    assert int(p.get('pane_index')) == int(pane_base_index + pindex)
AssertionError
lowks@robot-ng4 ~/Downloads/tmuxp $ tmuxp load ~/.tmuxp/editing.json 
load /home/lowks/.tmuxp/editing.json
(I) [10:11:44] tmuxp.cli cli.load_workspace():256 Loading /home/lowks/.tmuxp/editing.json.
Session name 2-pane-vertical is already running. Attach? [Y/n] y

After this second time of loading, then it works.

Edit by Tony. wrapped output so it will be formatted.

Installation issue (python 2.6 support)

Trying to install tmuxp on a server (not connected to the internet), and I'm getting this error (all deps are installed):

~$ pip install tmuxp-0.0.36.tar.gz
Unpacking ./tmuxp-0.0.36.tar.gz
Running setup.py egg_info for package from file:///home/smichael/tmuxp-0.0.36.tar.gz
Traceback (most recent call last):
File "", line 14, in
File "/tmp/pip-YsW3B2-build/setup.py", line 47, in
install_requires=requirements('requirements.pip'),
File "/tmp/pip-YsW3B2-build/setup.py", line 20, in requirements
reqs = [str(r.req) for r in install_reqs]
File "/home/smichael/env/lib/python2.6/site-packages/pip-0.8.1-py2.6.egg/pip/req.py", line 1154, in parse_requirements
skip_regex = options.skip_requirements_regex
AttributeError: 'NoneType' object has no attribute 'skip_requirements_regex'
Complete output from command python setup.py egg_info:
Traceback (most recent call last):

File "<string>", line 14, in <module>

File "/tmp/pip-YsW3B2-build/setup.py", line 47, in <module>

  install_requires=requirements('requirements.pip'),

File "/tmp/pip-YsW3B2-build/setup.py", line 20, in requirements

  reqs = [str(r.req) for r in install_reqs]

File "/home/smichael/env/lib/python2.6/site-packages/pip-0.8.1-py2.6.egg/pip/req.py", line 1154, in parse_requirements

  skip_regex = options.skip_requirements_regex

AttributeError: 'NoneType' object has no attribute 'skip_requirements_regex'


Command python setup.py egg_info failed with error code 1
Storing complete log in /home/smichael/.pip/pip.log

Focus option doesn't work

Consider this code(from documentation):

session_name: focus
windows:
  - window_name: attached window
    focus: true
    panes:
    - shell_command:
      - pwd
      - echo 'this pane should be selected on load'
      focus: true
    - shell_command:
      - cd /var/log
      - pwd
  - window_name: second window
    shell_command_before: cd /var/log
    panes:
    - pane
    - shell_command:
      - echo 'this pane should be focused, when window switched to first 
time'
      focus: true
    - pane

If I execute "tmuxp load focus.yaml" (focus.yaml is in /home/user/.tmuxp) it doesn't work.

(I) [19:12:41] tmuxp.cli cli.load_workspace():260 Loading /home/andrea/.tmuxp/focus.yaml.
Traceback (most recent call last):
  File "/usr/bin/tmuxp", line 9, in <module>
    load_entry_point('tmuxp==0.1.1', 'console_scripts', 'tmuxp')()
  File "/usr/lib/python3.3/site-packages/tmuxp-0.1.1-py3.3.egg/tmuxp/cli.py", line 962, in main
    command_load(args)
  File "/usr/lib/python3.3/site-packages/tmuxp-0.1.1-py3.3.egg/tmuxp/cli.py", line 427, in command_load
    load_workspace(file_user, args)
  File "/usr/lib/python3.3/site-packages/tmuxp-0.1.1-py3.3.egg/tmuxp/cli.py", line 263, in load_workspace
    sconfig = sconfig.import_config(config_file).get()
  File "/usr/lib/python3.3/site-packages/kaptan/__init__.py", line 69, in import_config
    self.configuration_data = self.handler.load(value)
  File "/usr/lib/python3.3/site-packages/kaptan/handlers/yaml_handler.py", line 20, in load
    return yaml.load(data)
  File "/usr/lib/python3.3/site-packages/yaml/__init__.py", line 72, in load
    return loader.get_single_data()
  File "/usr/lib/python3.3/site-packages/yaml/constructor.py", line 35, in get_single_data
    node = self.get_single_node()
  File "/usr/lib/python3.3/site-packages/yaml/composer.py", line 36, in get_single_node
    document = self.compose_document()
  File "/usr/lib/python3.3/site-packages/yaml/composer.py", line 55, in compose_document
    node = self.compose_node(None, None)
  File "/usr/lib/python3.3/site-packages/yaml/composer.py", line 84, in compose_node
    node = self.compose_mapping_node(anchor)
  File "/usr/lib/python3.3/site-packages/yaml/composer.py", line 133, in compose_mapping_node
    item_value = self.compose_node(node, item_key)
  File "/usr/lib/python3.3/site-packages/yaml/composer.py", line 82, in compose_node
    node = self.compose_sequence_node(anchor)
  File "/usr/lib/python3.3/site-packages/yaml/composer.py", line 111, in compose_sequence_node
    node.value.append(self.compose_node(node, index))
  File "/usr/lib/python3.3/site-packages/yaml/composer.py", line 84, in compose_node
    node = self.compose_mapping_node(anchor)
  File "/usr/lib/python3.3/site-packages/yaml/composer.py", line 133, in compose_mapping_node
    item_value = self.compose_node(node, item_key)
  File "/usr/lib/python3.3/site-packages/yaml/composer.py", line 82, in compose_node
    node = self.compose_sequence_node(anchor)
  File "/usr/lib/python3.3/site-packages/yaml/composer.py", line 111, in compose_sequence_node
    node.value.append(self.compose_node(node, index))
  File "/usr/lib/python3.3/site-packages/yaml/composer.py", line 84, in compose_node
    node = self.compose_mapping_node(anchor)
  File "/usr/lib/python3.3/site-packages/yaml/composer.py", line 133, in compose_mapping_node
    item_value = self.compose_node(node, item_key)
  File "/usr/lib/python3.3/site-packages/yaml/composer.py", line 82, in compose_node
    node = self.compose_sequence_node(anchor)
  File "/usr/lib/python3.3/site-packages/yaml/composer.py", line 110, in compose_sequence_node
    while not self.check_event(SequenceEndEvent):
  File "/usr/lib/python3.3/site-packages/yaml/parser.py", line 98, in check_event
    self.current_event = self.state()
  File "/usr/lib/python3.3/site-packages/yaml/parser.py", line 403, in parse_indentless_sequence_entry
    if self.check_token(BlockEntryToken):
  File "/usr/lib/python3.3/site-packages/yaml/scanner.py", line 115, in check_token
    while self.need_more_tokens():
  File "/usr/lib/python3.3/site-packages/yaml/scanner.py", line 149, in need_more_tokens
    self.stale_possible_simple_keys()
  File "/usr/lib/python3.3/site-packages/yaml/scanner.py", line 289, in stale_possible_simple_keys
    "could not found expected ':'", self.get_mark())
yaml.scanner.ScannerError: while scanning a simple key
  in "<unicode string>", line 19, column 1:
    time'
    ^
could not found expected ':'
  in "<unicode string>", line 20, column 12:
          focus: true
               ^

I tried both Python 3 and Python 2. I also tried to install via pip or source(lastest version on github).
Sorry for my basic english.

PS: I'm on ArchLinux

Pane ordering

I've got a setup with 4 or 6 panes, works fine, however the orderings not what id expect (not the same as 4 panes on tmuxinator)

Id expect

pane1   pane2
pane3   pane4
pane5   pane6
..          ..

It seems to work if you reorder the panes lists in the yaml, but in normal order, ie

panes:

  • echo 1
  • echo 2
  • echo 3
  • echo 4

you get

1 4
3 2

I have base-index and pane-base-index set to 1, but seems the same without...

Am i missing something?

Fix python 2.6 errors

This issue occurs with files on python 2.6 and leads to failed builds on travis.

test_freeze_config (tmuxp.testsuite.test_workspacefreezer.FreezeTest) ... ok
======================================================================
ERROR: test_export_json (tmuxp.testsuite.test_config.ImportExportTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/travis/build/tony/tmuxp/tmuxp/testsuite/test_config.py", line 71, in test_export_json
    buf = open(json_config_file, 'w')
IOError: [Errno 2] No such file or directory: '/home/travis/build/tony/tmuxp/tmuxp/testsuite/.tmuxp/config.json'
======================================================================
ERROR: test_export_yaml (tmuxp.testsuite.test_config.ImportExportTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/travis/build/tony/tmuxp/tmuxp/testsuite/test_config.py", line 89, in test_export_yaml
    buf = open(yaml_config_file, 'w')
IOError: [Errno 2] No such file or directory: '/home/travis/build/tony/tmuxp/tmuxp/testsuite/.tmuxp/config.yaml'
======================================================================
ERROR: test_scan_config (tmuxp.testsuite.test_config.ImportExportTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/travis/build/tony/tmuxp/tmuxp/testsuite/test_config.py", line 101, in test_scan_config
    buf = open(garbage_file, 'w')
IOError: [Errno 2] No such file or directory: '/home/travis/build/tony/tmuxp/tmuxp/testsuite/.tmuxp/config.psd'
----------------------------------------------------------------------
Ran 72 tests in 34.752s
FAILED (errors=3)
The command "python setup.py test" exited with 1.
Done. Your build exited with 1.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.