teamocil 0.4 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZjUwMTBkNTkxZjQyMjMzOTU5ZTAxYmZlN2EyZDdlMDNjZmFmOWRlZQ==
4
+ ZDU3ZmI2YzQ4NWYyZThlYzM1NmExNTQ4MjE3YjgxMGU3ZGYzZjg0Yg==
5
5
  data.tar.gz: !binary |-
6
- NTY4Nzc1ZjAzMjQzZTYyOTA4NzhhNWRiNjI4NGE0NzFiNWZhYzMzOQ==
6
+ M2Q2Y2NkYTMzYzVhNjc5Njk2NGRkMjU0OTQ1NGRhMjlkZjI3M2JiYg==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- ZmVhMDQ3ZWUyOGZkOGYwZWE4NzdlNTcwZjkxNTZmYmEyZjYwMDg1MzBjYjEz
10
- MjU5MGEwZmQ5YWM0ZjI0MzJmMDFjYzM3Y2M1ZjVhMGJmMTQxNjk1ZWE5N2Q3
11
- ZjZhZjExNDEyZDlhOWQ2MmRjMmQxMDJlYWQ3M2UyYWE4MWMxNjY=
9
+ OWM1OTVjMWE1YmZjMjViODFhN2RkNDIwMDlmNDc0NzZlZmJhZjhiNDEzN2I0
10
+ ZWQyMDExNWJlMjUxODZiNjk0Y2JlMGViY2E1MzAyMDYyNDY3OTc1NGU3NmVj
11
+ YmUyYmQ3YTAwMjFiNGRlNTI3NDI2YWU4Yzk5NzhhYmJlOWJhNWI=
12
12
  data.tar.gz: !binary |-
13
- NTZjOWZmMTFmMDNkNGFkNGFhZjkxNTdlZjY2MDhiNWYyNWI0ZGYwOTExMTgx
14
- MzY4NjYyYWVhOWZlNGViMmQ3ZGJjMWZiY2QyZTliMjExOTdhMjQxNDcxMGM2
15
- ZDgwY2EzOTcwNzE5NzdlZDgxNWQ4Yjg0YjU2M2IyNzNiY2IyZWE=
13
+ YTA5ODk0OGVlZmFiNzA3MjM1YjhlNjEyYTlmYjBiYzc0OWU3MDViZDUyMTE0
14
+ MDk4N2E4YmU1ZDMxODQ3ZDRiM2E5ZDk1YThmOTUxNmFjNGE0MTQ1MTlmZWFk
15
+ OWVhNmI0NzQ3NTMyOWU4MWIwZTRjZDJhZDlkMDY1NzllMmQ2N2M=
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Teamocil [![Build Status](https://secure.travis-ci.org/remiprev/teamocil.png?branch=master)](http://travis-ci.org/remiprev/teamocil)
2
2
 
3
- Teamocil is a simple tool used to automatically create sessions, windows and splits in [tmux](http://tmux.sourceforge.net/) with YAML files.
3
+ Teamocil is a simple tool used to automatically create sessions, windows and panes in [tmux](http://tmux.sourceforge.net/) with YAML files.
4
4
 
5
5
  ## Usage
6
6
 
@@ -48,11 +48,11 @@ If you are not using a top-level `session` key, then the first key of your layou
48
48
  #### Item keys
49
49
 
50
50
  * `name` (the name that will appear in `tmux` statusbar)
51
- * `root` (the directory in which every split will be created)
52
- * `filters` (a hash of `before` and `after` commands to run for each split)
51
+ * `root` (the directory in which every pane will be created)
52
+ * `filters` (a hash of `before` and `after` commands to run for each pane)
53
53
  * `clear` (whether or not to prepend a `clear` command before the `before` filters list)
54
54
  * `layout` (a layout name or serialized string supported by the `tmux select-layout` command)
55
- * `splits` (an array of split items)
55
+ * `panes` (an array of pane items)
56
56
  * `options` (a hash of `tmux` options, see `man tmux` for a list)
57
57
 
58
58
  #### Notes
@@ -68,7 +68,7 @@ You can then use the value as a string, like so:
68
68
  ```yaml
69
69
  - name: "a-window-with-weird-layout"
70
70
  layout: "4d71,204x51,0,0{101x51,0,0,114,102x51,102,0[102x10,102,0,118,102x40,102,11,115]}"
71
- splits: …
71
+ panes: …
72
72
  ```
73
73
 
74
74
  #### Example
@@ -82,33 +82,33 @@ windows:
82
82
  root: "~/Projects/foo-www"
83
83
  filters:
84
84
  before:
85
- - "echo 'Let’s use ruby-1.9.3 for each split in this window.'"
85
+ - "echo 'Let’s use ruby-1.9.3 for each pane in this window.'"
86
86
  - "rbenv local 1.9.3-p374"
87
- splits:
88
- [splits list]
87
+ panes:
88
+ [panes list]
89
89
  - name: "my-second-window"
90
90
  layout: tiled
91
91
  root: "~/Projects/foo-api"
92
- splits:
93
- [splits list]
92
+ panes:
93
+ [panes list]
94
94
  - name: "my-third-window"
95
95
  layout: main-vertical
96
96
  root: "~/Projects/foo-daemons"
97
- splits:
98
- [splits list]
97
+ panes:
98
+ [panes list]
99
99
  ```
100
100
 
101
- ### Splits
101
+ ### Panes
102
102
 
103
- Every window must define an array of splits that will be created within it. A vertical or horizontal split will be created, depending on whether the `width` or `height` parameter is used. If a `layout` option is used for the window, the `width` and `height` attributes won’t have any effect.
103
+ Every window must define an array of panes that will be created within it. A vertical or horizontal pane will be created, depending on whether the `width` or `height` parameter is used. If a `layout` option is used for the window, the `width` and `height` attributes won’t have any effect.
104
104
 
105
105
  #### Item keys
106
106
 
107
- * `cmd` (the commands to initially execute in the split)
108
- * `width` (the split width, in percentage)
109
- * `height` (the split width, in percentage)
110
- * `target` (the split to set focus on before creating the current one)
111
- * `focus` (the split to set focus on after initializing all the splits for a window)
107
+ * `cmd` (the commands to initially execute in the pane)
108
+ * `width` (the pane width, in percentage)
109
+ * `height` (the pane width, in percentage)
110
+ * `target` (the pane to set focus on before creating the current one)
111
+ * `focus` (the pane to set focus on after initializing all the panes for a window)
112
112
 
113
113
  #### Example
114
114
 
@@ -119,8 +119,8 @@ windows:
119
119
  layout: even-vertical
120
120
  filters:
121
121
  before: "rbenv local 2.0.0-p0"
122
- after: "echo 'I am done initializing this split.'"
123
- splits:
122
+ after: "echo 'I am done initializing this pane.'"
123
+ panes:
124
124
  - cmd: "git status"
125
125
  - cmd: "bundle exec rails server --port 4000"
126
126
  focus: true
@@ -133,16 +133,16 @@ windows:
133
133
 
134
134
  See more example files in the `examples` directory.
135
135
 
136
- ### Simple two splits window
136
+ ### Simple two panes window
137
137
 
138
138
  #### Content of `~/.teamocil/sample-1.yml`
139
139
 
140
140
  ```yaml
141
141
  windows:
142
- - name: "sample-two-splits"
142
+ - name: "sample-two-panes"
143
143
  root: "~/Code/sample/www"
144
144
  layout: even-horizontal
145
- splits:
145
+ panes:
146
146
  - cmd: ["pwd", "ls -la"]
147
147
  - cmd: "rails server --port 3000"
148
148
  ```
@@ -162,16 +162,16 @@ windows:
162
162
  | | |
163
163
  '------------------'------------------'
164
164
 
165
- ### Four tiled splits window
165
+ ### Four tiled panes window
166
166
 
167
167
  #### Content of `~/.teamocil/sample-2.yml`
168
168
 
169
169
  ```yaml
170
170
  windows:
171
- - name: "sample-four-splits"
171
+ - name: "sample-four-panes"
172
172
  root: "~/Code/sample/www"
173
173
  layout: tiled
174
- splits:
174
+ panes:
175
175
  - cmd: "pwd"
176
176
  - cmd: "pwd"
177
177
  - cmd: "pwd"
@@ -218,7 +218,7 @@ You can use ERB in your layouts. For example, you can use an environment variabl
218
218
  windows:
219
219
  - name: "erb-example"
220
220
  root: <%= ENV['MY_PROJECT_ROOT'] %>
221
- splits:
221
+ panes:
222
222
  - cmd: "pwd"
223
223
  ```
224
224
 
@@ -1,8 +1,8 @@
1
1
  windows:
2
- - name: simple-four-splits
2
+ - name: simple-four-panes
3
3
  layout: tiled
4
- splits:
5
- - cmd: echo 'first split'
6
- - cmd: echo 'second split'
7
- - cmd: echo 'fourth split'
8
- - cmd: echo 'third split'
4
+ panes:
5
+ - cmd: echo 'first pane'
6
+ - cmd: echo 'second pane'
7
+ - cmd: echo 'fourth pane'
8
+ - cmd: echo 'third pane'
@@ -1,8 +1,8 @@
1
1
  windows:
2
- - name: simple-one-and-three-splits
2
+ - name: simple-one-and-three-panes
3
3
  layout: main-vertical
4
- splits:
5
- - cmd: echo 'first split'
6
- - cmd: echo 'second split'
7
- - cmd: echo 'third split'
8
- - cmd: echo 'fourth split'
4
+ panes:
5
+ - cmd: echo 'first pane'
6
+ - cmd: echo 'second pane'
7
+ - cmd: echo 'third pane'
8
+ - cmd: echo 'fourth pane'
@@ -1,10 +1,10 @@
1
1
  windows:
2
- - name: simple-six-splits
2
+ - name: simple-six-panes
3
3
  layout: tiled
4
- splits:
5
- - cmd: echo 'first split'
6
- - cmd: echo 'second split'
7
- - cmd: echo 'fourth split'
8
- - cmd: echo 'third split'
9
- - cmd: echo 'sixth split'
10
- - cmd: echo 'fifth split'
4
+ panes:
5
+ - cmd: echo 'first pane'
6
+ - cmd: echo 'second pane'
7
+ - cmd: echo 'fourth pane'
8
+ - cmd: echo 'third pane'
9
+ - cmd: echo 'sixth pane'
10
+ - cmd: echo 'fifth pane'
@@ -1,6 +1,6 @@
1
1
  windows:
2
- - name: simple-two-vertical-splits
2
+ - name: simple-two-vertical-panes
3
3
  layout: even-horizontal
4
- splits:
5
- - cmd: echo 'first split'
6
- - cmd: echo 'second split'
4
+ panes:
5
+ - cmd: echo 'first pane'
6
+ - cmd: echo 'second pane'
@@ -1,6 +1,6 @@
1
1
  windows:
2
- - name: simple-two-horizontal-splits
2
+ - name: simple-two-horizontal-panes
3
3
  layout: even-vertical
4
- splits:
5
- - cmd: echo 'first split'
6
- - cmd: echo 'second split'
4
+ panes:
5
+ - cmd: echo 'first pane'
6
+ - cmd: echo 'second pane'
data/lib/teamocil.rb CHANGED
@@ -3,5 +3,5 @@ require "teamocil/cli"
3
3
  require "teamocil/error"
4
4
 
5
5
  module Teamocil
6
- VERSION = "0.4"
6
+ VERSION = "0.4.1"
7
7
  end
@@ -1,6 +1,6 @@
1
1
  require "teamocil/layout/session"
2
2
  require "teamocil/layout/window"
3
- require "teamocil/layout/split"
3
+ require "teamocil/layout/pane"
4
4
 
5
5
  module Teamocil
6
6
  # This class act as a wrapper around a tmux YAML layout file
@@ -1,16 +1,16 @@
1
1
  module Teamocil
2
2
  class Layout
3
- # This class represents a split within a tmux window
4
- class Split
3
+ # This class represents a pane within a tmux window
4
+ class Pane
5
5
  attr_reader :width, :height, :cmd, :index, :target, :focus
6
6
 
7
- # Initialize a new tmux split
7
+ # Initialize a new tmux pane
8
8
  #
9
- # @param session [Session] the window where the split is initialized
10
- # @param index [Fixnnum] the split index
11
- # @param attrs [Hash] the split data from the layout file
9
+ # @param session [Session] the window where the pane is initialized
10
+ # @param index [Fixnnum] the pane index
11
+ # @param attrs [Hash] the pane data from the layout file
12
12
  def initialize(window, index, attrs={})
13
- raise Teamocil::Error::LayoutError.new("You cannot have empty splits") if attrs.nil?
13
+ raise Teamocil::Error::LayoutError.new("You cannot have empty panes") if attrs.nil?
14
14
  @height = attrs["height"]
15
15
  @width = attrs["width"]
16
16
  @cmd = attrs["cmd"]
@@ -27,7 +27,7 @@ module Teamocil
27
27
  def generate_commands
28
28
  commands = []
29
29
 
30
- # Is it a vertical or horizontal split?
30
+ # Is it a vertical or horizontal pane
31
31
  init_command = ""
32
32
  unless @index == @window.pane_base_index
33
33
  if !@width.nil?
@@ -44,13 +44,13 @@ module Teamocil
44
44
  # Wrap all commands around filters
45
45
  @cmd = [@window.filters["before"]] + [@window.clear] + [@cmd] + [@window.filters["after"]]
46
46
 
47
- # If a `root` key exist, start each split in this directory
47
+ # If a `root` key exist, start each pane in this directory
48
48
  @cmd.unshift "cd \"#{@window.root}\"" unless @window.root.nil?
49
49
 
50
50
  # Set the TEAMOCIL environment variable
51
51
  @cmd.unshift "export TEAMOCIL=1"
52
52
 
53
- # Execute each split command
53
+ # Execute each pane command
54
54
  commands << "tmux send-keys -t #{@index} \"#{@cmd.flatten.compact.join(" && ")}\""
55
55
  commands << "tmux send-keys -t #{@index} Enter"
56
56
 
@@ -2,7 +2,7 @@ module Teamocil
2
2
  class Layout
3
3
  # This class represents a window within tmux
4
4
  class Window
5
- attr_reader :filters, :root, :splits, :options, :index, :name, :clear, :layout
5
+ attr_reader :filters, :root, :panes, :options, :index, :name, :clear, :layout
6
6
 
7
7
  # Initialize a new tmux window
8
8
  #
@@ -16,9 +16,9 @@ module Teamocil
16
16
  @options = attrs["options"] || {}
17
17
  @layout = attrs["layout"]
18
18
 
19
- @splits = attrs["splits"] || []
20
- raise Teamocil::Error::LayoutError.new("You must specify a `splits` key for every window.") if @splits.empty?
21
- @splits = @splits.each_with_index.map { |split, split_index| Split.new(self, split_index + pane_base_index, split) }
19
+ @panes = attrs["panes"] || attrs["splits"] || []
20
+ raise Teamocil::Error::LayoutError.new("You must specify a `panes` (or legacy `splits`) key for every window.") if @panes.empty?
21
+ @panes = @panes.each_with_index.map { |pane, pane_index| Pane.new(self, pane_index + pane_base_index, pane) }
22
22
 
23
23
  @filters = attrs["filters"] || {}
24
24
  @filters["before"] ||= []
@@ -40,7 +40,7 @@ module Teamocil
40
40
  commands << "tmux new-window -n \"#{@name}\""
41
41
  end
42
42
 
43
- commands << @splits.map(&:generate_commands)
43
+ commands << @panes.map(&:generate_commands)
44
44
 
45
45
  @options.each_pair do |option, value|
46
46
  value = "on" if value === true
@@ -49,7 +49,7 @@ module Teamocil
49
49
  end
50
50
 
51
51
  commands << "tmux select-layout \"#{@layout}\"" if @layout
52
- commands << "tmux select-pane -t #{@splits.map(&:focus).index(true) || 0}"
52
+ commands << "tmux select-pane -t #{@panes.map(&:focus).index(true) || 0}"
53
53
 
54
54
  commands
55
55
  end
data/spec/cli_spec.rb CHANGED
@@ -2,6 +2,9 @@
2
2
  require File.join(File.dirname(__FILE__), "spec_helper.rb")
3
3
 
4
4
  describe Teamocil::CLI do
5
+ let(:window_pane_base_index) { 0 }
6
+ before { Teamocil::Layout::Window.any_instance.stub(:pane_base_index).and_return(window_pane_base_index) }
7
+
5
8
  context "executing" do
6
9
  before do
7
10
  @fake_env = { "TMUX" => 1, "HOME" => File.join(File.dirname(__FILE__), "fixtures") }
@@ -3,8 +3,8 @@ session:
3
3
  root: ~
4
4
  windows:
5
5
  - name: "foo"
6
- splits:
6
+ panes:
7
7
  - cmd: "pwd"
8
8
  - name: "bar"
9
- splits:
9
+ panes:
10
10
  - cmd: "pwd"
@@ -3,8 +3,8 @@ session:
3
3
  root: ~
4
4
  windows:
5
5
  - name: "foo"
6
- splits:
6
+ panes:
7
7
  - cmd: "pwd"
8
8
  - name: "bar"
9
- splits:
9
+ panes:
10
10
  - cmd: "pwd"
@@ -3,8 +3,8 @@ session:
3
3
  root: ~
4
4
  windows:
5
5
  - name: <%= "foo" %>
6
- splits:
6
+ panes:
7
7
  - cmd: "pwd"
8
8
  - name: "bar"
9
- splits:
9
+ panes:
10
10
  - cmd: "pwd"
@@ -5,7 +5,7 @@ two-windows:
5
5
  clear: true
6
6
  root: "/foo"
7
7
  layout: "tiled"
8
- splits:
8
+ panes:
9
9
  - cmd: "echo 'foo'"
10
10
  - cmd: "echo 'foo again'"
11
11
  width: 50
@@ -32,7 +32,7 @@ two-windows-with-filters:
32
32
  after:
33
33
  - "echo first after filter"
34
34
  - "echo second after filter"
35
- splits:
35
+ panes:
36
36
  - cmd: "echo 'foo'"
37
37
  - cmd: "echo 'foo again'"
38
38
  width: 50
@@ -42,11 +42,11 @@ three-windows-within-a-session:
42
42
  name: "my awesome session"
43
43
  windows:
44
44
  - name: "first window"
45
- splits:
45
+ panes:
46
46
  - cmd: "echo 'foo'"
47
47
  - name: "second window"
48
- splits:
48
+ panes:
49
49
  - cmd: "echo 'foo'"
50
50
  - name: "third window"
51
- splits:
51
+ panes:
52
52
  - cmd: "echo 'foo'"
data/spec/layout_spec.rb CHANGED
@@ -16,13 +16,13 @@ describe Teamocil::Layout do
16
16
  expect { @layout.compile! }.to raise_error Teamocil::Error::LayoutError
17
17
  end
18
18
 
19
- it "does not compile without splits" do
19
+ it "does not compile without panes" do
20
20
  @layout = Teamocil::Layout.new({ "windows" => [{ "name" => "foo" }] }, {})
21
21
  expect { @layout.compile! }.to raise_error Teamocil::Error::LayoutError
22
22
  end
23
23
 
24
- it "does not compile with empty splits" do
25
- @layout = Teamocil::Layout.new({ "windows" => [{ "name" => "foo", "splits" => [nil, nil] }] }, {})
24
+ it "does not compile with empty panes" do
25
+ @layout = Teamocil::Layout.new({ "windows" => [{ "name" => "foo", "panes" => [nil, nil] }] }, {})
26
26
  expect { @layout.compile! }.to raise_error Teamocil::Error::LayoutError
27
27
  end
28
28
  end
@@ -60,36 +60,43 @@ describe Teamocil::Layout do
60
60
  end
61
61
  end
62
62
 
63
- describe "splits" do
64
- it "creates splits" do
63
+ describe "panes" do
64
+ it "creates panes" do
65
65
  session = @layout.compile!
66
- session.windows.first.splits.each do |split|
67
- split.should be_an_instance_of Teamocil::Layout::Split
66
+ session.windows.first.panes.each do |pane|
67
+ pane.should be_an_instance_of Teamocil::Layout::Pane
68
68
  end
69
69
  end
70
70
 
71
- it "creates splits with dimensions" do
71
+ it "creates panes with legacy `splits` key" do
72
72
  session = @layout.compile!
73
- session.windows.first.splits[0].width.should == nil
74
- session.windows.first.splits[1].width.should == 50
73
+ session.windows.last.panes.each do |pane|
74
+ pane.should be_an_instance_of Teamocil::Layout::Pane
75
+ end
76
+ end
77
+
78
+ it "creates panes with dimensions" do
79
+ session = @layout.compile!
80
+ session.windows.first.panes[0].width.should == nil
81
+ session.windows.first.panes[1].width.should == 50
75
82
  end
76
83
 
77
- it "creates splits with commands specified in strings" do
84
+ it "creates panes with commands specified in strings" do
78
85
  session = @layout.compile!
79
- session.windows.first.splits[0].cmd.should == "echo 'foo'"
86
+ session.windows.first.panes[0].cmd.should == "echo 'foo'"
80
87
  end
81
88
 
82
- it "creates splits with commands specified in an array" do
89
+ it "creates panes with commands specified in an array" do
83
90
  session = @layout.compile!
84
- session.windows.last.splits[0].cmd.length.should == 2
85
- session.windows.last.splits[0].cmd.first.should == "echo 'bar'"
86
- session.windows.last.splits[0].cmd.last.should == "echo 'bar in an array'"
91
+ session.windows.last.panes[0].cmd.length.should == 2
92
+ session.windows.last.panes[0].cmd.first.should == "echo 'bar'"
93
+ session.windows.last.panes[0].cmd.last.should == "echo 'bar in an array'"
87
94
  end
88
95
 
89
- it "handles focused splits" do
96
+ it "handles focused panes" do
90
97
  session = @layout.compile!
91
- session.windows.last.splits[1].focus.should be_true
92
- session.windows.last.splits[0].focus.should be_false
98
+ session.windows.last.panes[1].focus.should be_true
99
+ session.windows.last.panes[0].focus.should be_false
93
100
  end
94
101
  end
95
102
 
@@ -120,14 +127,14 @@ describe Teamocil::Layout do
120
127
  end
121
128
 
122
129
  describe "targets" do
123
- it "should handle splits without a target" do
130
+ it "should handle panes without a target" do
124
131
  session = @layout.compile!
125
- session.windows.last.splits.last.target.should == nil
132
+ session.windows.last.panes.last.target.should == nil
126
133
  end
127
134
 
128
- it "should handle splits with a target" do
135
+ it "should handle panes with a target" do
129
136
  session = @layout.compile!
130
- session.windows.last.splits.first.target.should == "bottom-right"
137
+ session.windows.last.panes.first.target.should == "bottom-right"
131
138
  end
132
139
  end
133
140
 
@@ -144,15 +151,15 @@ describe Teamocil::Layout do
144
151
  context "generating commands" do
145
152
  before { @layout = Teamocil::Layout.new(layouts["two-windows"], {}) }
146
153
 
147
- it "should generate split commands" do
154
+ it "should generate pane commands" do
148
155
  session = @layout.compile!
149
- commands = session.windows.last.splits[0].generate_commands
156
+ commands = session.windows.last.panes[0].generate_commands
150
157
  commands.length.should == 2
151
158
  commands.first.should == "tmux send-keys -t 0 \"export TEAMOCIL=1 && cd \"/bar\" && echo 'bar' && echo 'bar in an array'\""
152
159
  commands.last.should == "tmux send-keys -t 0 Enter"
153
160
 
154
161
  session = @layout.compile!
155
- commands = session.windows.first.splits[0].generate_commands
162
+ commands = session.windows.first.panes[0].generate_commands
156
163
  commands.length.should == 2
157
164
  commands.first.should == "tmux send-keys -t 0 \"export TEAMOCIL=1 && cd \"/foo\" && clear && echo 'foo'\""
158
165
  commands.last.should == "tmux send-keys -t 0 Enter"
@@ -168,9 +175,9 @@ describe Teamocil::Layout do
168
175
  context "with custom pane-base-index option" do
169
176
  let(:window_pane_base_index) { 2 }
170
177
 
171
- it "should generate split commands" do
178
+ it "should generate pane commands" do
172
179
  session = @layout.compile!
173
- commands = session.windows.last.splits[0].generate_commands
180
+ commands = session.windows.last.panes[0].generate_commands
174
181
  commands.length.should == 2
175
182
  commands.first.should == "tmux send-keys -t 2 \"export TEAMOCIL=1 && cd \"/bar\" && echo 'bar' && echo 'bar in an array'\""
176
183
  commands.last.should == "tmux send-keys -t 2 Enter"
data/teamocil.gemspec CHANGED
@@ -12,8 +12,8 @@ spec = Gem::Specification.new do |s|
12
12
  s.email = "remi@exomel.com"
13
13
  s.homepage = "http://remiprev.github.com/teamocil"
14
14
  s.license = "MIT"
15
- s.summary = "Easy window and split layouts for tmux"
16
- s.description = "Teamocil helps you set up window and splits layouts for tmux using YAML configuration files."
15
+ s.summary = "Easy session, window and pane layouts for tmux"
16
+ s.description = "Teamocil helps you set up window and pane layouts for tmux using YAML configuration files."
17
17
 
18
18
  # Manifest
19
19
  s.files = `git ls-files`.split("\n")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teamocil
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.4'
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rémi Prévost
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-03-03 00:00:00.000000000 Z
11
+ date: 2013-03-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -66,7 +66,7 @@ dependencies:
66
66
  - - ! '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
- description: Teamocil helps you set up window and splits layouts for tmux using YAML
69
+ description: Teamocil helps you set up window and pane layouts for tmux using YAML
70
70
  configuration files.
71
71
  email: remi@exomel.com
72
72
  executables:
@@ -90,8 +90,8 @@ files:
90
90
  - lib/teamocil/cli.rb
91
91
  - lib/teamocil/error.rb
92
92
  - lib/teamocil/layout.rb
93
+ - lib/teamocil/layout/pane.rb
93
94
  - lib/teamocil/layout/session.rb
94
- - lib/teamocil/layout/split.rb
95
95
  - lib/teamocil/layout/window.rb
96
96
  - spec/cli_spec.rb
97
97
  - spec/fixtures/.my-fancy-layouts-directory/sample-3.yml
@@ -123,10 +123,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
123
  version: '0'
124
124
  requirements: []
125
125
  rubyforge_project:
126
- rubygems_version: 2.0.0
126
+ rubygems_version: 2.0.2
127
127
  signing_key:
128
128
  specification_version: 4
129
- summary: Easy window and split layouts for tmux
129
+ summary: Easy session, window and pane layouts for tmux
130
130
  test_files:
131
131
  - spec/cli_spec.rb
132
132
  - spec/fixtures/.my-fancy-layouts-directory/sample-3.yml