Sha256: 138d2579e2d60610a26eac676997b2b894c9ff9b42f6468ead5705cc1799559f
Contents?: true
Size: 991 Bytes
Versions: 2
Compression:
Stored size: 991 Bytes
Contents
module VER class TilingLayout module CommonTiling DEFAULT = { master: 1, stacking: 3, center: 0.5 } def prepare(layout, given_options) options = DEFAULT.merge(given_options) slaves = layout.stack master, stacking = options.values_at(:master, :stacking) given_options.merge!(options) head, tail, hidden = slaves[0...master], slaves[master..stacking], slaves[(stacking + 1)..-1] return head, tail, hidden, options end def apply(layout, given_options = {}) masters, stacked, hidden, options = prepare(layout, given_options) center = stacked.size == 0 ? 1.0 : options[:center] apply_hidden(hidden) if hidden apply_masters(masters, center) if masters apply_stacked(stacked, center) if stacked end def apply_hidden(windows) windows.each(&:place_forget) end def evolve(window, target) window.place(target) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ver-2010.08 | lib/ver/layout/tiling/common.rb |
ver-2010.02 | lib/ver/layout/tiling/common.rb |