Files
kutu/src/ruby/controller.rb

26 lines
853 B
Ruby

def create_workspace(monitor)
monitor[:workspaces] << Workspace.new($monitors.key(monitor))
monitor[:selected_workspace] = monitor[:workspaces].length - 1
end
def delete_workspace(n, monitor)
return if monitor[:workspaces].length <= 2
monitor[:workspaces][n].windows.each { |w| monitor[:workspaces][(n - 1) % monitor[:workspaces].length].drop 0, w }
monitor[:workspaces].delete_at n
if monitor[:selected_workspace] >= n
monitor[:selected_workspace] -= 1
end
end
def select_workspace(n, monitor)
if n >= monitor[:workspaces].length
select_workspace monitor[:workspaces].length - 1, monitor
elsif n < 0
select_workspace 1, monitor
end
monitor[:workspaces].each { |w| w.hide if w != monitor[:workspaces][n] }
monitor[:selected_workspace] = n
monitor[:workspaces][n].show
monitor[:workspaces][n].compute_tiled!
end