Sha256: a5fb996f8bf4e8b49b4156f4344df4924a41d91d2847fd3605f3cd04f804197c
Contents?: true
Size: 1011 Bytes
Versions: 2
Compression:
Stored size: 1011 Bytes
Contents
module Teamocil class Layout # This class represents a session within tmux class Session attr_reader :options, :windows, :name # Initialize a new tmux session # # @param options [Hash] the options, mostly passed by the CLI # @param attrs [Hash] the session data from the layout file def initialize(options, attrs={}) raise Teamocil::Error::LayoutError.new("You must specify a `windows` or `session` key for your layout.") unless attrs["windows"] @name = attrs["name"] || "teamocil-session-#{rand(10000) + 1}" @windows = attrs["windows"].each_with_index.map { |window, window_index| Window.new(self, window_index, window) } @options = options end # Generate commands to send to tmux # # @return [Array] def generate_commands commands = [] commands << "tmux rename-session \"#{@name}\"" unless @name.nil? commands << @windows.map(&:generate_commands) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
teamocil-0.4.4 | lib/teamocil/layout/session.rb |
teamocil-0.4.3 | lib/teamocil/layout/session.rb |