teamocil 0.4 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
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