Class: Daytona::ComputerUse::Display

Inherits:
Object
  • Object
show all
Includes:
Instrumentation
Defined in:
lib/daytona/computer_use.rb

Overview

Display operations for computer use functionality.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Instrumentation

included

Constructor Details

#initialize(sandbox_id:, toolbox_api:, otel_state: nil) ⇒ Display

Returns a new instance of Display.

Parameters:

  • sandbox_id (String)

    The ID of the sandbox

  • toolbox_api (DaytonaToolboxApiClient::ComputerUseApi)

    API client for sandbox operations

  • otel_state (Daytona::OtelState, nil) (defaults to: nil)


363
364
365
366
367
# File 'lib/daytona/computer_use.rb', line 363

def initialize(sandbox_id:, toolbox_api:, otel_state: nil)
  @sandbox_id = sandbox_id
  @toolbox_api = toolbox_api
  @otel_state = otel_state
end

Instance Attribute Details

#sandbox_idString (readonly)

Returns The ID of the sandbox.

Returns:

  • (String)

    The ID of the sandbox



355
356
357
# File 'lib/daytona/computer_use.rb', line 355

def sandbox_id
  @sandbox_id
end

#toolbox_apiDaytonaToolboxApiClient::ComputerUseApi (readonly)

Returns API client for sandbox operations.

Returns:

  • (DaytonaToolboxApiClient::ComputerUseApi)

    API client for sandbox operations



358
359
360
# File 'lib/daytona/computer_use.rb', line 358

def toolbox_api
  @toolbox_api
end

Instance Method Details

#infoDaytonaToolboxApiClient::DisplayInfoResponse

Gets information about the displays.

Examples:

info = sandbox.computer_use.display.get_info
puts "Primary display: #{info.primary_display.width}x#{info.primary_display.height}"
puts "Total displays: #{info.total_displays}"
info.displays.each_with_index do |display, i|
  puts "Display #{i}: #{display.width}x#{display.height} at #{display.x},#{display.y}"
end

Returns:

  • (DaytonaToolboxApiClient::DisplayInfoResponse)

    Display information including primary display and all available displays

Raises:



381
382
383
384
385
# File 'lib/daytona/computer_use.rb', line 381

def info
  toolbox_api.get_display_info
rescue StandardError => e
  raise Sdk::Error, "Failed to get display info: #{e.message}"
end

#windowsDaytonaToolboxApiClient::WindowsResponse

Gets the list of open windows.

Examples:

windows = sandbox.computer_use.display.get_windows
puts "Found #{windows.count} open windows:"
windows.windows.each do |window|
  puts "- #{window.title} (ID: #{window.id})"
end

Returns:

  • (DaytonaToolboxApiClient::WindowsResponse)

    List of open windows with their IDs and titles

Raises:



398
399
400
401
402
# File 'lib/daytona/computer_use.rb', line 398

def windows
  toolbox_api.get_windows
rescue StandardError => e
  raise Sdk::Error, "Failed to get windows: #{e.message}"
end