The visualization of a tag.
- A
- C
- E
- F
- M
- N
- S
- Rumai::IXP::Struct::Field::CounterField START:includes
- Rumai::IXP::Struct::Field::CounterField START:includes
- Rumai::IXP::Struct::Field::CounterField START:includes
- Enumerable START:includes
Returns the currently focused view.
Returns the IDs of all areas in this view.
Returns the area which contains the given client in this view.
Returns all areas in this view.
Arranges the clients in this view, while maintaining their relative order, in the tiling fashion of LarsWM.
Only the first client in the primary column is kept; all others are evicted to the top of the secondary column. Any subsequent columns are squeezed into the bottom of the secondary column.
# File lib/rumai/wm.rb, line 768 def arrange_as_larswm maintain_focus do # keep only one client in the primary column main = Area.new(1, self) main.length = 1 main.layout = :default # collapse remaining areas into secondary column extra = columns[1..-1] if extra.length > 1 extra.reverse.each_cons(2) do |src, dst| dst.concat src end end if dock = extra.first dock.layout = :default end end end
Arranges the clients in this view, while maintaining their relative order, in a (at best) equilateral triangle. However, the resulting arrangement appears like a diamond because wmii does not waste screen space.
# File lib/rumai/wm.rb, line 822 def arrange_in_diamond num_clients = num_managed_clients return unless num_clients > 1 # determine dimensions of the rising sub-triangle rise = num_clients / 2 span = sum = 0 1.upto rise do |h| if sum + h > rise break else sum += h span += 1 end end peak = num_clients - (sum * 2) # describe the overall triangle as a sequence of heights rise_seq = (1..span).to_a fall_seq = rise_seq.reverse heights = rise_seq heights << peak if peak > 0 heights.concat fall_seq # apply the heights maintain_focus do each_column do |col| if h = heights.shift col.length = h col.layout = :default end end end end
Arranges the clients in this view, while maintaining their relative order, in a (at best) square grid.
# File lib/rumai/wm.rb, line 794 def arrange_in_grid max_clients_per_column = nil # compute client distribution unless max_clients_per_column num_clients = num_managed_clients return unless num_clients > 0 num_columns = Math.sqrt(num_clients) max_clients_per_column = (num_clients / num_columns).round end return if max_clients_per_column < 1 # apply the distribution maintain_focus do each_column do |a| a.length = max_clients_per_column a.layout = :default end end end
Returns a list of all views.
Returns the IDs of the clients contained in the given area within this view.
Returns all columns (managed areas) in this view.
Iterates through each area in this view.
Resiliently iterates through possibly destructive changes to each column. That is, if the given block creates new columns, then those will also be processed in the iteration.
Alias for each_column
Returns the floating area of this view.
Focuses this view.
Alias for columns
Returns the manifest of all areas and clients in this view.