Skip to content
Snippets Groups Projects
Commit 334a69d6 authored by George Nachman's avatar George Nachman
Browse files

Add rough sketch of python library for scripting.

parent 66f3e7bf
No related branches found
No related tags found
No related merge requests found
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api.proto
import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default()
DESCRIPTOR = _descriptor.FileDescriptor(
name='api.proto',
package='iterm2',
syntax='proto2',
serialized_pb=_b('\n\tapi.proto\x12\x06iterm2\"\xd6\x04\n\x07Request\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x34\n\x12get_buffer_request\x18\x64 \x01(\x0b\x32\x18.iterm2.GetBufferRequest\x12\x34\n\x12get_prompt_request\x18\x65 \x01(\x0b\x32\x18.iterm2.GetPromptRequest\x12\x37\n\x13transaction_request\x18\x66 \x01(\x0b\x32\x1a.iterm2.TransactionRequest\x12\x39\n\x14notification_request\x18g \x01(\x0b\x32\x1b.iterm2.NotificationRequest\x12:\n\x15register_tool_request\x18h \x01(\x0b\x32\x1b.iterm2.RegisterToolRequest\x12G\n\x1cset_profile_property_request\x18i \x01(\x0b\x32!.iterm2.SetProfilePropertyRequest\x12:\n\x15list_sessions_request\x18j \x01(\x0b\x32\x1b.iterm2.ListSessionsRequest\x12\x32\n\x11send_text_request\x18k \x01(\x0b\x32\x17.iterm2.SendTextRequest\x12\x34\n\x12\x63reate_tab_request\x18l \x01(\x0b\x32\x18.iterm2.CreateTabRequest\x12\x34\n\x12split_pane_request\x18m \x01(\x0b\x32\x18.iterm2.SplitPaneRequest\"\x98\x05\n\x08Response\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x36\n\x13get_buffer_response\x18\x64 \x01(\x0b\x32\x19.iterm2.GetBufferResponse\x12\x36\n\x13get_prompt_response\x18\x65 \x01(\x0b\x32\x19.iterm2.GetPromptResponse\x12\x39\n\x14transaction_response\x18\x66 \x01(\x0b\x32\x1b.iterm2.TransactionResponse\x12;\n\x15notification_response\x18g \x01(\x0b\x32\x1c.iterm2.NotificationResponse\x12<\n\x16register_tool_response\x18h \x01(\x0b\x32\x1c.iterm2.RegisterToolResponse\x12I\n\x1dset_profile_property_response\x18i \x01(\x0b\x32\".iterm2.SetProfilePropertyResponse\x12<\n\x16list_sessions_response\x18j \x01(\x0b\x32\x1c.iterm2.ListSessionsResponse\x12\x34\n\x12send_text_response\x18k \x01(\x0b\x32\x18.iterm2.SendTextResponse\x12\x36\n\x13\x63reate_tab_response\x18l \x01(\x0b\x32\x19.iterm2.CreateTabResponse\x12\x36\n\x13split_pane_response\x18m \x01(\x0b\x32\x19.iterm2.SplitPaneResponse\x12+\n\x0cnotification\x18\xe8\x07 \x01(\x0b\x32\x14.iterm2.Notification\"\xd8\x01\n\x13RegisterToolRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nidentifier\x18\x02 \x01(\t\x12+\n\x1creveal_if_already_registered\x18\x05 \x01(\x08:\x05\x66\x61lse\x12\x46\n\ttool_type\x18\x03 \x01(\x0e\x32$.iterm2.RegisterToolRequest.ToolType:\rWEB_VIEW_TOOL\x12\x0b\n\x03URL\x18\x04 \x01(\t\"\x1d\n\x08ToolType\x12\x11\n\rWEB_VIEW_TOOL\x10\x01\"\x8b\x01\n\x14RegisterToolResponse\x12\x33\n\x06status\x18\x01 \x01(\x0e\x32#.iterm2.RegisterToolResponse.Status\">\n\x06Status\x12\x06\n\x02OK\x10\x00\x12\x15\n\x11REQUEST_MALFORMED\x10\x01\x12\x15\n\x11PERMISSION_DENIED\x10\x02\"n\n\x13NotificationRequest\x12\x0f\n\x07session\x18\x01 \x01(\t\x12\x11\n\tsubscribe\x18\x02 \x01(\x08\x12\x33\n\x11notification_type\x18\x03 \x01(\x0e\x32\x18.iterm2.NotificationType\"\xb7\x01\n\x14NotificationResponse\x12\x33\n\x06status\x18\x01 \x01(\x0e\x32#.iterm2.NotificationResponse.Status\"j\n\x06Status\x12\x06\n\x02OK\x10\x00\x12\x15\n\x11SESSION_NOT_FOUND\x10\x01\x12\x15\n\x11REQUEST_MALFORMED\x10\x02\x12\x12\n\x0eNOT_SUBSCRIBED\x10\x03\x12\x16\n\x12\x41LREADY_SUBSCRIBED\x10\x04\"\xaf\x03\n\x0cNotification\x12=\n\x16keystroke_notification\x18\x01 \x01(\x0b\x32\x1d.iterm2.KeystrokeNotification\x12\x44\n\x1ascreen_update_notification\x18\x02 \x01(\x0b\x32 .iterm2.ScreenUpdateNotification\x12\x37\n\x13prompt_notification\x18\x03 \x01(\x0b\x32\x1a.iterm2.PromptNotification\x12H\n\x1clocation_change_notification\x18\x04 \x01(\x0b\x32\".iterm2.LocationChangeNotification\x12U\n#custom_escape_sequence_notification\x18\x05 \x01(\x0b\x32(.iterm2.CustomEscapeSequenceNotification\x12@\n\x18new_session_notification\x18\x06 \x01(\x0b\x32\x1e.iterm2.NewSessionNotification\"\x86\x02\n\x15KeystrokeNotification\x12\x12\n\ncharacters\x18\x01 \x01(\t\x12#\n\x1b\x63haractersIgnoringModifiers\x18\x02 \x01(\t\x12:\n\tmodifiers\x18\x03 \x03(\x0e\x32\'.iterm2.KeystrokeNotification.Modifiers\x12\x0f\n\x07keyCode\x18\x04 \x01(\x05\x12\x0f\n\x07session\x18\x05 \x01(\t\"V\n\tModifiers\x12\x0b\n\x07\x43ONTROL\x10\x01\x12\n\n\x06OPTION\x10\x02\x12\x0b\n\x07\x43OMMAND\x10\x03\x12\t\n\x05SHIFT\x10\x04\x12\x0c\n\x08\x46UNCTION\x10\x05\x12\n\n\x06NUMPAD\x10\x06\"+\n\x18ScreenUpdateNotification\x12\x0f\n\x07session\x18\x01 \x01(\t\"%\n\x12PromptNotification\x12\x0f\n\x07session\x18\x01 \x01(\t\"f\n\x1aLocationChangeNotification\x12\x11\n\thost_name\x18\x01 \x01(\t\x12\x11\n\tuser_name\x18\x02 \x01(\t\x12\x11\n\tdirectory\x18\x03 \x01(\t\x12\x0f\n\x07session\x18\x04 \x01(\t\"]\n CustomEscapeSequenceNotification\x12\x0f\n\x07session\x18\x01 \x01(\t\x12\x17\n\x0fsender_identity\x18\x02 \x01(\t\x12\x0f\n\x07payload\x18\x03 \x01(\t\"2\n\x16NewSessionNotification\x12\x18\n\x10uniqueIdentifier\x18\x01 \x01(\t\"J\n\x10GetBufferRequest\x12\x0f\n\x07session\x18\x01 \x01(\t\x12%\n\nline_range\x18\x02 \x01(\x0b\x32\x11.iterm2.LineRange\"\xa6\x02\n\x11GetBufferResponse\x12\x34\n\x06status\x18\x01 \x01(\x0e\x32 .iterm2.GetBufferResponse.Status:\x02OK\x12\x1c\n\x05range\x18\x02 \x01(\x0b\x32\r.iterm2.Range\x12&\n\x08\x63ontents\x18\x03 \x03(\x0b\x32\x14.iterm2.LineContents\x12\x1d\n\x06\x63ursor\x18\x04 \x01(\x0b\x32\r.iterm2.Coord\x12\x1e\n\x16num_lines_above_screen\x18\x05 \x01(\x03\"V\n\x06Status\x12\x06\n\x02OK\x10\x00\x12\x15\n\x11SESSION_NOT_FOUND\x10\x01\x12\x16\n\x12INVALID_LINE_RANGE\x10\x02\x12\x15\n\x11REQUEST_MALFORMED\x10\x03\"#\n\x10GetPromptRequest\x12\x0f\n\x07session\x18\x01 \x01(\t\"\xcc\x02\n\x11GetPromptResponse\x12\x34\n\x06status\x18\x01 \x01(\x0e\x32 .iterm2.GetPromptResponse.Status:\x02OK\x12(\n\x0cprompt_range\x18\x02 \x01(\x0b\x32\x12.iterm2.CoordRange\x12)\n\rcommand_range\x18\x03 \x01(\x0b\x32\x12.iterm2.CoordRange\x12(\n\x0coutput_range\x18\x04 \x01(\x0b\x32\x12.iterm2.CoordRange\x12\x19\n\x11working_directory\x18\x05 \x01(\t\x12\x0f\n\x07\x63ommand\x18\x06 \x01(\t\"V\n\x06Status\x12\x06\n\x02OK\x10\x00\x12\x15\n\x11SESSION_NOT_FOUND\x10\x01\x12\x15\n\x11REQUEST_MALFORMED\x10\x02\x12\x16\n\x12PROMPT_UNAVAILABLE\x10\x03\"M\n\x19SetProfilePropertyRequest\x12\x0f\n\x07session\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\t\x12\x12\n\njson_value\x18\x03 \x01(\t\"\x9b\x01\n\x1aSetProfilePropertyResponse\x12=\n\x06status\x18\x01 \x01(\x0e\x32).iterm2.SetProfilePropertyResponse.Status:\x02OK\">\n\x06Status\x12\x06\n\x02OK\x10\x00\x12\x15\n\x11SESSION_NOT_FOUND\x10\x01\x12\x15\n\x11REQUEST_MALFORMED\x10\x02\"#\n\x12TransactionRequest\x12\r\n\x05\x62\x65gin\x18\x01 \x01(\x08\"\x8f\x01\n\x13TransactionResponse\x12\x36\n\x06status\x18\x01 \x01(\x0e\x32\".iterm2.TransactionResponse.Status:\x02OK\"@\n\x06Status\x12\x06\n\x02OK\x10\x00\x12\x12\n\x0eNO_TRANSACTION\x10\x01\x12\x1a\n\x16\x41LREADY_IN_TRANSACTION\x10\x02\"A\n\tLineRange\x12\x1c\n\x14screen_contents_only\x18\x01 \x01(\x08\x12\x16\n\x0etrailing_lines\x18\x02 \x01(\x05\")\n\x05Range\x12\x10\n\x08location\x18\x01 \x01(\x03\x12\x0e\n\x06length\x18\x02 \x01(\x03\"F\n\nCoordRange\x12\x1c\n\x05start\x18\x01 \x01(\x0b\x32\r.iterm2.Coord\x12\x1a\n\x03\x65nd\x18\x02 \x01(\x0b\x32\r.iterm2.Coord\"\x1d\n\x05\x43oord\x12\t\n\x01x\x18\x01 \x01(\x05\x12\t\n\x01y\x18\x02 \x01(\x03\"\xeb\x01\n\x0cLineContents\x12\x0c\n\x04text\x18\x01 \x01(\t\x12\x37\n\x14\x63ode_points_per_cell\x18\x02 \x03(\x0b\x32\x19.iterm2.CodePointsPerCell\x12N\n\x0c\x63ontinuation\x18\x03 \x01(\x0e\x32!.iterm2.LineContents.Continuation:\x15\x43ONTINUATION_HARD_EOL\"D\n\x0c\x43ontinuation\x12\x19\n\x15\x43ONTINUATION_HARD_EOL\x10\x01\x12\x19\n\x15\x43ONTINUATION_SOFT_EOL\x10\x02\"@\n\x11\x43odePointsPerCell\x12\x1a\n\x0fnum_code_points\x18\x01 \x01(\x05:\x01\x31\x12\x0f\n\x07repeats\x18\x02 \x01(\x05\"\x15\n\x13ListSessionsRequest\"0\n\x0fSendTextRequest\x12\x0f\n\x07session\x18\x01 \x01(\t\x12\x0c\n\x04text\x18\x02 \x01(\t\"l\n\x10SendTextResponse\x12/\n\x06status\x18\x01 \x01(\x0e\x32\x1f.iterm2.SendTextResponse.Status\"\'\n\x06Status\x12\x06\n\x02OK\x10\x00\x12\x15\n\x11SESSION_NOT_FOUND\x10\x01\"\xea\x01\n\x14ListSessionsResponse\x12\x34\n\x07windows\x18\x01 \x03(\x0b\x32#.iterm2.ListSessionsResponse.Window\x1a\x38\n\x06Window\x12.\n\x04tabs\x18\x01 \x03(\x0b\x32 .iterm2.ListSessionsResponse.Tab\x1a=\n\x03Tab\x12\x36\n\x08sessions\x18\x01 \x03(\x0b\x32$.iterm2.ListSessionsResponse.Session\x1a#\n\x07Session\x12\x18\n\x10uniqueIdentifier\x18\x01 \x01(\t\"_\n\x10\x43reateTabRequest\x12\x14\n\x0cprofile_name\x18\x01 \x01(\t\x12\x11\n\twindow_id\x18\x02 \x01(\t\x12\x11\n\ttab_index\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\t\"\xf0\x01\n\x11\x43reateTabResponse\x12\x30\n\x06status\x18\x01 \x01(\x0e\x32 .iterm2.CreateTabResponse.Status\x12\x11\n\twindow_id\x18\x02 \x01(\t\x12\x0e\n\x06tab_id\x18\x03 \x01(\x05\x12\x12\n\nsession_id\x18\x04 \x01(\t\"r\n\x06Status\x12\x06\n\x02OK\x10\x00\x12\x18\n\x14INVALID_PROFILE_NAME\x10\x01\x12\x15\n\x11INVALID_WINDOW_ID\x10\x02\x12\x15\n\x11INVALID_TAB_INDEX\x10\x03\x12\x18\n\x14MISSING_SUBSTITUTION\x10\x04\"\xbb\x01\n\x10SplitPaneRequest\x12\x0f\n\x07session\x18\x01 \x01(\t\x12@\n\x0fsplit_direction\x18\x02 \x01(\x0e\x32\'.iterm2.SplitPaneRequest.SplitDirection\x12\x0e\n\x06\x62\x65\x66ore\x18\x03 \x01(\x08\x12\x14\n\x0cprofile_name\x18\x04 \x01(\t\".\n\x0eSplitDirection\x12\x0c\n\x08VERTICAL\x10\x00\x12\x0e\n\nHORIZONTAL\x10\x01\"\xae\x01\n\x11SplitPaneResponse\x12\x30\n\x06status\x18\x01 \x01(\x0e\x32 .iterm2.SplitPaneResponse.Status\x12\x12\n\nsession_id\x18\x02 \x01(\t\"S\n\x06Status\x12\x06\n\x02OK\x10\x00\x12\x15\n\x11SESSION_NOT_FOUND\x10\x01\x12\x18\n\x14INVALID_PROFILE_NAME\x10\x02\x12\x10\n\x0c\x43\x41NNOT_SPLIT\x10\x03*\xbe\x01\n\x10NotificationType\x12\x17\n\x13NOTIFY_ON_KEYSTROKE\x10\x01\x12\x1b\n\x17NOTIFY_ON_SCREEN_UPDATE\x10\x02\x12\x14\n\x10NOTIFY_ON_PROMPT\x10\x03\x12\x1d\n\x19NOTIFY_ON_LOCATION_CHANGE\x10\x04\x12$\n NOTIFY_ON_CUSTOM_ESCAPE_SEQUENCE\x10\x05\x12\x19\n\x15NOTIFY_ON_NEW_SESSION\x10\x06\x42\x06\xa2\x02\x03ITM')
)
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
_NOTIFICATIONTYPE = _descriptor.EnumDescriptor(
name='NotificationType',
full_name='iterm2.NotificationType',
filename=None,
file=DESCRIPTOR,
values=[
_descriptor.EnumValueDescriptor(
name='NOTIFY_ON_KEYSTROKE', index=0, number=1,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='NOTIFY_ON_SCREEN_UPDATE', index=1, number=2,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='NOTIFY_ON_PROMPT', index=2, number=3,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='NOTIFY_ON_LOCATION_CHANGE', index=3, number=4,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='NOTIFY_ON_CUSTOM_ESCAPE_SEQUENCE', index=4, number=5,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='NOTIFY_ON_NEW_SESSION', index=5, number=6,
options=None,
type=None),
],
containing_type=None,
options=None,
serialized_start=5792,
serialized_end=5982,
)
_sym_db.RegisterEnumDescriptor(_NOTIFICATIONTYPE)
NotificationType = enum_type_wrapper.EnumTypeWrapper(_NOTIFICATIONTYPE)
NOTIFY_ON_KEYSTROKE = 1
NOTIFY_ON_SCREEN_UPDATE = 2
NOTIFY_ON_PROMPT = 3
NOTIFY_ON_LOCATION_CHANGE = 4
NOTIFY_ON_CUSTOM_ESCAPE_SEQUENCE = 5
NOTIFY_ON_NEW_SESSION = 6
_REGISTERTOOLREQUEST_TOOLTYPE = _descriptor.EnumDescriptor(
name='ToolType',
full_name='iterm2.RegisterToolRequest.ToolType',
filename=None,
file=DESCRIPTOR,
values=[
_descriptor.EnumValueDescriptor(
name='WEB_VIEW_TOOL', index=0, number=1,
options=None,
type=None),
],
containing_type=None,
options=None,
serialized_start=1477,
serialized_end=1506,
)
_sym_db.RegisterEnumDescriptor(_REGISTERTOOLREQUEST_TOOLTYPE)
_REGISTERTOOLRESPONSE_STATUS = _descriptor.EnumDescriptor(
name='Status',
full_name='iterm2.RegisterToolResponse.Status',
filename=None,
file=DESCRIPTOR,
values=[
_descriptor.EnumValueDescriptor(
name='OK', index=0, number=0,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='REQUEST_MALFORMED', index=1, number=1,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='PERMISSION_DENIED', index=2, number=2,
options=None,
type=None),
],
containing_type=None,
options=None,
serialized_start=1586,
serialized_end=1648,
)
_sym_db.RegisterEnumDescriptor(_REGISTERTOOLRESPONSE_STATUS)
_NOTIFICATIONRESPONSE_STATUS = _descriptor.EnumDescriptor(
name='Status',
full_name='iterm2.NotificationResponse.Status',
filename=None,
file=DESCRIPTOR,
values=[
_descriptor.EnumValueDescriptor(
name='OK', index=0, number=0,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='SESSION_NOT_FOUND', index=1, number=1,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='REQUEST_MALFORMED', index=2, number=2,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='NOT_SUBSCRIBED', index=3, number=3,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='ALREADY_SUBSCRIBED', index=4, number=4,
options=None,
type=None),
],
containing_type=None,
options=None,
serialized_start=1840,
serialized_end=1946,
)
_sym_db.RegisterEnumDescriptor(_NOTIFICATIONRESPONSE_STATUS)
_KEYSTROKENOTIFICATION_MODIFIERS = _descriptor.EnumDescriptor(
name='Modifiers',
full_name='iterm2.KeystrokeNotification.Modifiers',
filename=None,
file=DESCRIPTOR,
values=[
_descriptor.EnumValueDescriptor(
name='CONTROL', index=0, number=1,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='OPTION', index=1, number=2,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='COMMAND', index=2, number=3,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='SHIFT', index=3, number=4,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='FUNCTION', index=4, number=5,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='NUMPAD', index=5, number=6,
options=None,
type=None),
],
containing_type=None,
options=None,
serialized_start=2559,
serialized_end=2645,
)
_sym_db.RegisterEnumDescriptor(_KEYSTROKENOTIFICATION_MODIFIERS)
_GETBUFFERRESPONSE_STATUS = _descriptor.EnumDescriptor(
name='Status',
full_name='iterm2.GetBufferResponse.Status',
filename=None,
file=DESCRIPTOR,
values=[
_descriptor.EnumValueDescriptor(
name='OK', index=0, number=0,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='SESSION_NOT_FOUND', index=1, number=1,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='INVALID_LINE_RANGE', index=2, number=2,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='REQUEST_MALFORMED', index=3, number=3,
options=None,
type=None),
],
containing_type=None,
options=None,
serialized_start=3267,
serialized_end=3353,
)
_sym_db.RegisterEnumDescriptor(_GETBUFFERRESPONSE_STATUS)
_GETPROMPTRESPONSE_STATUS = _descriptor.EnumDescriptor(
name='Status',
full_name='iterm2.GetPromptResponse.Status',
filename=None,
file=DESCRIPTOR,
values=[
_descriptor.EnumValueDescriptor(
name='OK', index=0, number=0,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='SESSION_NOT_FOUND', index=1, number=1,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='REQUEST_MALFORMED', index=2, number=2,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='PROMPT_UNAVAILABLE', index=3, number=3,
options=None,
type=None),
],
containing_type=None,
options=None,
serialized_start=3639,
serialized_end=3725,
)
_sym_db.RegisterEnumDescriptor(_GETPROMPTRESPONSE_STATUS)
_SETPROFILEPROPERTYRESPONSE_STATUS = _descriptor.EnumDescriptor(
name='Status',
full_name='iterm2.SetProfilePropertyResponse.Status',
filename=None,
file=DESCRIPTOR,
values=[
_descriptor.EnumValueDescriptor(
name='OK', index=0, number=0,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='SESSION_NOT_FOUND', index=1, number=1,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='REQUEST_MALFORMED', index=2, number=2,
options=None,
type=None),
],
containing_type=None,
options=None,
serialized_start=1840,
serialized_end=1902,
)
_sym_db.RegisterEnumDescriptor(_SETPROFILEPROPERTYRESPONSE_STATUS)
_TRANSACTIONRESPONSE_STATUS = _descriptor.EnumDescriptor(
name='Status',
full_name='iterm2.TransactionResponse.Status',
filename=None,
file=DESCRIPTOR,
values=[
_descriptor.EnumValueDescriptor(
name='OK', index=0, number=0,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='NO_TRANSACTION', index=1, number=1,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='ALREADY_IN_TRANSACTION', index=2, number=2,
options=None,
type=None),
],
containing_type=None,
options=None,
serialized_start=4081,
serialized_end=4145,
)
_sym_db.RegisterEnumDescriptor(_TRANSACTIONRESPONSE_STATUS)
_LINECONTENTS_CONTINUATION = _descriptor.EnumDescriptor(
name='Continuation',
full_name='iterm2.LineContents.Continuation',
filename=None,
file=DESCRIPTOR,
values=[
_descriptor.EnumValueDescriptor(
name='CONTINUATION_HARD_EOL', index=0, number=1,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='CONTINUATION_SOFT_EOL', index=1, number=2,
options=None,
type=None),
],
containing_type=None,
options=None,
serialized_start=4528,
serialized_end=4596,
)
_sym_db.RegisterEnumDescriptor(_LINECONTENTS_CONTINUATION)
_SENDTEXTRESPONSE_STATUS = _descriptor.EnumDescriptor(
name='Status',
full_name='iterm2.SendTextResponse.Status',
filename=None,
file=DESCRIPTOR,
values=[
_descriptor.EnumValueDescriptor(
name='OK', index=0, number=0,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='SESSION_NOT_FOUND', index=1, number=1,
options=None,
type=None),
],
containing_type=None,
options=None,
serialized_start=1840,
serialized_end=1879,
)
_sym_db.RegisterEnumDescriptor(_SENDTEXTRESPONSE_STATUS)
_CREATETABRESPONSE_STATUS = _descriptor.EnumDescriptor(
name='Status',
full_name='iterm2.CreateTabResponse.Status',
filename=None,
file=DESCRIPTOR,
values=[
_descriptor.EnumValueDescriptor(
name='OK', index=0, number=0,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='INVALID_PROFILE_NAME', index=1, number=1,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='INVALID_WINDOW_ID', index=2, number=2,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='INVALID_TAB_INDEX', index=3, number=3,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='MISSING_SUBSTITUTION', index=4, number=4,
options=None,
type=None),
],
containing_type=None,
options=None,
serialized_start=5308,
serialized_end=5422,
)
_sym_db.RegisterEnumDescriptor(_CREATETABRESPONSE_STATUS)
_SPLITPANEREQUEST_SPLITDIRECTION = _descriptor.EnumDescriptor(
name='SplitDirection',
full_name='iterm2.SplitPaneRequest.SplitDirection',
filename=None,
file=DESCRIPTOR,
values=[
_descriptor.EnumValueDescriptor(
name='VERTICAL', index=0, number=0,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='HORIZONTAL', index=1, number=1,
options=None,
type=None),
],
containing_type=None,
options=None,
serialized_start=5566,
serialized_end=5612,
)
_sym_db.RegisterEnumDescriptor(_SPLITPANEREQUEST_SPLITDIRECTION)
_SPLITPANERESPONSE_STATUS = _descriptor.EnumDescriptor(
name='Status',
full_name='iterm2.SplitPaneResponse.Status',
filename=None,
file=DESCRIPTOR,
values=[
_descriptor.EnumValueDescriptor(
name='OK', index=0, number=0,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='SESSION_NOT_FOUND', index=1, number=1,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='INVALID_PROFILE_NAME', index=2, number=2,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='CANNOT_SPLIT', index=3, number=3,
options=None,
type=None),
],
containing_type=None,
options=None,
serialized_start=5706,
serialized_end=5789,
)
_sym_db.RegisterEnumDescriptor(_SPLITPANERESPONSE_STATUS)
_REQUEST = _descriptor.Descriptor(
name='Request',
full_name='iterm2.Request',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='id', full_name='iterm2.Request.id', index=0,
number=1, type=3, cpp_type=2, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='get_buffer_request', full_name='iterm2.Request.get_buffer_request', index=1,
number=100, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='get_prompt_request', full_name='iterm2.Request.get_prompt_request', index=2,
number=101, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='transaction_request', full_name='iterm2.Request.transaction_request', index=3,
number=102, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='notification_request', full_name='iterm2.Request.notification_request', index=4,
number=103, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='register_tool_request', full_name='iterm2.Request.register_tool_request', index=5,
number=104, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='set_profile_property_request', full_name='iterm2.Request.set_profile_property_request', index=6,
number=105, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='list_sessions_request', full_name='iterm2.Request.list_sessions_request', index=7,
number=106, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='send_text_request', full_name='iterm2.Request.send_text_request', index=8,
number=107, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='create_tab_request', full_name='iterm2.Request.create_tab_request', index=9,
number=108, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='split_pane_request', full_name='iterm2.Request.split_pane_request', index=10,
number=109, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=22,
serialized_end=620,
)
_RESPONSE = _descriptor.Descriptor(
name='Response',
full_name='iterm2.Response',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='id', full_name='iterm2.Response.id', index=0,
number=1, type=3, cpp_type=2, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='get_buffer_response', full_name='iterm2.Response.get_buffer_response', index=1,
number=100, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='get_prompt_response', full_name='iterm2.Response.get_prompt_response', index=2,
number=101, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='transaction_response', full_name='iterm2.Response.transaction_response', index=3,
number=102, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='notification_response', full_name='iterm2.Response.notification_response', index=4,
number=103, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='register_tool_response', full_name='iterm2.Response.register_tool_response', index=5,
number=104, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='set_profile_property_response', full_name='iterm2.Response.set_profile_property_response', index=6,
number=105, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='list_sessions_response', full_name='iterm2.Response.list_sessions_response', index=7,
number=106, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='send_text_response', full_name='iterm2.Response.send_text_response', index=8,
number=107, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='create_tab_response', full_name='iterm2.Response.create_tab_response', index=9,
number=108, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='split_pane_response', full_name='iterm2.Response.split_pane_response', index=10,
number=109, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='notification', full_name='iterm2.Response.notification', index=11,
number=1000, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=623,
serialized_end=1287,
)
_REGISTERTOOLREQUEST = _descriptor.Descriptor(
name='RegisterToolRequest',
full_name='iterm2.RegisterToolRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='name', full_name='iterm2.RegisterToolRequest.name', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='identifier', full_name='iterm2.RegisterToolRequest.identifier', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='reveal_if_already_registered', full_name='iterm2.RegisterToolRequest.reveal_if_already_registered', index=2,
number=5, type=8, cpp_type=7, label=1,
has_default_value=True, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='tool_type', full_name='iterm2.RegisterToolRequest.tool_type', index=3,
number=3, type=14, cpp_type=8, label=1,
has_default_value=True, default_value=1,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='URL', full_name='iterm2.RegisterToolRequest.URL', index=4,
number=4, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
_REGISTERTOOLREQUEST_TOOLTYPE,
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=1290,
serialized_end=1506,
)
_REGISTERTOOLRESPONSE = _descriptor.Descriptor(
name='RegisterToolResponse',
full_name='iterm2.RegisterToolResponse',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='status', full_name='iterm2.RegisterToolResponse.status', index=0,
number=1, type=14, cpp_type=8, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
_REGISTERTOOLRESPONSE_STATUS,
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=1509,
serialized_end=1648,
)
_NOTIFICATIONREQUEST = _descriptor.Descriptor(
name='NotificationRequest',
full_name='iterm2.NotificationRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='session', full_name='iterm2.NotificationRequest.session', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='subscribe', full_name='iterm2.NotificationRequest.subscribe', index=1,
number=2, type=8, cpp_type=7, label=1,
has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='notification_type', full_name='iterm2.NotificationRequest.notification_type', index=2,
number=3, type=14, cpp_type=8, label=1,
has_default_value=False, default_value=1,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=1650,
serialized_end=1760,
)
_NOTIFICATIONRESPONSE = _descriptor.Descriptor(
name='NotificationResponse',
full_name='iterm2.NotificationResponse',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='status', full_name='iterm2.NotificationResponse.status', index=0,
number=1, type=14, cpp_type=8, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
_NOTIFICATIONRESPONSE_STATUS,
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=1763,
serialized_end=1946,
)
_NOTIFICATION = _descriptor.Descriptor(
name='Notification',
full_name='iterm2.Notification',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='keystroke_notification', full_name='iterm2.Notification.keystroke_notification', index=0,
number=1, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='screen_update_notification', full_name='iterm2.Notification.screen_update_notification', index=1,
number=2, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='prompt_notification', full_name='iterm2.Notification.prompt_notification', index=2,
number=3, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='location_change_notification', full_name='iterm2.Notification.location_change_notification', index=3,
number=4, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='custom_escape_sequence_notification', full_name='iterm2.Notification.custom_escape_sequence_notification', index=4,
number=5, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='new_session_notification', full_name='iterm2.Notification.new_session_notification', index=5,
number=6, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=1949,
serialized_end=2380,
)
_KEYSTROKENOTIFICATION = _descriptor.Descriptor(
name='KeystrokeNotification',
full_name='iterm2.KeystrokeNotification',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='characters', full_name='iterm2.KeystrokeNotification.characters', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='charactersIgnoringModifiers', full_name='iterm2.KeystrokeNotification.charactersIgnoringModifiers', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='modifiers', full_name='iterm2.KeystrokeNotification.modifiers', index=2,
number=3, type=14, cpp_type=8, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='keyCode', full_name='iterm2.KeystrokeNotification.keyCode', index=3,
number=4, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='session', full_name='iterm2.KeystrokeNotification.session', index=4,
number=5, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
_KEYSTROKENOTIFICATION_MODIFIERS,
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=2383,
serialized_end=2645,
)
_SCREENUPDATENOTIFICATION = _descriptor.Descriptor(
name='ScreenUpdateNotification',
full_name='iterm2.ScreenUpdateNotification',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='session', full_name='iterm2.ScreenUpdateNotification.session', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=2647,
serialized_end=2690,
)
_PROMPTNOTIFICATION = _descriptor.Descriptor(
name='PromptNotification',
full_name='iterm2.PromptNotification',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='session', full_name='iterm2.PromptNotification.session', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=2692,
serialized_end=2729,
)
_LOCATIONCHANGENOTIFICATION = _descriptor.Descriptor(
name='LocationChangeNotification',
full_name='iterm2.LocationChangeNotification',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='host_name', full_name='iterm2.LocationChangeNotification.host_name', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='user_name', full_name='iterm2.LocationChangeNotification.user_name', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='directory', full_name='iterm2.LocationChangeNotification.directory', index=2,
number=3, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='session', full_name='iterm2.LocationChangeNotification.session', index=3,
number=4, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=2731,
serialized_end=2833,
)
_CUSTOMESCAPESEQUENCENOTIFICATION = _descriptor.Descriptor(
name='CustomEscapeSequenceNotification',
full_name='iterm2.CustomEscapeSequenceNotification',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='session', full_name='iterm2.CustomEscapeSequenceNotification.session', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='sender_identity', full_name='iterm2.CustomEscapeSequenceNotification.sender_identity', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='payload', full_name='iterm2.CustomEscapeSequenceNotification.payload', index=2,
number=3, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=2835,
serialized_end=2928,
)
_NEWSESSIONNOTIFICATION = _descriptor.Descriptor(
name='NewSessionNotification',
full_name='iterm2.NewSessionNotification',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='uniqueIdentifier', full_name='iterm2.NewSessionNotification.uniqueIdentifier', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=2930,
serialized_end=2980,
)
_GETBUFFERREQUEST = _descriptor.Descriptor(
name='GetBufferRequest',
full_name='iterm2.GetBufferRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='session', full_name='iterm2.GetBufferRequest.session', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='line_range', full_name='iterm2.GetBufferRequest.line_range', index=1,
number=2, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=2982,
serialized_end=3056,
)
_GETBUFFERRESPONSE = _descriptor.Descriptor(
name='GetBufferResponse',
full_name='iterm2.GetBufferResponse',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='status', full_name='iterm2.GetBufferResponse.status', index=0,
number=1, type=14, cpp_type=8, label=1,
has_default_value=True, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='range', full_name='iterm2.GetBufferResponse.range', index=1,
number=2, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='contents', full_name='iterm2.GetBufferResponse.contents', index=2,
number=3, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='cursor', full_name='iterm2.GetBufferResponse.cursor', index=3,
number=4, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='num_lines_above_screen', full_name='iterm2.GetBufferResponse.num_lines_above_screen', index=4,
number=5, type=3, cpp_type=2, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
_GETBUFFERRESPONSE_STATUS,
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=3059,
serialized_end=3353,
)
_GETPROMPTREQUEST = _descriptor.Descriptor(
name='GetPromptRequest',
full_name='iterm2.GetPromptRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='session', full_name='iterm2.GetPromptRequest.session', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=3355,
serialized_end=3390,
)
_GETPROMPTRESPONSE = _descriptor.Descriptor(
name='GetPromptResponse',
full_name='iterm2.GetPromptResponse',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='status', full_name='iterm2.GetPromptResponse.status', index=0,
number=1, type=14, cpp_type=8, label=1,
has_default_value=True, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='prompt_range', full_name='iterm2.GetPromptResponse.prompt_range', index=1,
number=2, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='command_range', full_name='iterm2.GetPromptResponse.command_range', index=2,
number=3, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='output_range', full_name='iterm2.GetPromptResponse.output_range', index=3,
number=4, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='working_directory', full_name='iterm2.GetPromptResponse.working_directory', index=4,
number=5, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='command', full_name='iterm2.GetPromptResponse.command', index=5,
number=6, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
_GETPROMPTRESPONSE_STATUS,
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=3393,
serialized_end=3725,
)
_SETPROFILEPROPERTYREQUEST = _descriptor.Descriptor(
name='SetProfilePropertyRequest',
full_name='iterm2.SetProfilePropertyRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='session', full_name='iterm2.SetProfilePropertyRequest.session', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='key', full_name='iterm2.SetProfilePropertyRequest.key', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='json_value', full_name='iterm2.SetProfilePropertyRequest.json_value', index=2,
number=3, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=3727,
serialized_end=3804,
)
_SETPROFILEPROPERTYRESPONSE = _descriptor.Descriptor(
name='SetProfilePropertyResponse',
full_name='iterm2.SetProfilePropertyResponse',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='status', full_name='iterm2.SetProfilePropertyResponse.status', index=0,
number=1, type=14, cpp_type=8, label=1,
has_default_value=True, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
_SETPROFILEPROPERTYRESPONSE_STATUS,
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=3807,
serialized_end=3962,
)
_TRANSACTIONREQUEST = _descriptor.Descriptor(
name='TransactionRequest',
full_name='iterm2.TransactionRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='begin', full_name='iterm2.TransactionRequest.begin', index=0,
number=1, type=8, cpp_type=7, label=1,
has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=3964,
serialized_end=3999,
)
_TRANSACTIONRESPONSE = _descriptor.Descriptor(
name='TransactionResponse',
full_name='iterm2.TransactionResponse',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='status', full_name='iterm2.TransactionResponse.status', index=0,
number=1, type=14, cpp_type=8, label=1,
has_default_value=True, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
_TRANSACTIONRESPONSE_STATUS,
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=4002,
serialized_end=4145,
)
_LINERANGE = _descriptor.Descriptor(
name='LineRange',
full_name='iterm2.LineRange',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='screen_contents_only', full_name='iterm2.LineRange.screen_contents_only', index=0,
number=1, type=8, cpp_type=7, label=1,
has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='trailing_lines', full_name='iterm2.LineRange.trailing_lines', index=1,
number=2, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=4147,
serialized_end=4212,
)
_RANGE = _descriptor.Descriptor(
name='Range',
full_name='iterm2.Range',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='location', full_name='iterm2.Range.location', index=0,
number=1, type=3, cpp_type=2, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='length', full_name='iterm2.Range.length', index=1,
number=2, type=3, cpp_type=2, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=4214,
serialized_end=4255,
)
_COORDRANGE = _descriptor.Descriptor(
name='CoordRange',
full_name='iterm2.CoordRange',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='start', full_name='iterm2.CoordRange.start', index=0,
number=1, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='end', full_name='iterm2.CoordRange.end', index=1,
number=2, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=4257,
serialized_end=4327,
)
_COORD = _descriptor.Descriptor(
name='Coord',
full_name='iterm2.Coord',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='x', full_name='iterm2.Coord.x', index=0,
number=1, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='y', full_name='iterm2.Coord.y', index=1,
number=2, type=3, cpp_type=2, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=4329,
serialized_end=4358,
)
_LINECONTENTS = _descriptor.Descriptor(
name='LineContents',
full_name='iterm2.LineContents',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='text', full_name='iterm2.LineContents.text', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='code_points_per_cell', full_name='iterm2.LineContents.code_points_per_cell', index=1,
number=2, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='continuation', full_name='iterm2.LineContents.continuation', index=2,
number=3, type=14, cpp_type=8, label=1,
has_default_value=True, default_value=1,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
_LINECONTENTS_CONTINUATION,
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=4361,
serialized_end=4596,
)
_CODEPOINTSPERCELL = _descriptor.Descriptor(
name='CodePointsPerCell',
full_name='iterm2.CodePointsPerCell',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='num_code_points', full_name='iterm2.CodePointsPerCell.num_code_points', index=0,
number=1, type=5, cpp_type=1, label=1,
has_default_value=True, default_value=1,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='repeats', full_name='iterm2.CodePointsPerCell.repeats', index=1,
number=2, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=4598,
serialized_end=4662,
)
_LISTSESSIONSREQUEST = _descriptor.Descriptor(
name='ListSessionsRequest',
full_name='iterm2.ListSessionsRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=4664,
serialized_end=4685,
)
_SENDTEXTREQUEST = _descriptor.Descriptor(
name='SendTextRequest',
full_name='iterm2.SendTextRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='session', full_name='iterm2.SendTextRequest.session', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='text', full_name='iterm2.SendTextRequest.text', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=4687,
serialized_end=4735,
)
_SENDTEXTRESPONSE = _descriptor.Descriptor(
name='SendTextResponse',
full_name='iterm2.SendTextResponse',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='status', full_name='iterm2.SendTextResponse.status', index=0,
number=1, type=14, cpp_type=8, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
_SENDTEXTRESPONSE_STATUS,
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=4737,
serialized_end=4845,
)
_LISTSESSIONSRESPONSE_WINDOW = _descriptor.Descriptor(
name='Window',
full_name='iterm2.ListSessionsResponse.Window',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='tabs', full_name='iterm2.ListSessionsResponse.Window.tabs', index=0,
number=1, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=4926,
serialized_end=4982,
)
_LISTSESSIONSRESPONSE_TAB = _descriptor.Descriptor(
name='Tab',
full_name='iterm2.ListSessionsResponse.Tab',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='sessions', full_name='iterm2.ListSessionsResponse.Tab.sessions', index=0,
number=1, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=4984,
serialized_end=5045,
)
_LISTSESSIONSRESPONSE_SESSION = _descriptor.Descriptor(
name='Session',
full_name='iterm2.ListSessionsResponse.Session',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='uniqueIdentifier', full_name='iterm2.ListSessionsResponse.Session.uniqueIdentifier', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=5047,
serialized_end=5082,
)
_LISTSESSIONSRESPONSE = _descriptor.Descriptor(
name='ListSessionsResponse',
full_name='iterm2.ListSessionsResponse',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='windows', full_name='iterm2.ListSessionsResponse.windows', index=0,
number=1, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[_LISTSESSIONSRESPONSE_WINDOW, _LISTSESSIONSRESPONSE_TAB, _LISTSESSIONSRESPONSE_SESSION, ],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=4848,
serialized_end=5082,
)
_CREATETABREQUEST = _descriptor.Descriptor(
name='CreateTabRequest',
full_name='iterm2.CreateTabRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='profile_name', full_name='iterm2.CreateTabRequest.profile_name', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='window_id', full_name='iterm2.CreateTabRequest.window_id', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='tab_index', full_name='iterm2.CreateTabRequest.tab_index', index=2,
number=3, type=13, cpp_type=3, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='command', full_name='iterm2.CreateTabRequest.command', index=3,
number=4, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=5084,
serialized_end=5179,
)
_CREATETABRESPONSE = _descriptor.Descriptor(
name='CreateTabResponse',
full_name='iterm2.CreateTabResponse',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='status', full_name='iterm2.CreateTabResponse.status', index=0,
number=1, type=14, cpp_type=8, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='window_id', full_name='iterm2.CreateTabResponse.window_id', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='tab_id', full_name='iterm2.CreateTabResponse.tab_id', index=2,
number=3, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='session_id', full_name='iterm2.CreateTabResponse.session_id', index=3,
number=4, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
_CREATETABRESPONSE_STATUS,
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=5182,
serialized_end=5422,
)
_SPLITPANEREQUEST = _descriptor.Descriptor(
name='SplitPaneRequest',
full_name='iterm2.SplitPaneRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='session', full_name='iterm2.SplitPaneRequest.session', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='split_direction', full_name='iterm2.SplitPaneRequest.split_direction', index=1,
number=2, type=14, cpp_type=8, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='before', full_name='iterm2.SplitPaneRequest.before', index=2,
number=3, type=8, cpp_type=7, label=1,
has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='profile_name', full_name='iterm2.SplitPaneRequest.profile_name', index=3,
number=4, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
_SPLITPANEREQUEST_SPLITDIRECTION,
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=5425,
serialized_end=5612,
)
_SPLITPANERESPONSE = _descriptor.Descriptor(
name='SplitPaneResponse',
full_name='iterm2.SplitPaneResponse',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='status', full_name='iterm2.SplitPaneResponse.status', index=0,
number=1, type=14, cpp_type=8, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='session_id', full_name='iterm2.SplitPaneResponse.session_id', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
_SPLITPANERESPONSE_STATUS,
],
options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=5615,
serialized_end=5789,
)
_REQUEST.fields_by_name['get_buffer_request'].message_type = _GETBUFFERREQUEST
_REQUEST.fields_by_name['get_prompt_request'].message_type = _GETPROMPTREQUEST
_REQUEST.fields_by_name['transaction_request'].message_type = _TRANSACTIONREQUEST
_REQUEST.fields_by_name['notification_request'].message_type = _NOTIFICATIONREQUEST
_REQUEST.fields_by_name['register_tool_request'].message_type = _REGISTERTOOLREQUEST
_REQUEST.fields_by_name['set_profile_property_request'].message_type = _SETPROFILEPROPERTYREQUEST
_REQUEST.fields_by_name['list_sessions_request'].message_type = _LISTSESSIONSREQUEST
_REQUEST.fields_by_name['send_text_request'].message_type = _SENDTEXTREQUEST
_REQUEST.fields_by_name['create_tab_request'].message_type = _CREATETABREQUEST
_REQUEST.fields_by_name['split_pane_request'].message_type = _SPLITPANEREQUEST
_RESPONSE.fields_by_name['get_buffer_response'].message_type = _GETBUFFERRESPONSE
_RESPONSE.fields_by_name['get_prompt_response'].message_type = _GETPROMPTRESPONSE
_RESPONSE.fields_by_name['transaction_response'].message_type = _TRANSACTIONRESPONSE
_RESPONSE.fields_by_name['notification_response'].message_type = _NOTIFICATIONRESPONSE
_RESPONSE.fields_by_name['register_tool_response'].message_type = _REGISTERTOOLRESPONSE
_RESPONSE.fields_by_name['set_profile_property_response'].message_type = _SETPROFILEPROPERTYRESPONSE
_RESPONSE.fields_by_name['list_sessions_response'].message_type = _LISTSESSIONSRESPONSE
_RESPONSE.fields_by_name['send_text_response'].message_type = _SENDTEXTRESPONSE
_RESPONSE.fields_by_name['create_tab_response'].message_type = _CREATETABRESPONSE
_RESPONSE.fields_by_name['split_pane_response'].message_type = _SPLITPANERESPONSE
_RESPONSE.fields_by_name['notification'].message_type = _NOTIFICATION
_REGISTERTOOLREQUEST.fields_by_name['tool_type'].enum_type = _REGISTERTOOLREQUEST_TOOLTYPE
_REGISTERTOOLREQUEST_TOOLTYPE.containing_type = _REGISTERTOOLREQUEST
_REGISTERTOOLRESPONSE.fields_by_name['status'].enum_type = _REGISTERTOOLRESPONSE_STATUS
_REGISTERTOOLRESPONSE_STATUS.containing_type = _REGISTERTOOLRESPONSE
_NOTIFICATIONREQUEST.fields_by_name['notification_type'].enum_type = _NOTIFICATIONTYPE
_NOTIFICATIONRESPONSE.fields_by_name['status'].enum_type = _NOTIFICATIONRESPONSE_STATUS
_NOTIFICATIONRESPONSE_STATUS.containing_type = _NOTIFICATIONRESPONSE
_NOTIFICATION.fields_by_name['keystroke_notification'].message_type = _KEYSTROKENOTIFICATION
_NOTIFICATION.fields_by_name['screen_update_notification'].message_type = _SCREENUPDATENOTIFICATION
_NOTIFICATION.fields_by_name['prompt_notification'].message_type = _PROMPTNOTIFICATION
_NOTIFICATION.fields_by_name['location_change_notification'].message_type = _LOCATIONCHANGENOTIFICATION
_NOTIFICATION.fields_by_name['custom_escape_sequence_notification'].message_type = _CUSTOMESCAPESEQUENCENOTIFICATION
_NOTIFICATION.fields_by_name['new_session_notification'].message_type = _NEWSESSIONNOTIFICATION
_KEYSTROKENOTIFICATION.fields_by_name['modifiers'].enum_type = _KEYSTROKENOTIFICATION_MODIFIERS
_KEYSTROKENOTIFICATION_MODIFIERS.containing_type = _KEYSTROKENOTIFICATION
_GETBUFFERREQUEST.fields_by_name['line_range'].message_type = _LINERANGE
_GETBUFFERRESPONSE.fields_by_name['status'].enum_type = _GETBUFFERRESPONSE_STATUS
_GETBUFFERRESPONSE.fields_by_name['range'].message_type = _RANGE
_GETBUFFERRESPONSE.fields_by_name['contents'].message_type = _LINECONTENTS
_GETBUFFERRESPONSE.fields_by_name['cursor'].message_type = _COORD
_GETBUFFERRESPONSE_STATUS.containing_type = _GETBUFFERRESPONSE
_GETPROMPTRESPONSE.fields_by_name['status'].enum_type = _GETPROMPTRESPONSE_STATUS
_GETPROMPTRESPONSE.fields_by_name['prompt_range'].message_type = _COORDRANGE
_GETPROMPTRESPONSE.fields_by_name['command_range'].message_type = _COORDRANGE
_GETPROMPTRESPONSE.fields_by_name['output_range'].message_type = _COORDRANGE
_GETPROMPTRESPONSE_STATUS.containing_type = _GETPROMPTRESPONSE
_SETPROFILEPROPERTYRESPONSE.fields_by_name['status'].enum_type = _SETPROFILEPROPERTYRESPONSE_STATUS
_SETPROFILEPROPERTYRESPONSE_STATUS.containing_type = _SETPROFILEPROPERTYRESPONSE
_TRANSACTIONRESPONSE.fields_by_name['status'].enum_type = _TRANSACTIONRESPONSE_STATUS
_TRANSACTIONRESPONSE_STATUS.containing_type = _TRANSACTIONRESPONSE
_COORDRANGE.fields_by_name['start'].message_type = _COORD
_COORDRANGE.fields_by_name['end'].message_type = _COORD
_LINECONTENTS.fields_by_name['code_points_per_cell'].message_type = _CODEPOINTSPERCELL
_LINECONTENTS.fields_by_name['continuation'].enum_type = _LINECONTENTS_CONTINUATION
_LINECONTENTS_CONTINUATION.containing_type = _LINECONTENTS
_SENDTEXTRESPONSE.fields_by_name['status'].enum_type = _SENDTEXTRESPONSE_STATUS
_SENDTEXTRESPONSE_STATUS.containing_type = _SENDTEXTRESPONSE
_LISTSESSIONSRESPONSE_WINDOW.fields_by_name['tabs'].message_type = _LISTSESSIONSRESPONSE_TAB
_LISTSESSIONSRESPONSE_WINDOW.containing_type = _LISTSESSIONSRESPONSE
_LISTSESSIONSRESPONSE_TAB.fields_by_name['sessions'].message_type = _LISTSESSIONSRESPONSE_SESSION
_LISTSESSIONSRESPONSE_TAB.containing_type = _LISTSESSIONSRESPONSE
_LISTSESSIONSRESPONSE_SESSION.containing_type = _LISTSESSIONSRESPONSE
_LISTSESSIONSRESPONSE.fields_by_name['windows'].message_type = _LISTSESSIONSRESPONSE_WINDOW
_CREATETABRESPONSE.fields_by_name['status'].enum_type = _CREATETABRESPONSE_STATUS
_CREATETABRESPONSE_STATUS.containing_type = _CREATETABRESPONSE
_SPLITPANEREQUEST.fields_by_name['split_direction'].enum_type = _SPLITPANEREQUEST_SPLITDIRECTION
_SPLITPANEREQUEST_SPLITDIRECTION.containing_type = _SPLITPANEREQUEST
_SPLITPANERESPONSE.fields_by_name['status'].enum_type = _SPLITPANERESPONSE_STATUS
_SPLITPANERESPONSE_STATUS.containing_type = _SPLITPANERESPONSE
DESCRIPTOR.message_types_by_name['Request'] = _REQUEST
DESCRIPTOR.message_types_by_name['Response'] = _RESPONSE
DESCRIPTOR.message_types_by_name['RegisterToolRequest'] = _REGISTERTOOLREQUEST
DESCRIPTOR.message_types_by_name['RegisterToolResponse'] = _REGISTERTOOLRESPONSE
DESCRIPTOR.message_types_by_name['NotificationRequest'] = _NOTIFICATIONREQUEST
DESCRIPTOR.message_types_by_name['NotificationResponse'] = _NOTIFICATIONRESPONSE
DESCRIPTOR.message_types_by_name['Notification'] = _NOTIFICATION
DESCRIPTOR.message_types_by_name['KeystrokeNotification'] = _KEYSTROKENOTIFICATION
DESCRIPTOR.message_types_by_name['ScreenUpdateNotification'] = _SCREENUPDATENOTIFICATION
DESCRIPTOR.message_types_by_name['PromptNotification'] = _PROMPTNOTIFICATION
DESCRIPTOR.message_types_by_name['LocationChangeNotification'] = _LOCATIONCHANGENOTIFICATION
DESCRIPTOR.message_types_by_name['CustomEscapeSequenceNotification'] = _CUSTOMESCAPESEQUENCENOTIFICATION
DESCRIPTOR.message_types_by_name['NewSessionNotification'] = _NEWSESSIONNOTIFICATION
DESCRIPTOR.message_types_by_name['GetBufferRequest'] = _GETBUFFERREQUEST
DESCRIPTOR.message_types_by_name['GetBufferResponse'] = _GETBUFFERRESPONSE
DESCRIPTOR.message_types_by_name['GetPromptRequest'] = _GETPROMPTREQUEST
DESCRIPTOR.message_types_by_name['GetPromptResponse'] = _GETPROMPTRESPONSE
DESCRIPTOR.message_types_by_name['SetProfilePropertyRequest'] = _SETPROFILEPROPERTYREQUEST
DESCRIPTOR.message_types_by_name['SetProfilePropertyResponse'] = _SETPROFILEPROPERTYRESPONSE
DESCRIPTOR.message_types_by_name['TransactionRequest'] = _TRANSACTIONREQUEST
DESCRIPTOR.message_types_by_name['TransactionResponse'] = _TRANSACTIONRESPONSE
DESCRIPTOR.message_types_by_name['LineRange'] = _LINERANGE
DESCRIPTOR.message_types_by_name['Range'] = _RANGE
DESCRIPTOR.message_types_by_name['CoordRange'] = _COORDRANGE
DESCRIPTOR.message_types_by_name['Coord'] = _COORD
DESCRIPTOR.message_types_by_name['LineContents'] = _LINECONTENTS
DESCRIPTOR.message_types_by_name['CodePointsPerCell'] = _CODEPOINTSPERCELL
DESCRIPTOR.message_types_by_name['ListSessionsRequest'] = _LISTSESSIONSREQUEST
DESCRIPTOR.message_types_by_name['SendTextRequest'] = _SENDTEXTREQUEST
DESCRIPTOR.message_types_by_name['SendTextResponse'] = _SENDTEXTRESPONSE
DESCRIPTOR.message_types_by_name['ListSessionsResponse'] = _LISTSESSIONSRESPONSE
DESCRIPTOR.message_types_by_name['CreateTabRequest'] = _CREATETABREQUEST
DESCRIPTOR.message_types_by_name['CreateTabResponse'] = _CREATETABRESPONSE
DESCRIPTOR.message_types_by_name['SplitPaneRequest'] = _SPLITPANEREQUEST
DESCRIPTOR.message_types_by_name['SplitPaneResponse'] = _SPLITPANERESPONSE
DESCRIPTOR.enum_types_by_name['NotificationType'] = _NOTIFICATIONTYPE
Request = _reflection.GeneratedProtocolMessageType('Request', (_message.Message,), dict(
DESCRIPTOR = _REQUEST,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.Request)
))
_sym_db.RegisterMessage(Request)
Response = _reflection.GeneratedProtocolMessageType('Response', (_message.Message,), dict(
DESCRIPTOR = _RESPONSE,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.Response)
))
_sym_db.RegisterMessage(Response)
RegisterToolRequest = _reflection.GeneratedProtocolMessageType('RegisterToolRequest', (_message.Message,), dict(
DESCRIPTOR = _REGISTERTOOLREQUEST,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.RegisterToolRequest)
))
_sym_db.RegisterMessage(RegisterToolRequest)
RegisterToolResponse = _reflection.GeneratedProtocolMessageType('RegisterToolResponse', (_message.Message,), dict(
DESCRIPTOR = _REGISTERTOOLRESPONSE,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.RegisterToolResponse)
))
_sym_db.RegisterMessage(RegisterToolResponse)
NotificationRequest = _reflection.GeneratedProtocolMessageType('NotificationRequest', (_message.Message,), dict(
DESCRIPTOR = _NOTIFICATIONREQUEST,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.NotificationRequest)
))
_sym_db.RegisterMessage(NotificationRequest)
NotificationResponse = _reflection.GeneratedProtocolMessageType('NotificationResponse', (_message.Message,), dict(
DESCRIPTOR = _NOTIFICATIONRESPONSE,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.NotificationResponse)
))
_sym_db.RegisterMessage(NotificationResponse)
Notification = _reflection.GeneratedProtocolMessageType('Notification', (_message.Message,), dict(
DESCRIPTOR = _NOTIFICATION,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.Notification)
))
_sym_db.RegisterMessage(Notification)
KeystrokeNotification = _reflection.GeneratedProtocolMessageType('KeystrokeNotification', (_message.Message,), dict(
DESCRIPTOR = _KEYSTROKENOTIFICATION,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.KeystrokeNotification)
))
_sym_db.RegisterMessage(KeystrokeNotification)
ScreenUpdateNotification = _reflection.GeneratedProtocolMessageType('ScreenUpdateNotification', (_message.Message,), dict(
DESCRIPTOR = _SCREENUPDATENOTIFICATION,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.ScreenUpdateNotification)
))
_sym_db.RegisterMessage(ScreenUpdateNotification)
PromptNotification = _reflection.GeneratedProtocolMessageType('PromptNotification', (_message.Message,), dict(
DESCRIPTOR = _PROMPTNOTIFICATION,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.PromptNotification)
))
_sym_db.RegisterMessage(PromptNotification)
LocationChangeNotification = _reflection.GeneratedProtocolMessageType('LocationChangeNotification', (_message.Message,), dict(
DESCRIPTOR = _LOCATIONCHANGENOTIFICATION,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.LocationChangeNotification)
))
_sym_db.RegisterMessage(LocationChangeNotification)
CustomEscapeSequenceNotification = _reflection.GeneratedProtocolMessageType('CustomEscapeSequenceNotification', (_message.Message,), dict(
DESCRIPTOR = _CUSTOMESCAPESEQUENCENOTIFICATION,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.CustomEscapeSequenceNotification)
))
_sym_db.RegisterMessage(CustomEscapeSequenceNotification)
NewSessionNotification = _reflection.GeneratedProtocolMessageType('NewSessionNotification', (_message.Message,), dict(
DESCRIPTOR = _NEWSESSIONNOTIFICATION,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.NewSessionNotification)
))
_sym_db.RegisterMessage(NewSessionNotification)
GetBufferRequest = _reflection.GeneratedProtocolMessageType('GetBufferRequest', (_message.Message,), dict(
DESCRIPTOR = _GETBUFFERREQUEST,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.GetBufferRequest)
))
_sym_db.RegisterMessage(GetBufferRequest)
GetBufferResponse = _reflection.GeneratedProtocolMessageType('GetBufferResponse', (_message.Message,), dict(
DESCRIPTOR = _GETBUFFERRESPONSE,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.GetBufferResponse)
))
_sym_db.RegisterMessage(GetBufferResponse)
GetPromptRequest = _reflection.GeneratedProtocolMessageType('GetPromptRequest', (_message.Message,), dict(
DESCRIPTOR = _GETPROMPTREQUEST,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.GetPromptRequest)
))
_sym_db.RegisterMessage(GetPromptRequest)
GetPromptResponse = _reflection.GeneratedProtocolMessageType('GetPromptResponse', (_message.Message,), dict(
DESCRIPTOR = _GETPROMPTRESPONSE,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.GetPromptResponse)
))
_sym_db.RegisterMessage(GetPromptResponse)
SetProfilePropertyRequest = _reflection.GeneratedProtocolMessageType('SetProfilePropertyRequest', (_message.Message,), dict(
DESCRIPTOR = _SETPROFILEPROPERTYREQUEST,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.SetProfilePropertyRequest)
))
_sym_db.RegisterMessage(SetProfilePropertyRequest)
SetProfilePropertyResponse = _reflection.GeneratedProtocolMessageType('SetProfilePropertyResponse', (_message.Message,), dict(
DESCRIPTOR = _SETPROFILEPROPERTYRESPONSE,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.SetProfilePropertyResponse)
))
_sym_db.RegisterMessage(SetProfilePropertyResponse)
TransactionRequest = _reflection.GeneratedProtocolMessageType('TransactionRequest', (_message.Message,), dict(
DESCRIPTOR = _TRANSACTIONREQUEST,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.TransactionRequest)
))
_sym_db.RegisterMessage(TransactionRequest)
TransactionResponse = _reflection.GeneratedProtocolMessageType('TransactionResponse', (_message.Message,), dict(
DESCRIPTOR = _TRANSACTIONRESPONSE,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.TransactionResponse)
))
_sym_db.RegisterMessage(TransactionResponse)
LineRange = _reflection.GeneratedProtocolMessageType('LineRange', (_message.Message,), dict(
DESCRIPTOR = _LINERANGE,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.LineRange)
))
_sym_db.RegisterMessage(LineRange)
Range = _reflection.GeneratedProtocolMessageType('Range', (_message.Message,), dict(
DESCRIPTOR = _RANGE,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.Range)
))
_sym_db.RegisterMessage(Range)
CoordRange = _reflection.GeneratedProtocolMessageType('CoordRange', (_message.Message,), dict(
DESCRIPTOR = _COORDRANGE,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.CoordRange)
))
_sym_db.RegisterMessage(CoordRange)
Coord = _reflection.GeneratedProtocolMessageType('Coord', (_message.Message,), dict(
DESCRIPTOR = _COORD,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.Coord)
))
_sym_db.RegisterMessage(Coord)
LineContents = _reflection.GeneratedProtocolMessageType('LineContents', (_message.Message,), dict(
DESCRIPTOR = _LINECONTENTS,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.LineContents)
))
_sym_db.RegisterMessage(LineContents)
CodePointsPerCell = _reflection.GeneratedProtocolMessageType('CodePointsPerCell', (_message.Message,), dict(
DESCRIPTOR = _CODEPOINTSPERCELL,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.CodePointsPerCell)
))
_sym_db.RegisterMessage(CodePointsPerCell)
ListSessionsRequest = _reflection.GeneratedProtocolMessageType('ListSessionsRequest', (_message.Message,), dict(
DESCRIPTOR = _LISTSESSIONSREQUEST,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.ListSessionsRequest)
))
_sym_db.RegisterMessage(ListSessionsRequest)
SendTextRequest = _reflection.GeneratedProtocolMessageType('SendTextRequest', (_message.Message,), dict(
DESCRIPTOR = _SENDTEXTREQUEST,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.SendTextRequest)
))
_sym_db.RegisterMessage(SendTextRequest)
SendTextResponse = _reflection.GeneratedProtocolMessageType('SendTextResponse', (_message.Message,), dict(
DESCRIPTOR = _SENDTEXTRESPONSE,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.SendTextResponse)
))
_sym_db.RegisterMessage(SendTextResponse)
ListSessionsResponse = _reflection.GeneratedProtocolMessageType('ListSessionsResponse', (_message.Message,), dict(
Window = _reflection.GeneratedProtocolMessageType('Window', (_message.Message,), dict(
DESCRIPTOR = _LISTSESSIONSRESPONSE_WINDOW,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.ListSessionsResponse.Window)
))
,
Tab = _reflection.GeneratedProtocolMessageType('Tab', (_message.Message,), dict(
DESCRIPTOR = _LISTSESSIONSRESPONSE_TAB,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.ListSessionsResponse.Tab)
))
,
Session = _reflection.GeneratedProtocolMessageType('Session', (_message.Message,), dict(
DESCRIPTOR = _LISTSESSIONSRESPONSE_SESSION,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.ListSessionsResponse.Session)
))
,
DESCRIPTOR = _LISTSESSIONSRESPONSE,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.ListSessionsResponse)
))
_sym_db.RegisterMessage(ListSessionsResponse)
_sym_db.RegisterMessage(ListSessionsResponse.Window)
_sym_db.RegisterMessage(ListSessionsResponse.Tab)
_sym_db.RegisterMessage(ListSessionsResponse.Session)
CreateTabRequest = _reflection.GeneratedProtocolMessageType('CreateTabRequest', (_message.Message,), dict(
DESCRIPTOR = _CREATETABREQUEST,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.CreateTabRequest)
))
_sym_db.RegisterMessage(CreateTabRequest)
CreateTabResponse = _reflection.GeneratedProtocolMessageType('CreateTabResponse', (_message.Message,), dict(
DESCRIPTOR = _CREATETABRESPONSE,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.CreateTabResponse)
))
_sym_db.RegisterMessage(CreateTabResponse)
SplitPaneRequest = _reflection.GeneratedProtocolMessageType('SplitPaneRequest', (_message.Message,), dict(
DESCRIPTOR = _SPLITPANEREQUEST,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.SplitPaneRequest)
))
_sym_db.RegisterMessage(SplitPaneRequest)
SplitPaneResponse = _reflection.GeneratedProtocolMessageType('SplitPaneResponse', (_message.Message,), dict(
DESCRIPTOR = _SPLITPANERESPONSE,
__module__ = 'api_pb2'
# @@protoc_insertion_point(class_scope:iterm2.SplitPaneResponse)
))
_sym_db.RegisterMessage(SplitPaneResponse)
DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\242\002\003ITM'))
# @@protoc_insertion_point(module_scope)
#!/usr/bin/python
# This is python 2.7 on macOS 10.12.
from __future__ import print_function
import argparse
import dispatchq
import logging
import os
import select
import six
import sys
import thread
import threading
import time
import traceback
import websocket
class AsyncWebsocketApp(websocket.WebSocketApp):
def __init__(self, url, on_message=None, on_error=None, on_close=None, subprotocols=None):
websocket.WebSocketApp.__init__(self, url, on_message=on_message, on_error=on_error,
on_close=on_close, subprotocols=subprotocols)
self.dispatch_queue = dispatchq.IODispatchQueue()
def run_async(self, sockopt=None, sslopt=None,
ping_interval=0, ping_timeout=None,
http_proxy_host=None, http_proxy_port=None,
http_no_proxy=None, http_proxy_auth=None,
skip_utf8_validation=False,
host=None, origin=None):
"""
run event loop for WebSocket framework.
This loop is infinite loop and is alive during websocket is available.
sockopt: values for socket.setsockopt.
sockopt must be tuple
and each element is argument of sock.setsockopt.
sslopt: ssl socket optional dict.
ping_interval: automatically send "ping" command
every specified period(second)
if set to 0, not send automatically.
ping_timeout: timeout(second) if the pong message is not received.
http_proxy_host: http proxy host name.
http_proxy_port: http proxy port. If not set, set to 80.
http_no_proxy: host names, which doesn't use proxy.
skip_utf8_validation: skip utf8 validation.
host: update host header.
origin: update origin header.
"""
if not ping_timeout or ping_timeout <= 0:
ping_timeout = None
if ping_timeout and ping_interval and ping_interval <= ping_timeout:
raise WebSocketException("Ensure ping_interval > ping_timeout")
if sockopt is None:
sockopt = []
if sslopt is None:
sslopt = {}
if self.sock:
raise WebSocketException("socket is already opened")
thread = None
close_frame = None
try:
logging.debug("Starting")
self.sock = websocket.WebSocket(
self.get_mask_key, sockopt=sockopt, sslopt=sslopt,
fire_cont_frame=self.on_cont_message and True or False,
skip_utf8_validation=skip_utf8_validation)
logging.debug("Created socket")
self.sock.settimeout(websocket.getdefaulttimeout())
logging.debug("Connecting")
self.sock.connect(
self.url, header=self.header, cookie=self.cookie,
http_proxy_host=http_proxy_host,
http_proxy_port=http_proxy_port, http_no_proxy=http_no_proxy,
http_proxy_auth=http_proxy_auth, subprotocols=self.subprotocols,
host=host, origin=origin)
logging.debug("Calling on open")
self._callback(self.on_open)
if ping_interval:
event = threading.Event()
thread = threading.Thread(
target=self._send_ping, args=(ping_interval, event))
thread.setDaemon(True)
thread.start()
logging.debug("Entering mainloop")
while self.sock.connected:
logging.debug("Background websocket client calling select")
r, w, e = select.select(
(self.sock.sock, self.dispatch_queue.read_pipe), (), (), ping_timeout)
if not self.keep_running:
break
if r and self.dispatch_queue.read_pipe in r:
logging.debug("Background websocket client running queued jobs")
n = self.dispatch_queue.run_jobs()
if r and self.sock.sock in r:
op_code, frame = self.sock.recv_data_frame(True)
if op_code == websocket.ABNF.OPCODE_CLOSE:
close_frame = frame
break
elif op_code == websocket.ABNF.OPCODE_PING:
self._callback(self.on_ping, frame.data)
elif op_code == websocket.ABNF.OPCODE_PONG:
self.last_pong_tm = time.time()
self._callback(self.on_pong, frame.data)
elif op_code == websocket.ABNF.OPCODE_CONT and self.on_cont_message:
self._callback(self.on_data, data,
frame.opcode, frame.fin)
self._callback(self.on_cont_message,
frame.data, frame.fin)
else:
data = frame.data
if six.PY3 and op_code == websocket.ABNF.OPCODE_TEXT:
data = data.decode("utf-8")
self._callback(self.on_data, data, frame.opcode, True)
self._callback(self.on_message, data)
if ping_timeout and self.last_ping_tm \
and time.time() - self.last_ping_tm > ping_timeout \
and self.last_ping_tm - self.last_pong_tm > ping_timeout:
raise WebSocketTimeoutException("ping/pong timed out")
logging.debug("While loop exited")
except (Exception, KeyboardInterrupt, SystemExit) as e:
traceback.print_exc()
self._callback(self.on_error, e)
if isinstance(e, SystemExit):
# propagate SystemExit further
raise
finally:
logging.debug("Everything has gone to shit")
if thread and thread.isAlive():
event.set()
thread.join()
self.keep_running = False
if self.sock is not None:
self.sock.close()
close_args = self._get_close_args(
close_frame.data if close_frame else None)
self._callback(self.on_close, *close_args)
self.sock = None
import logging
import os
import threading
import time
class AbstractDispatchQueue(object):
def __init__(self):
self.queue = []
self.cond = threading.Condition()
def dispatch_async(self, f):
self.cond.acquire()
self.queue.append(f)
self.notify()
self.cond.release()
def run_jobs(self):
n = 0
job = self._dequeue()
while job is not None:
job()
job = self._dequeue()
n += 1
return n
def _run_jobs_locked(self):
n = 0
job = self._dequeue_locked()
while job is not None:
self.cond.release()
job()
n += 1
self.cond.acquire()
job = self._dequeue_locked()
return n
def _dequeue(self):
self.cond.acquire()
job = self._dequeue_locked()
self.cond.release()
return job
def _dequeue_locked(self):
job = None
if len(self.queue) > 0:
job = self.queue[0]
del self.queue[0]
return job
class IODispatchQueue(AbstractDispatchQueue):
def __init__(self):
AbstractDispatchQueue.__init__(self)
self.read_pipe, self.write_pipe = os.pipe()
def run_jobs(self):
n = AbstractDispatchQueue.run_jobs(self)
os.read(self.read_pipe, n)
def notify(self):
os.write(self.write_pipe, " ")
class IdleDispatchQueue(AbstractDispatchQueue):
def notify(self):
self.cond.notify_all()
def wait(self, timeout=None):
start_time = time.time()
if timeout is None:
self.cond.acquire()
while self._run_jobs_locked() == 0:
self.cond.wait()
self.cond.release()
else:
end_time = start_time + timeout
now = time.time()
self.cond.acquire()
while True:
n = self._run_jobs_locked()
if n == 0 and now < end_time:
self.cond.wait(timeout=end_time - now)
now = time.time()
if n > 0 or now >= end_time:
break;
self.cond.release()
import it2socket
_socket = None
_notification_handlers = []
def register_notification_handler(handler):
_notification_handlers.append(handler)
def _notification_handler(notification):
for handler in _notification_handlers:
handler(notification)
def get_socket():
global _socket
if _socket is None:
_socket = it2socket.Connection()
_socket.connect(_notification_handler)
return _socket
def wait():
if _socket is not None:
_socket.wait()
#!/usr/bin/python
# This is python 2.7 on macOS 10.12.
from __future__ import print_function
from it2global import get_socket, wait
import it2socket
import it2tab
import it2window
import api_pb2
class Hierarchy(object):
def __init__(self):
self.windows = None
self.future = get_socket().request_hierarchy()
def get_windows(self):
if self.future is not None:
self.parse(self.future.get())
self.future = None
return self.windows
def parse(self, response):
windows = []
for window in response.windows:
tabs = []
for tab in window.tabs:
sessions = []
for session in tab.sessions:
sessions.append(Session(session.uniqueIdentifier))
tabs.append(it2tab.Tab(None, sessions))
windows.append(it2window.Window(None, tabs))
self.windows = windows
def create_window(self, profile=None, command=None):
return it2window.FutureWindow(get_socket().request_create_tab(
profile=profile, window=None, index=None, command=command))
def __repr__(self):
return "<Hierarchy windows=%s>" % self.get_windows()
#!/usr/bin/python
# This is python 2.7 on macOS 10.12.
from __future__ import print_function
import api_pb2
from it2global import get_socket, wait, register_notification_handler
import dispatchq
import it2session
import it2socket
import it2tab
import threading
import time
_subscriptions = {}
_dispatch_queue = dispatchq.IdleDispatchQueue()
_cond = threading.Condition()
class Subscription(object):
def __init__(self, notification_type, session_id, handler):
self.notification_type = notification_type
self.session_id = session_id
self.handler = handler
self.key = (session_id, notification_type)
global _subscriptions
if self.key not in _subscriptions:
_subscriptions[self.key] = []
_subscriptions[self.key].append(self)
self.future = get_socket().request_subscribe(True, notification_type, session_id)
def unsubscribe(self):
_subscriptions[self.key].remove(self)
get_socket().request_subscribe(False, self.notification_type, self.session_id)
def handle(self, notification):
self.handler(notification)
class KeystrokeSubscription(Subscription):
def __init__(self, session_id, handler):
Subscription.__init__(self, api_pb2.NOTIFY_ON_KEYSTROKE, session_id, handler)
def _extract(notification):
key = None
if notification.HasField('keystroke_notification'):
key = (notification.keystroke_notification.session, api_pb2.NOTIFY_ON_KEYSTROKE)
notification=notification.keystroke_notification
elif notification.HasField('screen_update_notification'):
key = (notification.screen_update_notification.session, api_pb2.NOTIFY_ON_SCREEN_UPDATE)
notification = notification.screen_update_notification
elif notification.HasField('prompt_notification'):
key = (notification.prompt_notification.session, api_pb2.NOTIFY_ON_PROMPT)
notification = notification.prompt_notification
elif notification.HasField('location_change_notification'):
key = (notification.location_change_notification.session, api_pb2.NOTIFY_ON_LOCATION_CHANGE)
notification = notification.location_change_notification
elif notification.HasField('custom_escape_sequence_notification'):
key = (notification.custom_escape_sequence_notification.session,
api_pb2.NOTIFY_ON_CUSTOM_ESCAPE_SEQUENCE)
notification = notification.custom_escape_sequence_notification
elif notification.HasField('new_session_notification'):
key = (None, api_pb2.NOTIFY_ON_NEW_SESSION)
notification = notification.new_session_notification
return key, notification
def _dispatch_handle_notification(notification):
def _run_handlers():
print("Running handlers")
key, sub_notification = _extract(notification)
handlers = _subscriptions[key]
if handlers is not None:
for handler in handlers:
handler.handle(sub_notification)
print("Got a notification")
_dispatch_queue.dispatch_async(_run_handlers)
def wait(timeout=None):
_dispatch_queue.wait(timeout)
register_notification_handler(_dispatch_handle_notification)
#!/usr/bin/python
# This is python 2.7 on macOS 10.12.
from __future__ import print_function
import api_pb2
from it2global import get_socket, wait
import it2socket
import logging
class TextSender(object):
def __init__(self, future):
self.future = future
self.status = None
def get_status(self):
if self.future is not None:
logging.debug("Getting future %s" % str(self.future))
self.parse(self.future.get())
self.future = None
return self.status
def parse(self, response):
self.status = response.status
class AbstractSession(object):
def __repr__(self):
raise NotImplementedError("unimplemented")
def get_session_id(self):
raise NotImplementedError("unimplemented")
class FutureSession(AbstractSession):
def __init__(self, future):
self.future = future
self.session = None
def __repr__(self):
return "<FutureSession status=%s session=%s>" % (str(self.get_status()), repr(self._get_session()))
def get_session_id(self):
return self._get_session().get_session_id()
def send_text(self, text):
if self.future is None:
return self._get_session().send_text(text)
def create_inner(response):
return get_socket().request_send_text(self.get_session_id(), text)
sendTextFuture = it2socket.DependentFuture(self.future, create_inner)
return TextSender(sendTextFuture)
def split_pane(self, vertical=False, before=False, profile=None):
if self.future is None:
return self._get_session().split_pane(vertical=vertical, before=before, profile=profile)
def create_inner(response):
return get_socket().request_split_pane(
session=self.get_session_id(), vertical=vertical, before=before, profile=profile)
createSessionFuture = it2socket.DependentFuture(self.future, create_inner)
return FutureSession(createSessionFuture);
def _get_session(self):
self._parse_if_needed()
return self.session
def _parse_if_needed(self):
if self.future is not None:
self._parse(self.future.get())
self.future = None
def _parse(self, response):
self.status = response.status
if self.status == api_pb2.SplitPaneResponse.OK:
self.session = Session(response.session_id)
class Session(AbstractSession):
def __init__(self, session_id=None):
self.session_id = session_id
def __repr__(self):
return "<Session id=%s>" % self.session_id
def get_session_id(self):
return self.session_id
def send_text(self, text):
return TextSender(get_socket().request_send_text(self.session_id, text))
def split_pane(self, vertical=False, before=False, profile=None):
return FutureSession(get_socket().request_split_pane(
session=self.session_id, vertical=vertical, before=before, profile=profile))
#!/usr/bin/python
# This is python 2.7 on macOS 10.12.
from __future__ import print_function
import api_pb2
import rpcsocket
import logging
class Future(rpcsocket.SynchronousCallback):
def __init__(self, transform=None):
rpcsocket.SynchronousCallback.__init__(self)
if transform is None:
self.transform = lambda x: x
else:
self.transform = transform
self.transformed_response = None
self.watches = []
def get(self):
if self.transformed_response is None:
self.wait()
logging.debug("REALIZING %s" % str(self))
self.transformed_response = self.transform(self.response)
assert self.transformed_response is not None
self._invoke_watches(self.transformed_response)
return self.transformed_response
def _invoke_watches(self, response):
watches = self.watches
self.watches = None
for watch in watches:
watch(response)
def watch(self, callback):
if self.watches is not None:
logging.debug("Add watch to %s", str(self))
self.watches.append(callback)
else:
logging.debug("Immediately run callback for watch for %s" % str(self))
callback(self.get())
class DependentFuture(Future):
"""If you have a future A and you want to create future B, but B can't be
created yet because the information needed to make it doesn't exist yet, use
this. This provides a future C that creates B when A is realized. Its get()
blocks until A and B are both realized."""
def __init__(self, parent, create_inner):
Future.__init__(self)
self.parent = parent
self.innerFuture = None
self.create_inner = create_inner
parent.watch(self._parent_did_realize)
def _parent_did_realize(self, response):
logging.debug("PARENT REALIZED FOR %s" % str(self.parent))
self.innerFuture = self.create_inner(response)
for watch in self.watches:
self.innerFuture.watch(watch)
self.watches = None
def get(self):
logging.debug("Dependent future %s getting parent future %s" % (str(self), str(self.parent)))
parent = self.parent.get()
logging.debug("Dependent future %s got parent from future %s, produced inner future %s" % (str(self), str(self.parent), str(self.innerFuture)))
return self.innerFuture.get()
class Connection(object):
def __init__(self):
self.last_future = None
def wait(self):
if self.last_future is not None:
self.last_future.get()
self.last_future = None
def connect(self, notification_handler):
self.notification_handler = notification_handler;
self.ws = rpcsocket.RPCSocket(
self._handler,
"ws://localhost:1912/",
subprotocols = [ 'api.iterm2.com' ])
def request_hierarchy(self):
return self._send_async(self._list_sessions_request(),
lambda response: response.list_sessions_response)
def _list_sessions_request(self):
request = api_pb2.Request()
request.list_sessions_request.SetInParent()
return request
def request_send_text(self, session_id, text):
return self._send_async(self._send_text_request(session_id, text),
lambda response: response.send_text_response)
def _send_text_request(self, session_id, text):
request = api_pb2.Request()
if session_id is not None:
request.send_text_request.session = session_id
request.send_text_request.text = text
return request
def request_create_tab(self, profile=None, window=None, index=None, command=None):
return self._send_async(
self._create_tab_request(profile=profile, window=window, index=index, command=command),
lambda response: response.create_tab_response)
def _create_tab_request(self, profile=None, window=None, index=None, command=None):
request = api_pb2.Request()
request.create_tab_request.SetInParent()
if profile is not None:
request.create_tab_request.profile_name = profile
if window is not None:
request.create_tab_request.window_id = window
if index is not None:
request.create_tab_request.tab_index = index
if command is not None:
request.create_tab_request.command = command
return request
def request_split_pane(self, session=None, vertical=False, before=False, profile=None):
return self._send_async(
self._split_pane_request(session=session, vertical=vertical, before=before, profile=profile),
lambda response: response.split_pane_response)
def _split_pane_request(self, session=None, vertical=False, before=False, profile=None):
request = api_pb2.Request()
request.split_pane_request.SetInParent()
if session is not None:
request.split_pane_request.session = session
if vertical:
request.split_pane_request.split_direction = api_pb2.SplitPaneRequest.VERTICAL
else:
request.split_pane_request.split_direction = api_pb2.SplitPaneRequest.HORIZONTAL;
request.split_pane_request.before = False
if profile is not None:
request.split_pane_request.profile_name = profile
return request;
def request_subscribe(self, subscribe, notification_type, session=None):
return self._send_async(
self._subscribe_request(subscribe, notification_type, session=session),
lambda response: response.notification_response)
def _subscribe_request(self, subscribe, notification_type, session=None):
request = api_pb2.Request()
if session is not None:
request.notification_request.session = session
request.notification_request.subscribe = subscribe
request.notification_request.notification_type = notification_type
return request
def _send_sync(self, request):
return self.ws.sync_send_rpc(request.SerializeToString())
def _send_async(self, request, transform):
future = Future(transform)
self.ws.async_send_rpc(request.SerializeToString(), future.callback)
self.last_future = future
return future
def _handler(self, message):
response = api_pb2.Response()
response.ParseFromString(message)
if response.HasField('notification'):
self.notification_handler(response.notification)
return None
else:
logging.debug("Got a non-notification message" + str(response))
return response
#!/usr/bin/python
# This is python 2.7 on macOS 10.12.
from __future__ import print_function
from it2global import get_socket, wait
import it2session
import it2socket
import api_pb2
class AbstractTab(object):
def __repr__(self):
raise NotImplementedError("unimplemented")
def get_tab_id(self):
raise NotImplementedError("unimplemented")
def get_sessions(self):
raise NotImplementedError("unimplemented")
class FutureTab(AbstractTab):
def __init__(self, future):
self.future = future
self.tab = None
self.status = None
def __repr__(self):
return "<FutureTab status=%s tab=%s>" % (str(self.get_status()), repr(self._get_tab()))
def get_tab_id(self):
return self._get_tab().get_tab_id()
def get_sessions(self):
return self._get_tab().get_sessions()
def get_status(self):
self.parse_if_needed()
return self.status
def _get_tab(self):
self._parse_if_needed()
return self.tab
def _parse_if_needed(self):
if self.future is not None:
self._parse(self.future.get())
self.future = None
def _parse(self, response):
self.status = response.status
if self.status == api_pb2.CreateTabResponse.OK:
self.tab = Tab(response.tab_id, [ it2session.Session(response.session_id) ])
class Tab(AbstractTab):
def __init__(self, tab_id, sessions):
self.tab_id = tab_id
self.sessions = sessions
def __repr__(self):
return "<Tab id=%s sessions=%s>" % (self.tab_id, self.sessions)
def get_tab_id(self):
return self.tab_id
def get_sessions(self):
return self.sessions
#!/usr/bin/python
# This is python 2.7 on macOS 10.12.
from __future__ import print_function
from it2global import get_socket, wait
import it2session
import it2socket
import api_pb2
import it2tab
class AbstractWindow(object):
def __repr__(self):
raise NotImplementedError("unimplemented")
def get_window_id(self):
raise NotImplementedError("unimplemented")
def get_tabs(self):
raise NotImplementedError("unimplemented")
def create_tab(self, profile=None, command=None, index=None):
raise NotImplementedError("unimplemented")
class FutureWindow(AbstractWindow):
def __init__(self, future):
self.future = future
self.window = None
self.status = None
def __repr__(self):
return "<FutureWindow status=%s window=%s>" % (str(self.get_status()), repr(self._get_window()))
def get_window_id(self):
return self._get_window().get_window_id()
def get_tabs(self):
return self._get_window().get_tabs()
def create_tab(self, profile=None, command=None, index=None):
if self.future is None:
return self._get_window().create_tab(profile=profile, command=command, index=index)
def create_inner(response):
return get_socket().request_create_tab(
profile=profile, window=self.get_window_id(), index=index, command=command)
createTabFuture = it2socket.DependentFuture(self.future, create_inner)
return it2tab.FutureTab(createTabFuture);
def get_status(self):
self._parse_if_needed()
return self.status
def _get_window(self):
self._parse_if_needed()
return self.window
def _parse_if_needed(self):
if self.future is not None:
self._parse(self.future.get())
self.future = None
def _parse(self, response):
self.status = response.status
if self.status == api_pb2.CreateTabResponse.OK:
session = it2session.Session(response.session_id)
tab = it2tab.Tab(response.tab_id, [ session ])
self.window = Window(response.window_id, [ tab ])
class Window(AbstractWindow):
def __init__(self, window_id, tabs):
self.window_id = window_id
self.tabs = tabs
def __repr__(self):
return "<Window id=%s tabs=%s>" % (self.window_id, self.tabs)
def get_window_id(self):
return self.window_id
def get_tabs(self):
return self.tabs
def create_tab(self, profile=None, command=None, index=None):
return it2tab.FutureTab(get_socket().request_create_tab(
profile=profile, window=self.window_id, index=index, command=command))
from asyncws import AsyncWebsocketApp
import logging
import threading
import websocket
class SynchronousCallback(object):
def __init__(self):
self.cond = threading.Condition()
self.response = None
def callback(self, r):
logging.debug("Callback invoked")
self.cond.acquire()
self.response = r
self.cond.notify_all()
self.cond.release()
def wait(self):
logging.debug("Waiting for callback to be invoked")
self.cond.acquire()
while self.response is None:
self.cond.wait()
logging.debug("Callback was invoked")
self.cond.release()
class RPCSocket(AsyncWebsocketApp):
def __init__(self, handler, url, subprotocols):
AsyncWebsocketApp.__init__(self, url, on_message=self._on_rpc_message, subprotocols=subprotocols)
self.callbacks = []
self.callbacks_lock = threading.Lock()
self.handler = handler
thread = threading.Thread(target=self.run_async)
thread.setDaemon(True)
logging.debug("Kick off background websocket client")
thread.start()
def sync_send_rpc(self, message):
callback = SynchronousCallback()
def f():
self.send(message, opcode=websocket.ABNF.OPCODE_BINARY)
self.dispatch_async(f)
self._append_callback(callback.callback)
logging.debug("Wait for callback")
callback.wait()
logging.debug("Done waiting")
return callback.response
def async_send_rpc(self, message, callback):
def f():
self.send(message, opcode=websocket.ABNF.OPCODE_BINARY)
self.dispatch_queue.dispatch_async(f)
self._append_callback(callback)
def _append_callback(self, callback):
self.callbacks_lock.acquire()
self.callbacks.append(callback)
self.callbacks_lock.release()
def _on_rpc_message(self, ws, message):
parsed = self.handler(message)
if parsed is not None:
logging.debug("Running the next callback")
self.callbacks_lock.acquire()
callback = self.callbacks[0]
del self.callbacks[0]
self.callbacks_lock.release()
callback(parsed)
#!/usr/bin/python
# This is python 2.7 on macOS 10.12.
from __future__ import print_function
import it2hierarchy
import it2global
import it2notifications
import it2session
import it2socket
import logging
import time
def main():
# logging.basicConfig(level=logging.DEBUG)
logging.basicConfig()
hierarchy = it2hierarchy.Hierarchy()
window = hierarchy.create_window()
tab = window.create_tab()
session = tab.get_sessions()[0]
s2 = session.split_pane(vertical=True).split_pane()
s2.send_text("Hello world").get_status()
def handle_keystroke(notification):
print("YOU PRESSED A DAMN KEY")
it2notifications.KeystrokeSubscription(s2.get_session_id(), handle_keystroke)
it2notifications.wait(5)
if __name__ == "__main__":
main()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment