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)


360
361
362
363
364
# File 'lib/daytona/computer_use.rb', line 360

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



352
353
354
# File 'lib/daytona/computer_use.rb', line 352

def sandbox_id
  @sandbox_id
end

#toolbox_apiDaytonaToolboxApiClient::ComputerUseApi (readonly)

Returns API client for sandbox operations.

Returns:

  • (DaytonaToolboxApiClient::ComputerUseApi)

    API client for sandbox operations



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

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:



378
379
380
381
382
# File 'lib/daytona/computer_use.rb', line 378

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:



395
396
397
398
399
# File 'lib/daytona/computer_use.rb', line 395

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