module WM

Public Class Methods

current_desktop() click to toggle source
# File lib/epitools/wm.rb, line 11
def self.current_desktop;   @current    ||= desktops.find { |d| d.current? }; end
desktops() click to toggle source
# File lib/epitools/wm.rb, line 9
def self.desktops;          @desktops   ||= Desktop.all; end
processes() click to toggle source
# File lib/epitools/wm.rb, line 10
def self.processes;         @processes  ||= Hash[ Sys.ps.map { |pr| [pr.pid, pr] } ] ; end
sticky() click to toggle source
# File lib/epitools/wm.rb, line 12
def self.sticky;            @sticky     ||= windows.select { |w| w.sticky? }; end
window(pid) click to toggle source
# File lib/epitools/wm.rb, line 14
def self.window(pid)
  results = windows.select { |w| w.pid }

  if results.empty?
    # check the children
    results = windows.select { |w| w.process.children.any? {|pr| pr.pid == pid } }
  end

  results
end
windows() click to toggle source
# File lib/epitools/wm.rb, line 8
def self.windows;           @windows    ||= Window.all; end