@leaflow/sdk 0.194.0 → 0.196.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -239,6 +239,31 @@ export type Size = Message<"leaflow.fleet.virtualdesktop.display.v1.Size"> & {
239
239
  * Use `create(SizeSchema)` to create a new message.
240
240
  */
241
241
  export declare const SizeSchema: GenMessage<Size>;
242
+ /**
243
+ * A point in pixels (X11 x, y). The field that holds it states the coordinate
244
+ * space.
245
+ *
246
+ * @generated from message leaflow.fleet.virtualdesktop.display.v1.Point
247
+ */
248
+ export type Point = Message<"leaflow.fleet.virtualdesktop.display.v1.Point"> & {
249
+ /**
250
+ * The horizontal coordinate. Negative when it lies left of the origin.
251
+ *
252
+ * @generated from field: sint32 x = 1;
253
+ */
254
+ x: number;
255
+ /**
256
+ * The vertical coordinate. Negative when it lies above the origin.
257
+ *
258
+ * @generated from field: sint32 y = 2;
259
+ */
260
+ y: number;
261
+ };
262
+ /**
263
+ * Describes the message leaflow.fleet.virtualdesktop.display.v1.Point.
264
+ * Use `create(PointSchema)` to create a new message.
265
+ */
266
+ export declare const PointSchema: GenMessage<Point>;
242
267
  /**
243
268
  * An axis-aligned rectangle in pixels (X11 RECTANGLE). The field that holds it
244
269
  * states the coordinate space.
@@ -5,7 +5,7 @@ import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
5
5
  /**
6
6
  * Describes the file leaflow/fleet/virtualdesktop/display/v1/display.proto.
7
7
  */
8
- export const file_leaflow_fleet_virtualdesktop_display_v1_display = /*@__PURE__*/ fileDesc("CjVsZWFmbG93L2ZsZWV0L3ZpcnR1YWxkZXNrdG9wL2Rpc3BsYXkvdjEvZGlzcGxheS5wcm90bxInbGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5kaXNwbGF5LnYxImoKDUNsaWVudE1lc3NhZ2USTgoJY29uZmlndXJlGAEgASgLMjkubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5kaXNwbGF5LnYxLkRpc3BsYXlDb25maWd1cmVIAEIJCgdtZXNzYWdlIq0BCg1TZXJ2ZXJNZXNzYWdlEkMKB2Rpc3BsYXkYASABKAsyMC5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmRpc3BsYXkudjEuRGlzcGxheUgAEkwKDHNuYXBzaG90X2VuZBgCIAEoCzI0LmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuZGlzcGxheS52MS5TbmFwc2hvdEVuZEgAQgkKB21lc3NhZ2UiygIKB0Rpc3BsYXkSSgoMc2Vzc2lvbl9tb2RlGAEgASgOMjQubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5kaXNwbGF5LnYxLlNlc3Npb25Nb2RlEjsKBHNpemUYAiABKAsyLS5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmRpc3BsYXkudjEuU2l6ZRI/CghtYXhfc2l6ZRgDIAEoCzItLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuZGlzcGxheS52MS5TaXplEkUKCXdvcmtfYXJlYRgEIAEoCzIyLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuZGlzcGxheS52MS5SZWN0YW5nbGUSGwoOcm9vdF93aW5kb3dfaWQYBSABKARIAIgBAUIRCg9fcm9vdF93aW5kb3dfaWQijwIKEERpc3BsYXlDb25maWd1cmUSOwoEc2l6ZRgBIAEoCzItLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuZGlzcGxheS52MS5TaXplEhoKEmRldmljZV9waXhlbF9yYXRpbxgCIAEoARJFCgl3b3JrX2FyZWEYAyABKAsyMi5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmRpc3BsYXkudjEuUmVjdGFuZ2xlEkwKDWZyYW1lX2V4dGVudHMYBCABKAsyNS5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmRpc3BsYXkudjEuRnJhbWVFeHRlbnRzEg0KBWRyaXZlGAUgASgIIkgKDEZyYW1lRXh0ZW50cxIMCgRsZWZ0GAEgASgNEg0KBXJpZ2h0GAIgASgNEgsKA3RvcBgDIAEoDRIOCgZib3R0b20YBCABKA0iDQoLU25hcHNob3RFbmQiJQoEU2l6ZRINCgV3aWR0aBgBIAEoDRIOCgZoZWlnaHQYAiABKA0iQAoJUmVjdGFuZ2xlEgkKAXgYASABKBESCQoBeRgCIAEoERINCgV3aWR0aBgDIAEoDRIOCgZoZWlnaHQYBCABKA0iewoFSW1hZ2USEQoJbWltZV90eXBlGAEgASgJEgwKBGRhdGEYAiABKAwSOwoEc2l6ZRgDIAEoCzItLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuZGlzcGxheS52MS5TaXplEhQKDGNvbnRlbnRfaGFzaBgEIAEoDCJZCgRJY29uEj4KBmltYWdlcxgBIAMoCzIuLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuZGlzcGxheS52MS5JbWFnZRIRCglpY29uX25hbWUYAiABKAkqYAoLU2Vzc2lvbk1vZGUSHAoYU0VTU0lPTl9NT0RFX1VOU1BFQ0lGSUVEEAASGQoVU0VTU0lPTl9NT0RFX1NFQU1MRVNTEAESGAoUU0VTU0lPTl9NT0RFX0RFU0tUT1AQAkJNWktnaXRodWIuY29tL2xlYWZsb3dhcGlzL2xlYWZsb3ctZ28vZmxlZXQvdmlydHVhbGRlc2t0b3AvZGlzcGxheS92MTtkaXNwbGF5djFiBnByb3RvMw");
8
+ export const file_leaflow_fleet_virtualdesktop_display_v1_display = /*@__PURE__*/ fileDesc("CjVsZWFmbG93L2ZsZWV0L3ZpcnR1YWxkZXNrdG9wL2Rpc3BsYXkvdjEvZGlzcGxheS5wcm90bxInbGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5kaXNwbGF5LnYxImoKDUNsaWVudE1lc3NhZ2USTgoJY29uZmlndXJlGAEgASgLMjkubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5kaXNwbGF5LnYxLkRpc3BsYXlDb25maWd1cmVIAEIJCgdtZXNzYWdlIq0BCg1TZXJ2ZXJNZXNzYWdlEkMKB2Rpc3BsYXkYASABKAsyMC5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmRpc3BsYXkudjEuRGlzcGxheUgAEkwKDHNuYXBzaG90X2VuZBgCIAEoCzI0LmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuZGlzcGxheS52MS5TbmFwc2hvdEVuZEgAQgkKB21lc3NhZ2UiygIKB0Rpc3BsYXkSSgoMc2Vzc2lvbl9tb2RlGAEgASgOMjQubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5kaXNwbGF5LnYxLlNlc3Npb25Nb2RlEjsKBHNpemUYAiABKAsyLS5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmRpc3BsYXkudjEuU2l6ZRI/CghtYXhfc2l6ZRgDIAEoCzItLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuZGlzcGxheS52MS5TaXplEkUKCXdvcmtfYXJlYRgEIAEoCzIyLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuZGlzcGxheS52MS5SZWN0YW5nbGUSGwoOcm9vdF93aW5kb3dfaWQYBSABKARIAIgBAUIRCg9fcm9vdF93aW5kb3dfaWQijwIKEERpc3BsYXlDb25maWd1cmUSOwoEc2l6ZRgBIAEoCzItLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuZGlzcGxheS52MS5TaXplEhoKEmRldmljZV9waXhlbF9yYXRpbxgCIAEoARJFCgl3b3JrX2FyZWEYAyABKAsyMi5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmRpc3BsYXkudjEuUmVjdGFuZ2xlEkwKDWZyYW1lX2V4dGVudHMYBCABKAsyNS5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmRpc3BsYXkudjEuRnJhbWVFeHRlbnRzEg0KBWRyaXZlGAUgASgIIkgKDEZyYW1lRXh0ZW50cxIMCgRsZWZ0GAEgASgNEg0KBXJpZ2h0GAIgASgNEgsKA3RvcBgDIAEoDRIOCgZib3R0b20YBCABKA0iDQoLU25hcHNob3RFbmQiJQoEU2l6ZRINCgV3aWR0aBgBIAEoDRIOCgZoZWlnaHQYAiABKA0iHQoFUG9pbnQSCQoBeBgBIAEoERIJCgF5GAIgASgRIkAKCVJlY3RhbmdsZRIJCgF4GAEgASgREgkKAXkYAiABKBESDQoFd2lkdGgYAyABKA0SDgoGaGVpZ2h0GAQgASgNInsKBUltYWdlEhEKCW1pbWVfdHlwZRgBIAEoCRIMCgRkYXRhGAIgASgMEjsKBHNpemUYAyABKAsyLS5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmRpc3BsYXkudjEuU2l6ZRIUCgxjb250ZW50X2hhc2gYBCABKAwiWQoESWNvbhI+CgZpbWFnZXMYASADKAsyLi5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmRpc3BsYXkudjEuSW1hZ2USEQoJaWNvbl9uYW1lGAIgASgJKmAKC1Nlc3Npb25Nb2RlEhwKGFNFU1NJT05fTU9ERV9VTlNQRUNJRklFRBAAEhkKFVNFU1NJT05fTU9ERV9TRUFNTEVTUxABEhgKFFNFU1NJT05fTU9ERV9ERVNLVE9QEAJCTVpLZ2l0aHViLmNvbS9sZWFmbG93YXBpcy9sZWFmbG93LWdvL2ZsZWV0L3ZpcnR1YWxkZXNrdG9wL2Rpc3BsYXkvdjE7ZGlzcGxheXYxYgZwcm90bzM");
9
9
  /**
10
10
  * Describes the message leaflow.fleet.virtualdesktop.display.v1.ClientMessage.
11
11
  * Use `create(ClientMessageSchema)` to create a new message.
@@ -41,21 +41,26 @@ export const SnapshotEndSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_vi
41
41
  * Use `create(SizeSchema)` to create a new message.
42
42
  */
43
43
  export const SizeSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_virtualdesktop_display_v1_display, 6);
44
+ /**
45
+ * Describes the message leaflow.fleet.virtualdesktop.display.v1.Point.
46
+ * Use `create(PointSchema)` to create a new message.
47
+ */
48
+ export const PointSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_virtualdesktop_display_v1_display, 7);
44
49
  /**
45
50
  * Describes the message leaflow.fleet.virtualdesktop.display.v1.Rectangle.
46
51
  * Use `create(RectangleSchema)` to create a new message.
47
52
  */
48
- export const RectangleSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_virtualdesktop_display_v1_display, 7);
53
+ export const RectangleSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_virtualdesktop_display_v1_display, 8);
49
54
  /**
50
55
  * Describes the message leaflow.fleet.virtualdesktop.display.v1.Image.
51
56
  * Use `create(ImageSchema)` to create a new message.
52
57
  */
53
- export const ImageSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_virtualdesktop_display_v1_display, 8);
58
+ export const ImageSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_virtualdesktop_display_v1_display, 9);
54
59
  /**
55
60
  * Describes the message leaflow.fleet.virtualdesktop.display.v1.Icon.
56
61
  * Use `create(IconSchema)` to create a new message.
57
62
  */
58
- export const IconSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_virtualdesktop_display_v1_display, 9);
63
+ export const IconSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_virtualdesktop_display_v1_display, 10);
59
64
  /**
60
65
  * How the session presents its windows. Fixed for the life of the session.
61
66
  *
@@ -380,15 +380,18 @@ export declare const PointerWheelSchema: GenMessage<PointerWheel>;
380
380
  */
381
381
  export type TextInputState = Message<"leaflow.fleet.virtualdesktop.input.v1.TextInputState"> & {
382
382
  /**
383
- * The window of the focused editor. 0 when no window has focus.
383
+ * The window that has the keyboard focus. 0 when no window has it.
384
384
  *
385
385
  * @generated from field: uint64 window_id = 1;
386
386
  */
387
387
  windowId: bigint;
388
388
  /**
389
- * An editable control or a terminal has focus and accepts text, whether
390
- * or not its caret is known. The participant keeps a local text field focused
391
- * while it is set, so that its own input method can start.
389
+ * The window takes typed text: an editor, a terminal, or any window that
390
+ * reads keys, whether or not the session knows its editor or caret. Unset
391
+ * while no window has the keyboard focus or an application grabbed the
392
+ * keyboard, as an open menu does. The participant keeps its own input
393
+ * method on while it is set, with a local text field focused where it needs
394
+ * one.
392
395
  *
393
396
  * @generated from field: bool enabled = 2;
394
397
  */
@@ -417,7 +420,8 @@ export type TextInputState = Message<"leaflow.fleet.virtualdesktop.input.v1.Text
417
420
  /**
418
421
  * Identifies the focused editor within the session, opaque. Different
419
422
  * editors of one window differ; moving the caret or resizing does not change
420
- * it. Empty when nothing editable has focus or it cannot be verified.
423
+ * it. Empty when the session cannot tell which editor has the focus; text
424
+ * then goes where the keys go, as typed keys where nothing else takes it.
421
425
  *
422
426
  * @generated from field: string input_context_id = 6;
423
427
  */
@@ -439,13 +443,32 @@ export type TextInputState = Message<"leaflow.fleet.virtualdesktop.input.v1.Text
439
443
  */
440
444
  controlRectangle?: Rectangle | undefined;
441
445
  /**
442
- * The editor's native input context takes Composition messages: preedit
443
- * text and the real keys consumed while composing. Otherwise the participant
444
- * sends only InsertText.
446
+ * The editor shows preedit text itself: its native input context takes
447
+ * Composition messages, the preedit and the real keys consumed while
448
+ * composing, and the participant does not draw its input method's preedit.
449
+ * Otherwise the participant draws the preedit itself, at cursor_rectangle,
450
+ * else control_rectangle, else where the person last pressed in the window,
451
+ * and sends only InsertText.
445
452
  *
446
453
  * @generated from field: bool composition_supported = 9;
447
454
  */
448
455
  compositionSupported: boolean;
456
+ /**
457
+ * What the editor is for, as its application declared it to its input
458
+ * method (IBus ContentType, GTK input-purpose). A participant switches its
459
+ * input method off for PASSWORD and PIN, as a native one does. UNSPECIFIED
460
+ * when it declared nothing.
461
+ *
462
+ * @generated from field: leaflow.fleet.virtualdesktop.input.v1.InputPurpose purpose = 10;
463
+ */
464
+ purpose: InputPurpose;
465
+ /**
466
+ * How the editor wants its text, as its application declared it (IBus
467
+ * ContentType, GTK input-hints).
468
+ *
469
+ * @generated from field: repeated leaflow.fleet.virtualdesktop.input.v1.InputHint hints = 11;
470
+ */
471
+ hints: InputHint[];
449
472
  };
450
473
  /**
451
474
  * Describes the message leaflow.fleet.virtualdesktop.input.v1.TextInputState.
@@ -471,21 +494,21 @@ export type InsertText = Message<"leaflow.fleet.virtualdesktop.input.v1.InsertTe
471
494
  */
472
495
  text: string;
473
496
  /**
474
- * The window of the editor, from TextInputState. A window that is gone or
475
- * no longer focused cancels the insertion; it is never activated for it.
497
+ * The window, from TextInputState. A window that is gone or no longer
498
+ * focused cancels the insertion; it is never activated for it.
476
499
  *
477
500
  * @generated from field: uint64 window_id = 3;
478
501
  */
479
502
  windowId: bigint;
480
503
  /**
481
- * TextInputState.input_context_id of the editor.
504
+ * TextInputState.input_context_id of the editor. Empty when it named none.
482
505
  *
483
506
  * @generated from field: string input_context_id = 4;
484
507
  */
485
508
  inputContextId: string;
486
509
  /**
487
510
  * TextInputState.focus_serial when the composition began. Checked for
488
- * INSERT_FROM_COMPOSITION only.
511
+ * INSERT_FROM_COMPOSITION with an input_context_id only.
489
512
  *
490
513
  * @generated from field: uint64 focus_serial = 5;
491
514
  */
@@ -542,7 +565,7 @@ export type Composition = Message<"leaflow.fleet.virtualdesktop.input.v1.Composi
542
565
  resizeCounter: bigint;
543
566
  /**
544
567
  * Chosen by the participant at BEGIN, unique on the connection; the later
545
- * phases repeat it.
568
+ * phases repeat it. A KEY release may name any composition, or none.
546
569
  *
547
570
  * @generated from field: uint64 composition_id = 6;
548
571
  */
@@ -554,8 +577,9 @@ export type Composition = Message<"leaflow.fleet.virtualdesktop.input.v1.Composi
554
577
  */
555
578
  phase: CompositionPhase;
556
579
  /**
557
- * UPDATE and COMMIT: the preedit or committed text, UTF-8, at most 64 KiB.
558
- * May be empty to end an empty composition. Empty for the other phases.
580
+ * UPDATE: the whole preedit text now. COMMIT: the whole result. UTF-8, at
581
+ * most 64 KiB. May be empty: an empty UPDATE hides the preedit, an empty
582
+ * COMMIT ends the composition without text. Empty for the other phases.
559
583
  *
560
584
  * @generated from field: string text = 8;
561
585
  */
@@ -587,7 +611,11 @@ export type Composition = Message<"leaflow.fleet.virtualdesktop.input.v1.Composi
587
611
  */
588
612
  export declare const CompositionSchema: GenMessage<Composition>;
589
613
  /**
590
- * A real key consumed while composing. Never made up from text.
614
+ * A real key consumed while composing. Never made up from text. The session
615
+ * knows a key by the participant and its code, as a keyboard does: a release
616
+ * lets go the key of that code the participant holds, whatever composition it
617
+ * names, and a press of a key already held changes nothing. The key that ends
618
+ * a composition is released after it; its release is still sent.
591
619
  *
592
620
  * @generated from message leaflow.fleet.virtualdesktop.input.v1.CompositionKey
593
621
  */
@@ -658,8 +686,9 @@ export declare const InputErrorSchema: GenMessage<InputError>;
658
686
  * TEXT_INPUT_NOT_DELIVERED the text could not be handed over;
659
687
  * TEXT_INPUT_UNCONFIRMED the application did not confirm the text
660
688
  * (see paused);
661
- * NATIVE_COMPOSITION_CANCELLED the native input context ended the
662
- * composition.
689
+ * NATIVE_COMPOSITION_CANCELLED the composition ended without its COMMIT,
690
+ * as when another participant typed into
691
+ * its editor.
663
692
  *
664
693
  * @generated from message leaflow.fleet.virtualdesktop.input.v1.TextInputError
665
694
  */
@@ -1219,6 +1248,174 @@ export type GetPointerPositionResponse = Message<"leaflow.fleet.virtualdesktop.i
1219
1248
  * Use `create(GetPointerPositionResponseSchema)` to create a new message.
1220
1249
  */
1221
1250
  export declare const GetPointerPositionResponseSchema: GenMessage<GetPointerPositionResponse>;
1251
+ /**
1252
+ * What an editor is for (IBus InputPurpose, GTK GtkInputPurpose).
1253
+ *
1254
+ * @generated from enum leaflow.fleet.virtualdesktop.input.v1.InputPurpose
1255
+ */
1256
+ export declare enum InputPurpose {
1257
+ /**
1258
+ * @generated from enum value: INPUT_PURPOSE_UNSPECIFIED = 0;
1259
+ */
1260
+ UNSPECIFIED = 0,
1261
+ /**
1262
+ * Any text.
1263
+ *
1264
+ * @generated from enum value: INPUT_PURPOSE_FREE_FORM = 1;
1265
+ */
1266
+ FREE_FORM = 1,
1267
+ /**
1268
+ * Letters only.
1269
+ *
1270
+ * @generated from enum value: INPUT_PURPOSE_ALPHA = 2;
1271
+ */
1272
+ ALPHA = 2,
1273
+ /**
1274
+ * Digits only.
1275
+ *
1276
+ * @generated from enum value: INPUT_PURPOSE_DIGITS = 3;
1277
+ */
1278
+ DIGITS = 3,
1279
+ /**
1280
+ * A number.
1281
+ *
1282
+ * @generated from enum value: INPUT_PURPOSE_NUMBER = 4;
1283
+ */
1284
+ NUMBER = 4,
1285
+ /**
1286
+ * A phone number.
1287
+ *
1288
+ * @generated from enum value: INPUT_PURPOSE_PHONE = 5;
1289
+ */
1290
+ PHONE = 5,
1291
+ /**
1292
+ * A URL.
1293
+ *
1294
+ * @generated from enum value: INPUT_PURPOSE_URL = 6;
1295
+ */
1296
+ URL = 6,
1297
+ /**
1298
+ * An email address.
1299
+ *
1300
+ * @generated from enum value: INPUT_PURPOSE_EMAIL = 7;
1301
+ */
1302
+ EMAIL = 7,
1303
+ /**
1304
+ * The name of a person.
1305
+ *
1306
+ * @generated from enum value: INPUT_PURPOSE_NAME = 8;
1307
+ */
1308
+ NAME = 8,
1309
+ /**
1310
+ * A password: any text, hidden.
1311
+ *
1312
+ * @generated from enum value: INPUT_PURPOSE_PASSWORD = 9;
1313
+ */
1314
+ PASSWORD = 9,
1315
+ /**
1316
+ * A PIN: digits, hidden.
1317
+ *
1318
+ * @generated from enum value: INPUT_PURPOSE_PIN = 10;
1319
+ */
1320
+ PIN = 10,
1321
+ /**
1322
+ * A terminal: any text and control keys.
1323
+ *
1324
+ * @generated from enum value: INPUT_PURPOSE_TERMINAL = 11;
1325
+ */
1326
+ TERMINAL = 11
1327
+ }
1328
+ /**
1329
+ * Describes the enum leaflow.fleet.virtualdesktop.input.v1.InputPurpose.
1330
+ */
1331
+ export declare const InputPurposeSchema: GenEnum<InputPurpose>;
1332
+ /**
1333
+ * How an editor wants its text (IBus InputHints, GTK GtkInputHints).
1334
+ *
1335
+ * @generated from enum leaflow.fleet.virtualdesktop.input.v1.InputHint
1336
+ */
1337
+ export declare enum InputHint {
1338
+ /**
1339
+ * @generated from enum value: INPUT_HINT_UNSPECIFIED = 0;
1340
+ */
1341
+ UNSPECIFIED = 0,
1342
+ /**
1343
+ * Check for typos.
1344
+ *
1345
+ * @generated from enum value: INPUT_HINT_SPELLCHECK = 1;
1346
+ */
1347
+ SPELLCHECK = 1,
1348
+ /**
1349
+ * Do not check for typos.
1350
+ *
1351
+ * @generated from enum value: INPUT_HINT_NO_SPELLCHECK = 2;
1352
+ */
1353
+ NO_SPELLCHECK = 2,
1354
+ /**
1355
+ * Offer word completion.
1356
+ *
1357
+ * @generated from enum value: INPUT_HINT_WORD_COMPLETION = 3;
1358
+ */
1359
+ WORD_COMPLETION = 3,
1360
+ /**
1361
+ * Lowercase text.
1362
+ *
1363
+ * @generated from enum value: INPUT_HINT_LOWERCASE = 4;
1364
+ */
1365
+ LOWERCASE = 4,
1366
+ /**
1367
+ * Uppercase every character.
1368
+ *
1369
+ * @generated from enum value: INPUT_HINT_UPPERCASE_CHARS = 5;
1370
+ */
1371
+ UPPERCASE_CHARS = 5,
1372
+ /**
1373
+ * Capitalize every word.
1374
+ *
1375
+ * @generated from enum value: INPUT_HINT_UPPERCASE_WORDS = 6;
1376
+ */
1377
+ UPPERCASE_WORDS = 6,
1378
+ /**
1379
+ * Capitalize every sentence.
1380
+ *
1381
+ * @generated from enum value: INPUT_HINT_UPPERCASE_SENTENCES = 7;
1382
+ */
1383
+ UPPERCASE_SENTENCES = 7,
1384
+ /**
1385
+ * Show no on-screen keyboard.
1386
+ *
1387
+ * @generated from enum value: INPUT_HINT_INHIBIT_OSK = 8;
1388
+ */
1389
+ INHIBIT_OSK = 8,
1390
+ /**
1391
+ * The text runs vertically.
1392
+ *
1393
+ * @generated from enum value: INPUT_HINT_VERTICAL_WRITING = 9;
1394
+ */
1395
+ VERTICAL_WRITING = 9,
1396
+ /**
1397
+ * Offer emoji.
1398
+ *
1399
+ * @generated from enum value: INPUT_HINT_EMOJI = 10;
1400
+ */
1401
+ EMOJI = 10,
1402
+ /**
1403
+ * Offer no emoji.
1404
+ *
1405
+ * @generated from enum value: INPUT_HINT_NO_EMOJI = 11;
1406
+ */
1407
+ NO_EMOJI = 11,
1408
+ /**
1409
+ * Keep no typing history of it.
1410
+ *
1411
+ * @generated from enum value: INPUT_HINT_PRIVATE = 12;
1412
+ */
1413
+ PRIVATE = 12
1414
+ }
1415
+ /**
1416
+ * Describes the enum leaflow.fleet.virtualdesktop.input.v1.InputHint.
1417
+ */
1418
+ export declare const InputHintSchema: GenEnum<InputHint>;
1222
1419
  /**
1223
1420
  * Where a caret rectangle came from.
1224
1421
  *
@@ -1265,16 +1462,17 @@ export declare enum InputType {
1265
1462
  */
1266
1463
  UNSPECIFIED = 0,
1267
1464
  /**
1268
- * Ordinary text ("insertText"), such as from a virtual keyboard. It goes to
1269
- * the editor focused once the input before it has been applied.
1465
+ * Ordinary text ("insertText"), such as from a virtual keyboard. It goes
1466
+ * where the keys go once the input before it has been applied.
1270
1467
  *
1271
1468
  * @generated from enum value: INPUT_TYPE_INSERT_TEXT = 1;
1272
1469
  */
1273
1470
  INSERT_TEXT = 1,
1274
1471
  /**
1275
- * The result of a composition ("insertFromComposition"). It goes only to
1276
- * the editor the composition began in, and is cancelled when that editor
1277
- * lost focus since.
1472
+ * The result of a composition ("insertFromComposition"). With an
1473
+ * input_context_id it goes only to the editor the composition began in, and
1474
+ * is cancelled when that editor lost focus since; without one, as
1475
+ * INSERT_TEXT.
1278
1476
  *
1279
1477
  * @generated from enum value: INPUT_TYPE_INSERT_FROM_COMPOSITION = 2;
1280
1478
  */
@@ -1285,7 +1483,9 @@ export declare enum InputType {
1285
1483
  */
1286
1484
  export declare const InputTypeSchema: GenEnum<InputType>;
1287
1485
  /**
1288
- * A step of a composition.
1486
+ * A step of a composition. A composition ends with its COMMIT or CANCEL, or
1487
+ * when its editor loses the focus (a TextInputState with another
1488
+ * focus_serial); a step that did not reach the editor never ends it.
1289
1489
  *
1290
1490
  * @generated from enum leaflow.fleet.virtualdesktop.input.v1.CompositionPhase
1291
1491
  */
@@ -1295,33 +1495,38 @@ export declare enum CompositionPhase {
1295
1495
  */
1296
1496
  UNSPECIFIED = 0,
1297
1497
  /**
1298
- * A composition begins ("compositionstart").
1498
+ * A composition begins ("compositionstart"), in the editor the
1499
+ * TextInputState names. It shows nothing yet.
1299
1500
  *
1300
1501
  * @generated from enum value: COMPOSITION_PHASE_BEGIN = 1;
1301
1502
  */
1302
1503
  BEGIN = 1,
1303
1504
  /**
1304
- * The preedit text changed ("compositionupdate").
1505
+ * The preedit text changed ("compositionupdate"). The session shows the
1506
+ * latest UPDATE and may skip earlier ones the editor has not caught up
1507
+ * with.
1305
1508
  *
1306
1509
  * @generated from enum value: COMPOSITION_PHASE_UPDATE = 2;
1307
1510
  */
1308
1511
  UPDATE = 2,
1309
1512
  /**
1310
1513
  * A real key the input method consumed while composing. The session hands
1311
- * it to the editor's native input context and waits until that context
1312
- * consumed it.
1514
+ * it to the editor's native input context, which consumes it, so that the
1515
+ * application sees the key but never as text. Its press or release never
1516
+ * ends the composition.
1313
1517
  *
1314
1518
  * @generated from enum value: COMPOSITION_PHASE_KEY = 3;
1315
1519
  */
1316
1520
  KEY = 3,
1317
1521
  /**
1318
- * The composition ended with text ("compositionend").
1522
+ * The composition ended with text ("compositionend"): the text is inserted
1523
+ * and the preedit goes.
1319
1524
  *
1320
1525
  * @generated from enum value: COMPOSITION_PHASE_COMMIT = 4;
1321
1526
  */
1322
1527
  COMMIT = 4,
1323
1528
  /**
1324
- * The composition was abandoned.
1529
+ * The composition was abandoned: the preedit goes.
1325
1530
  *
1326
1531
  * @generated from enum value: COMPOSITION_PHASE_CANCEL = 5;
1327
1532
  */
@@ -1418,9 +1623,9 @@ export declare const InputService: GenService<{
1418
1623
  output: typeof PressKeysResponseSchema;
1419
1624
  };
1420
1625
  /**
1421
- * Types text into the focused editor the way a participant's InsertText goes:
1422
- * through its input method context when it has one, else its accessible
1423
- * text interface, and into a terminal as keys.
1626
+ * Types text into the focused window the way a participant's InsertText
1627
+ * goes: through its editor's input method context when it has one, else its
1628
+ * accessible text interface, else as typed keys.
1424
1629
  *
1425
1630
  * @generated from rpc leaflow.fleet.virtualdesktop.input.v1.InputService.TypeText
1426
1631
  */
@@ -8,7 +8,7 @@ import { file_leaflow_fleet_virtualdesktop_display_v1_display } from "../../disp
8
8
  /**
9
9
  * Describes the file leaflow/fleet/virtualdesktop/input/v1/input.proto.
10
10
  */
11
- export const file_leaflow_fleet_virtualdesktop_input_v1_input = /*@__PURE__*/ fileDesc("CjFsZWFmbG93L2ZsZWV0L3ZpcnR1YWxkZXNrdG9wL2lucHV0L3YxL2lucHV0LnByb3RvEiVsZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxIuMDCg1DbGllbnRNZXNzYWdlEkQKCWtleV9ldmVudBgBIAEoCzIvLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuS2V5RXZlbnRIABJOCg5wb2ludGVyX21vdGlvbhgCIAEoCzI0LmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuUG9pbnRlck1vdGlvbkgAEk4KDnBvaW50ZXJfYnV0dG9uGAMgASgLMjQubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5pbnB1dC52MS5Qb2ludGVyQnV0dG9uSAASTAoNcG9pbnRlcl93aGVlbBgEIAEoCzIzLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuUG9pbnRlcldoZWVsSAASSAoLaW5zZXJ0X3RleHQYBSABKAsyMS5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLkluc2VydFRleHRIABJJCgtjb21wb3NpdGlvbhgGIAEoCzIyLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuQ29tcG9zaXRpb25IAEIJCgdtZXNzYWdlIooCCg1TZXJ2ZXJNZXNzYWdlElEKEHRleHRfaW5wdXRfc3RhdGUYASABKAsyNS5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLlRleHRJbnB1dFN0YXRlSAASSAoLaW5wdXRfZXJyb3IYAiABKAsyMS5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLklucHV0RXJyb3JIABJRChB0ZXh0X2lucHV0X2Vycm9yGAMgASgLMjUubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5pbnB1dC52MS5UZXh0SW5wdXRFcnJvckgAQgkKB21lc3NhZ2Ui5AEKCEtleUV2ZW50EhEKCWlucHV0X3NlcRgBIAEoBBIPCgdwcmVzc2VkGAIgASgIEg4KBmtleXN5bRgDIAEoDRIMCgRjb2RlGAQgASgJEksKDmxvY2tfa2V5X3N0YXRlGAUgASgLMjMubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5pbnB1dC52MS5Mb2NrS2V5U3RhdGUSEQoJd2luZG93X2lkGAYgASgEEh8KEmNsaXBib2FyZF9zZXF1ZW5jZRgHIAEoBEgAiAEBQhUKE19jbGlwYm9hcmRfc2VxdWVuY2UiSAoMTG9ja0tleVN0YXRlEhEKCWNhcHNfbG9jaxgBIAEoCBIQCghudW1fbG9jaxgCIAEoCBITCgtzY3JvbGxfbG9jaxgDIAEoCCJkCg1Qb2ludGVyTW90aW9uEhEKCWlucHV0X3NlcRgBIAEoBBIRCgl3aW5kb3dfaWQYAiABKAQSCQoBeBgDIAEoERIJCgF5GAQgASgREhcKD2FmdGVyX2lucHV0X3NlcRgFIAEoBCKkAQoNUG9pbnRlckJ1dHRvbhIRCglpbnB1dF9zZXEYASABKAQSEQoJd2luZG93X2lkGAIgASgEEgkKAXgYAyABKBESCQoBeRgEIAEoERIOCgZidXR0b24YBSABKA0SDwoHcHJlc3NlZBgGIAEoCBIfChJjbGlwYm9hcmRfc2VxdWVuY2UYByABKARIAIgBAUIVChNfY2xpcGJvYXJkX3NlcXVlbmNlImwKDFBvaW50ZXJXaGVlbBIRCglpbnB1dF9zZXEYASABKAQSEQoJd2luZG93X2lkGAIgASgEEgkKAXgYAyABKBESCQoBeRgEIAEoERIPCgdkZWx0YV94GAUgASgREg8KB2RlbHRhX3kYBiABKBEihAMKDlRleHRJbnB1dFN0YXRlEhEKCXdpbmRvd19pZBgBIAEoBBIPCgdlbmFibGVkGAIgASgIEkwKEGN1cnNvcl9yZWN0YW5nbGUYAyABKAsyMi5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmRpc3BsYXkudjEuUmVjdGFuZ2xlEhYKDnJlc2l6ZV9jb3VudGVyGAQgASgEEkoKDWN1cnNvcl9zb3VyY2UYBSABKA4yMy5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLkN1cnNvclNvdXJjZRIYChBpbnB1dF9jb250ZXh0X2lkGAYgASgJEhQKDGZvY3VzX3NlcmlhbBgHIAEoBBJNChFjb250cm9sX3JlY3RhbmdsZRgIIAEoCzIyLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuZGlzcGxheS52MS5SZWN0YW5nbGUSHQoVY29tcG9zaXRpb25fc3VwcG9ydGVkGAkgASgIIrYBCgpJbnNlcnRUZXh0EhEKCWlucHV0X3NlcRgBIAEoBBIMCgR0ZXh0GAIgASgJEhEKCXdpbmRvd19pZBgDIAEoBBIYChBpbnB1dF9jb250ZXh0X2lkGAQgASgJEhQKDGZvY3VzX3NlcmlhbBgFIAEoBBJECgppbnB1dF90eXBlGAYgASgOMjAubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5pbnB1dC52MS5JbnB1dFR5cGUi3QIKC0NvbXBvc2l0aW9uEhEKCWlucHV0X3NlcRgBIAEoBBIRCgl3aW5kb3dfaWQYAiABKAQSGAoQaW5wdXRfY29udGV4dF9pZBgDIAEoCRIUCgxmb2N1c19zZXJpYWwYBCABKAQSFgoOcmVzaXplX2NvdW50ZXIYBSABKAQSFgoOY29tcG9zaXRpb25faWQYBiABKAQSRgoFcGhhc2UYByABKA4yNy5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLkNvbXBvc2l0aW9uUGhhc2USDAoEdGV4dBgIIAEoCRIXCg9zZWxlY3Rpb25fc3RhcnQYCSABKA0SFQoNc2VsZWN0aW9uX2VuZBgKIAEoDRJCCgNrZXkYCyABKAsyNS5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLkNvbXBvc2l0aW9uS2V5InwKDkNvbXBvc2l0aW9uS2V5Eg8KB3ByZXNzZWQYASABKAgSDAoEY29kZRgCIAEoCRJLCg5sb2NrX2tleV9zdGF0ZRgDIAEoCzIzLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuTG9ja0tleVN0YXRlIlUKCklucHV0RXJyb3ISEQoJaW5wdXRfc2VxGAEgASgEEhEKCXdpbmRvd19pZBgCIAEoBBIhCgVlcnJvchgDIAEoCzISLmdvb2dsZS5ycGMuU3RhdHVzIrEBCg5UZXh0SW5wdXRFcnJvchIRCglpbnB1dF9zZXEYASABKAQSEQoJd2luZG93X2lkGAIgASgEEhgKEGlucHV0X2NvbnRleHRfaWQYAyABKAkSFAoMZm9jdXNfc2VyaWFsGAQgASgEEhYKDmNvbXBvc2l0aW9uX2lkGAUgASgEEg4KBnBhdXNlZBgGIAEoCBIhCgVlcnJvchgHIAEoCzISLmdvb2dsZS5ycGMuU3RhdHVzIkgKBVBvaW50EhEKCXdpbmRvd19pZBgBIAEoBBIJCgF4GAIgASgREgkKAXkYAyABKBESFgoOcmVzaXplX2NvdW50ZXIYBCABKAQifQoMQ2xpY2tSZXF1ZXN0EjsKBXBvaW50GAEgASgLMiwubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5pbnB1dC52MS5Qb2ludBIOCgZidXR0b24YAiABKA0SDQoFY291bnQYAyABKA0SEQoJbW9kaWZpZXJzGAQgAygJIjQKDUNsaWNrUmVzcG9uc2USEQoJd2luZG93X2lkGAEgASgEEhAKCHJldmlzaW9uGAIgASgEIlEKEk1vdmVQb2ludGVyUmVxdWVzdBI7CgVwb2ludBgBIAEoCzIsLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuUG9pbnQiOgoTTW92ZVBvaW50ZXJSZXNwb25zZRIRCgl3aW5kb3dfaWQYASABKAQSEAoIcmV2aXNpb24YAiABKAQigQEKDVNjcm9sbFJlcXVlc3QSOwoFcG9pbnQYASABKAsyLC5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLlBvaW50Eg8KB2RlbHRhX3gYAiABKBESDwoHZGVsdGFfeRgDIAEoERIRCgltb2RpZmllcnMYBCADKAkiNQoOU2Nyb2xsUmVzcG9uc2USEQoJd2luZG93X2lkGAEgASgEEhAKCHJldmlzaW9uGAIgASgEItUBCgtEcmFnUmVxdWVzdBI7CgVzdGFydBgBIAEoCzIsLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuUG9pbnQSOQoDZW5kGAIgASgLMiwubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5pbnB1dC52MS5Qb2ludBIOCgZidXR0b24YAyABKA0SEQoJbW9kaWZpZXJzGAQgAygJEisKCGR1cmF0aW9uGAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uIjMKDERyYWdSZXNwb25zZRIRCgl3aW5kb3dfaWQYASABKAQSEAoIcmV2aXNpb24YAiABKAQiMwoQUHJlc3NLZXlzUmVxdWVzdBIMCgRrZXlzGAEgAygJEhEKCXdpbmRvd19pZBgCIAEoBCI4ChFQcmVzc0tleXNSZXNwb25zZRIRCgl3aW5kb3dfaWQYASABKAQSEAoIcmV2aXNpb24YAiABKAQiHwoPVHlwZVRleHRSZXF1ZXN0EgwKBHRleHQYASABKAkiNwoQVHlwZVRleHRSZXNwb25zZRIRCgl3aW5kb3dfaWQYASABKAQSEAoIcmV2aXNpb24YAiABKAQifAocRGlzcGF0Y2hQb2ludGVyQnV0dG9uUmVxdWVzdBI7CgVwb2ludBgBIAEoCzIsLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuUG9pbnQSDgoGYnV0dG9uGAIgASgNEg8KB3ByZXNzZWQYAyABKAgiRAodRGlzcGF0Y2hQb2ludGVyQnV0dG9uUmVzcG9uc2USEQoJd2luZG93X2lkGAEgASgEEhAKCHJldmlzaW9uGAIgASgEIjIKEkRpc3BhdGNoS2V5UmVxdWVzdBILCgNrZXkYASABKAkSDwoHcHJlc3NlZBgCIAEoCCI6ChNEaXNwYXRjaEtleVJlc3BvbnNlEhEKCXdpbmRvd19pZBgBIAEoBBIQCghyZXZpc2lvbhgCIAEoBCIbChlHZXRQb2ludGVyUG9zaXRpb25SZXF1ZXN0IkUKGkdldFBvaW50ZXJQb3NpdGlvblJlc3BvbnNlEgkKAXgYASABKBESCQoBeRgCIAEoERIRCgl3aW5kb3dfaWQYAyABKAQqkgEKDEN1cnNvclNvdXJjZRIdChlDVVJTT1JfU09VUkNFX1VOU1BFQ0lGSUVEEAASHwobQ1VSU09SX1NPVVJDRV9JTlBVVF9DT05URVhUEAESHAoYQ1VSU09SX1NPVVJDRV9URVhUX1JBTkdFEAISJAogQ1VSU09SX1NPVVJDRV9DSEFSQUNURVJfQk9VTkRBUlkQAyprCglJbnB1dFR5cGUSGgoWSU5QVVRfVFlQRV9VTlNQRUNJRklFRBAAEhoKFklOUFVUX1RZUEVfSU5TRVJUX1RFWFQQARImCiJJTlBVVF9UWVBFX0lOU0VSVF9GUk9NX0NPTVBPU0lUSU9OEAIqxwEKEENvbXBvc2l0aW9uUGhhc2USIQodQ09NUE9TSVRJT05fUEhBU0VfVU5TUEVDSUZJRUQQABIbChdDT01QT1NJVElPTl9QSEFTRV9CRUdJThABEhwKGENPTVBPU0lUSU9OX1BIQVNFX1VQREFURRACEhkKFUNPTVBPU0lUSU9OX1BIQVNFX0tFWRADEhwKGENPTVBPU0lUSU9OX1BIQVNFX0NPTU1JVBAEEhwKGENPTVBPU0lUSU9OX1BIQVNFX0NBTkNFTBAFMrsJCgxJbnB1dFNlcnZpY2UScgoFQ2xpY2sSMy5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLkNsaWNrUmVxdWVzdBo0LmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuQ2xpY2tSZXNwb25zZRKEAQoLTW92ZVBvaW50ZXISOS5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLk1vdmVQb2ludGVyUmVxdWVzdBo6LmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuTW92ZVBvaW50ZXJSZXNwb25zZRJ1CgZTY3JvbGwSNC5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLlNjcm9sbFJlcXVlc3QaNS5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLlNjcm9sbFJlc3BvbnNlEm8KBERyYWcSMi5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLkRyYWdSZXF1ZXN0GjMubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5pbnB1dC52MS5EcmFnUmVzcG9uc2USfgoJUHJlc3NLZXlzEjcubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5pbnB1dC52MS5QcmVzc0tleXNSZXF1ZXN0GjgubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5pbnB1dC52MS5QcmVzc0tleXNSZXNwb25zZRJ7CghUeXBlVGV4dBI2LmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuVHlwZVRleHRSZXF1ZXN0GjcubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5pbnB1dC52MS5UeXBlVGV4dFJlc3BvbnNlEqIBChVEaXNwYXRjaFBvaW50ZXJCdXR0b24SQy5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLkRpc3BhdGNoUG9pbnRlckJ1dHRvblJlcXVlc3QaRC5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLkRpc3BhdGNoUG9pbnRlckJ1dHRvblJlc3BvbnNlEoQBCgtEaXNwYXRjaEtleRI5LmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuRGlzcGF0Y2hLZXlSZXF1ZXN0GjoubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5pbnB1dC52MS5EaXNwYXRjaEtleVJlc3BvbnNlEp4BChJHZXRQb2ludGVyUG9zaXRpb24SQC5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLkdldFBvaW50ZXJQb3NpdGlvblJlcXVlc3QaQS5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLkdldFBvaW50ZXJQb3NpdGlvblJlc3BvbnNlIgOQAgFCSVpHZ2l0aHViLmNvbS9sZWFmbG93YXBpcy9sZWFmbG93LWdvL2ZsZWV0L3ZpcnR1YWxkZXNrdG9wL2lucHV0L3YxO2lucHV0djFiBnByb3RvMw", [file_google_protobuf_duration, file_google_rpc_status, file_leaflow_fleet_virtualdesktop_display_v1_display]);
11
+ export const file_leaflow_fleet_virtualdesktop_input_v1_input = /*@__PURE__*/ fileDesc("CjFsZWFmbG93L2ZsZWV0L3ZpcnR1YWxkZXNrdG9wL2lucHV0L3YxL2lucHV0LnByb3RvEiVsZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxIuMDCg1DbGllbnRNZXNzYWdlEkQKCWtleV9ldmVudBgBIAEoCzIvLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuS2V5RXZlbnRIABJOCg5wb2ludGVyX21vdGlvbhgCIAEoCzI0LmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuUG9pbnRlck1vdGlvbkgAEk4KDnBvaW50ZXJfYnV0dG9uGAMgASgLMjQubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5pbnB1dC52MS5Qb2ludGVyQnV0dG9uSAASTAoNcG9pbnRlcl93aGVlbBgEIAEoCzIzLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuUG9pbnRlcldoZWVsSAASSAoLaW5zZXJ0X3RleHQYBSABKAsyMS5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLkluc2VydFRleHRIABJJCgtjb21wb3NpdGlvbhgGIAEoCzIyLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuQ29tcG9zaXRpb25IAEIJCgdtZXNzYWdlIooCCg1TZXJ2ZXJNZXNzYWdlElEKEHRleHRfaW5wdXRfc3RhdGUYASABKAsyNS5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLlRleHRJbnB1dFN0YXRlSAASSAoLaW5wdXRfZXJyb3IYAiABKAsyMS5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLklucHV0RXJyb3JIABJRChB0ZXh0X2lucHV0X2Vycm9yGAMgASgLMjUubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5pbnB1dC52MS5UZXh0SW5wdXRFcnJvckgAQgkKB21lc3NhZ2Ui5AEKCEtleUV2ZW50EhEKCWlucHV0X3NlcRgBIAEoBBIPCgdwcmVzc2VkGAIgASgIEg4KBmtleXN5bRgDIAEoDRIMCgRjb2RlGAQgASgJEksKDmxvY2tfa2V5X3N0YXRlGAUgASgLMjMubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5pbnB1dC52MS5Mb2NrS2V5U3RhdGUSEQoJd2luZG93X2lkGAYgASgEEh8KEmNsaXBib2FyZF9zZXF1ZW5jZRgHIAEoBEgAiAEBQhUKE19jbGlwYm9hcmRfc2VxdWVuY2UiSAoMTG9ja0tleVN0YXRlEhEKCWNhcHNfbG9jaxgBIAEoCBIQCghudW1fbG9jaxgCIAEoCBITCgtzY3JvbGxfbG9jaxgDIAEoCCJkCg1Qb2ludGVyTW90aW9uEhEKCWlucHV0X3NlcRgBIAEoBBIRCgl3aW5kb3dfaWQYAiABKAQSCQoBeBgDIAEoERIJCgF5GAQgASgREhcKD2FmdGVyX2lucHV0X3NlcRgFIAEoBCKkAQoNUG9pbnRlckJ1dHRvbhIRCglpbnB1dF9zZXEYASABKAQSEQoJd2luZG93X2lkGAIgASgEEgkKAXgYAyABKBESCQoBeRgEIAEoERIOCgZidXR0b24YBSABKA0SDwoHcHJlc3NlZBgGIAEoCBIfChJjbGlwYm9hcmRfc2VxdWVuY2UYByABKARIAIgBAUIVChNfY2xpcGJvYXJkX3NlcXVlbmNlImwKDFBvaW50ZXJXaGVlbBIRCglpbnB1dF9zZXEYASABKAQSEQoJd2luZG93X2lkGAIgASgEEgkKAXgYAyABKBESCQoBeRgEIAEoERIPCgdkZWx0YV94GAUgASgREg8KB2RlbHRhX3kYBiABKBEiiwQKDlRleHRJbnB1dFN0YXRlEhEKCXdpbmRvd19pZBgBIAEoBBIPCgdlbmFibGVkGAIgASgIEkwKEGN1cnNvcl9yZWN0YW5nbGUYAyABKAsyMi5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmRpc3BsYXkudjEuUmVjdGFuZ2xlEhYKDnJlc2l6ZV9jb3VudGVyGAQgASgEEkoKDWN1cnNvcl9zb3VyY2UYBSABKA4yMy5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLkN1cnNvclNvdXJjZRIYChBpbnB1dF9jb250ZXh0X2lkGAYgASgJEhQKDGZvY3VzX3NlcmlhbBgHIAEoBBJNChFjb250cm9sX3JlY3RhbmdsZRgIIAEoCzIyLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuZGlzcGxheS52MS5SZWN0YW5nbGUSHQoVY29tcG9zaXRpb25fc3VwcG9ydGVkGAkgASgIEkQKB3B1cnBvc2UYCiABKA4yMy5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLklucHV0UHVycG9zZRI/CgVoaW50cxgLIAMoDjIwLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuSW5wdXRIaW50IrYBCgpJbnNlcnRUZXh0EhEKCWlucHV0X3NlcRgBIAEoBBIMCgR0ZXh0GAIgASgJEhEKCXdpbmRvd19pZBgDIAEoBBIYChBpbnB1dF9jb250ZXh0X2lkGAQgASgJEhQKDGZvY3VzX3NlcmlhbBgFIAEoBBJECgppbnB1dF90eXBlGAYgASgOMjAubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5pbnB1dC52MS5JbnB1dFR5cGUi3QIKC0NvbXBvc2l0aW9uEhEKCWlucHV0X3NlcRgBIAEoBBIRCgl3aW5kb3dfaWQYAiABKAQSGAoQaW5wdXRfY29udGV4dF9pZBgDIAEoCRIUCgxmb2N1c19zZXJpYWwYBCABKAQSFgoOcmVzaXplX2NvdW50ZXIYBSABKAQSFgoOY29tcG9zaXRpb25faWQYBiABKAQSRgoFcGhhc2UYByABKA4yNy5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLkNvbXBvc2l0aW9uUGhhc2USDAoEdGV4dBgIIAEoCRIXCg9zZWxlY3Rpb25fc3RhcnQYCSABKA0SFQoNc2VsZWN0aW9uX2VuZBgKIAEoDRJCCgNrZXkYCyABKAsyNS5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLkNvbXBvc2l0aW9uS2V5InwKDkNvbXBvc2l0aW9uS2V5Eg8KB3ByZXNzZWQYASABKAgSDAoEY29kZRgCIAEoCRJLCg5sb2NrX2tleV9zdGF0ZRgDIAEoCzIzLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuTG9ja0tleVN0YXRlIlUKCklucHV0RXJyb3ISEQoJaW5wdXRfc2VxGAEgASgEEhEKCXdpbmRvd19pZBgCIAEoBBIhCgVlcnJvchgDIAEoCzISLmdvb2dsZS5ycGMuU3RhdHVzIrEBCg5UZXh0SW5wdXRFcnJvchIRCglpbnB1dF9zZXEYASABKAQSEQoJd2luZG93X2lkGAIgASgEEhgKEGlucHV0X2NvbnRleHRfaWQYAyABKAkSFAoMZm9jdXNfc2VyaWFsGAQgASgEEhYKDmNvbXBvc2l0aW9uX2lkGAUgASgEEg4KBnBhdXNlZBgGIAEoCBIhCgVlcnJvchgHIAEoCzISLmdvb2dsZS5ycGMuU3RhdHVzIkgKBVBvaW50EhEKCXdpbmRvd19pZBgBIAEoBBIJCgF4GAIgASgREgkKAXkYAyABKBESFgoOcmVzaXplX2NvdW50ZXIYBCABKAQifQoMQ2xpY2tSZXF1ZXN0EjsKBXBvaW50GAEgASgLMiwubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5pbnB1dC52MS5Qb2ludBIOCgZidXR0b24YAiABKA0SDQoFY291bnQYAyABKA0SEQoJbW9kaWZpZXJzGAQgAygJIjQKDUNsaWNrUmVzcG9uc2USEQoJd2luZG93X2lkGAEgASgEEhAKCHJldmlzaW9uGAIgASgEIlEKEk1vdmVQb2ludGVyUmVxdWVzdBI7CgVwb2ludBgBIAEoCzIsLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuUG9pbnQiOgoTTW92ZVBvaW50ZXJSZXNwb25zZRIRCgl3aW5kb3dfaWQYASABKAQSEAoIcmV2aXNpb24YAiABKAQigQEKDVNjcm9sbFJlcXVlc3QSOwoFcG9pbnQYASABKAsyLC5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLlBvaW50Eg8KB2RlbHRhX3gYAiABKBESDwoHZGVsdGFfeRgDIAEoERIRCgltb2RpZmllcnMYBCADKAkiNQoOU2Nyb2xsUmVzcG9uc2USEQoJd2luZG93X2lkGAEgASgEEhAKCHJldmlzaW9uGAIgASgEItUBCgtEcmFnUmVxdWVzdBI7CgVzdGFydBgBIAEoCzIsLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuUG9pbnQSOQoDZW5kGAIgASgLMiwubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5pbnB1dC52MS5Qb2ludBIOCgZidXR0b24YAyABKA0SEQoJbW9kaWZpZXJzGAQgAygJEisKCGR1cmF0aW9uGAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uIjMKDERyYWdSZXNwb25zZRIRCgl3aW5kb3dfaWQYASABKAQSEAoIcmV2aXNpb24YAiABKAQiMwoQUHJlc3NLZXlzUmVxdWVzdBIMCgRrZXlzGAEgAygJEhEKCXdpbmRvd19pZBgCIAEoBCI4ChFQcmVzc0tleXNSZXNwb25zZRIRCgl3aW5kb3dfaWQYASABKAQSEAoIcmV2aXNpb24YAiABKAQiHwoPVHlwZVRleHRSZXF1ZXN0EgwKBHRleHQYASABKAkiNwoQVHlwZVRleHRSZXNwb25zZRIRCgl3aW5kb3dfaWQYASABKAQSEAoIcmV2aXNpb24YAiABKAQifAocRGlzcGF0Y2hQb2ludGVyQnV0dG9uUmVxdWVzdBI7CgVwb2ludBgBIAEoCzIsLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuUG9pbnQSDgoGYnV0dG9uGAIgASgNEg8KB3ByZXNzZWQYAyABKAgiRAodRGlzcGF0Y2hQb2ludGVyQnV0dG9uUmVzcG9uc2USEQoJd2luZG93X2lkGAEgASgEEhAKCHJldmlzaW9uGAIgASgEIjIKEkRpc3BhdGNoS2V5UmVxdWVzdBILCgNrZXkYASABKAkSDwoHcHJlc3NlZBgCIAEoCCI6ChNEaXNwYXRjaEtleVJlc3BvbnNlEhEKCXdpbmRvd19pZBgBIAEoBBIQCghyZXZpc2lvbhgCIAEoBCIbChlHZXRQb2ludGVyUG9zaXRpb25SZXF1ZXN0IkUKGkdldFBvaW50ZXJQb3NpdGlvblJlc3BvbnNlEgkKAXgYASABKBESCQoBeRgCIAEoERIRCgl3aW5kb3dfaWQYAyABKAQqxwIKDElucHV0UHVycG9zZRIdChlJTlBVVF9QVVJQT1NFX1VOU1BFQ0lGSUVEEAASGwoXSU5QVVRfUFVSUE9TRV9GUkVFX0ZPUk0QARIXChNJTlBVVF9QVVJQT1NFX0FMUEhBEAISGAoUSU5QVVRfUFVSUE9TRV9ESUdJVFMQAxIYChRJTlBVVF9QVVJQT1NFX05VTUJFUhAEEhcKE0lOUFVUX1BVUlBPU0VfUEhPTkUQBRIVChFJTlBVVF9QVVJQT1NFX1VSTBAGEhcKE0lOUFVUX1BVUlBPU0VfRU1BSUwQBxIWChJJTlBVVF9QVVJQT1NFX05BTUUQCBIaChZJTlBVVF9QVVJQT1NFX1BBU1NXT1JEEAkSFQoRSU5QVVRfUFVSUE9TRV9QSU4QChIaChZJTlBVVF9QVVJQT1NFX1RFUk1JTkFMEAsqggMKCUlucHV0SGludBIaChZJTlBVVF9ISU5UX1VOU1BFQ0lGSUVEEAASGQoVSU5QVVRfSElOVF9TUEVMTENIRUNLEAESHAoYSU5QVVRfSElOVF9OT19TUEVMTENIRUNLEAISHgoaSU5QVVRfSElOVF9XT1JEX0NPTVBMRVRJT04QAxIYChRJTlBVVF9ISU5UX0xPV0VSQ0FTRRAEEh4KGklOUFVUX0hJTlRfVVBQRVJDQVNFX0NIQVJTEAUSHgoaSU5QVVRfSElOVF9VUFBFUkNBU0VfV09SRFMQBhIiCh5JTlBVVF9ISU5UX1VQUEVSQ0FTRV9TRU5URU5DRVMQBxIaChZJTlBVVF9ISU5UX0lOSElCSVRfT1NLEAgSHwobSU5QVVRfSElOVF9WRVJUSUNBTF9XUklUSU5HEAkSFAoQSU5QVVRfSElOVF9FTU9KSRAKEhcKE0lOUFVUX0hJTlRfTk9fRU1PSkkQCxIWChJJTlBVVF9ISU5UX1BSSVZBVEUQDCqSAQoMQ3Vyc29yU291cmNlEh0KGUNVUlNPUl9TT1VSQ0VfVU5TUEVDSUZJRUQQABIfChtDVVJTT1JfU09VUkNFX0lOUFVUX0NPTlRFWFQQARIcChhDVVJTT1JfU09VUkNFX1RFWFRfUkFOR0UQAhIkCiBDVVJTT1JfU09VUkNFX0NIQVJBQ1RFUl9CT1VOREFSWRADKmsKCUlucHV0VHlwZRIaChZJTlBVVF9UWVBFX1VOU1BFQ0lGSUVEEAASGgoWSU5QVVRfVFlQRV9JTlNFUlRfVEVYVBABEiYKIklOUFVUX1RZUEVfSU5TRVJUX0ZST01fQ09NUE9TSVRJT04QAirHAQoQQ29tcG9zaXRpb25QaGFzZRIhCh1DT01QT1NJVElPTl9QSEFTRV9VTlNQRUNJRklFRBAAEhsKF0NPTVBPU0lUSU9OX1BIQVNFX0JFR0lOEAESHAoYQ09NUE9TSVRJT05fUEhBU0VfVVBEQVRFEAISGQoVQ09NUE9TSVRJT05fUEhBU0VfS0VZEAMSHAoYQ09NUE9TSVRJT05fUEhBU0VfQ09NTUlUEAQSHAoYQ09NUE9TSVRJT05fUEhBU0VfQ0FOQ0VMEAUyuwkKDElucHV0U2VydmljZRJyCgVDbGljaxIzLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuQ2xpY2tSZXF1ZXN0GjQubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5pbnB1dC52MS5DbGlja1Jlc3BvbnNlEoQBCgtNb3ZlUG9pbnRlchI5LmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuTW92ZVBvaW50ZXJSZXF1ZXN0GjoubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5pbnB1dC52MS5Nb3ZlUG9pbnRlclJlc3BvbnNlEnUKBlNjcm9sbBI0LmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuU2Nyb2xsUmVxdWVzdBo1LmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuU2Nyb2xsUmVzcG9uc2USbwoERHJhZxIyLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuRHJhZ1JlcXVlc3QaMy5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLkRyYWdSZXNwb25zZRJ+CglQcmVzc0tleXMSNy5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLlByZXNzS2V5c1JlcXVlc3QaOC5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLlByZXNzS2V5c1Jlc3BvbnNlEnsKCFR5cGVUZXh0EjYubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5pbnB1dC52MS5UeXBlVGV4dFJlcXVlc3QaNy5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLlR5cGVUZXh0UmVzcG9uc2USogEKFURpc3BhdGNoUG9pbnRlckJ1dHRvbhJDLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuRGlzcGF0Y2hQb2ludGVyQnV0dG9uUmVxdWVzdBpELmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuRGlzcGF0Y2hQb2ludGVyQnV0dG9uUmVzcG9uc2UShAEKC0Rpc3BhdGNoS2V5EjkubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5pbnB1dC52MS5EaXNwYXRjaEtleVJlcXVlc3QaOi5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmlucHV0LnYxLkRpc3BhdGNoS2V5UmVzcG9uc2USngEKEkdldFBvaW50ZXJQb3NpdGlvbhJALmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuR2V0UG9pbnRlclBvc2l0aW9uUmVxdWVzdBpBLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuaW5wdXQudjEuR2V0UG9pbnRlclBvc2l0aW9uUmVzcG9uc2UiA5ACAUJJWkdnaXRodWIuY29tL2xlYWZsb3dhcGlzL2xlYWZsb3ctZ28vZmxlZXQvdmlydHVhbGRlc2t0b3AvaW5wdXQvdjE7aW5wdXR2MWIGcHJvdG8z", [file_google_protobuf_duration, file_google_rpc_status, file_leaflow_fleet_virtualdesktop_display_v1_display]);
12
12
  /**
13
13
  * Describes the message leaflow.fleet.virtualdesktop.input.v1.ClientMessage.
14
14
  * Use `create(ClientMessageSchema)` to create a new message.
@@ -169,6 +169,176 @@ export const GetPointerPositionRequestSchema = /*@__PURE__*/ messageDesc(file_le
169
169
  * Use `create(GetPointerPositionResponseSchema)` to create a new message.
170
170
  */
171
171
  export const GetPointerPositionResponseSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_virtualdesktop_input_v1_input, 31);
172
+ /**
173
+ * What an editor is for (IBus InputPurpose, GTK GtkInputPurpose).
174
+ *
175
+ * @generated from enum leaflow.fleet.virtualdesktop.input.v1.InputPurpose
176
+ */
177
+ export var InputPurpose;
178
+ (function (InputPurpose) {
179
+ /**
180
+ * @generated from enum value: INPUT_PURPOSE_UNSPECIFIED = 0;
181
+ */
182
+ InputPurpose[InputPurpose["UNSPECIFIED"] = 0] = "UNSPECIFIED";
183
+ /**
184
+ * Any text.
185
+ *
186
+ * @generated from enum value: INPUT_PURPOSE_FREE_FORM = 1;
187
+ */
188
+ InputPurpose[InputPurpose["FREE_FORM"] = 1] = "FREE_FORM";
189
+ /**
190
+ * Letters only.
191
+ *
192
+ * @generated from enum value: INPUT_PURPOSE_ALPHA = 2;
193
+ */
194
+ InputPurpose[InputPurpose["ALPHA"] = 2] = "ALPHA";
195
+ /**
196
+ * Digits only.
197
+ *
198
+ * @generated from enum value: INPUT_PURPOSE_DIGITS = 3;
199
+ */
200
+ InputPurpose[InputPurpose["DIGITS"] = 3] = "DIGITS";
201
+ /**
202
+ * A number.
203
+ *
204
+ * @generated from enum value: INPUT_PURPOSE_NUMBER = 4;
205
+ */
206
+ InputPurpose[InputPurpose["NUMBER"] = 4] = "NUMBER";
207
+ /**
208
+ * A phone number.
209
+ *
210
+ * @generated from enum value: INPUT_PURPOSE_PHONE = 5;
211
+ */
212
+ InputPurpose[InputPurpose["PHONE"] = 5] = "PHONE";
213
+ /**
214
+ * A URL.
215
+ *
216
+ * @generated from enum value: INPUT_PURPOSE_URL = 6;
217
+ */
218
+ InputPurpose[InputPurpose["URL"] = 6] = "URL";
219
+ /**
220
+ * An email address.
221
+ *
222
+ * @generated from enum value: INPUT_PURPOSE_EMAIL = 7;
223
+ */
224
+ InputPurpose[InputPurpose["EMAIL"] = 7] = "EMAIL";
225
+ /**
226
+ * The name of a person.
227
+ *
228
+ * @generated from enum value: INPUT_PURPOSE_NAME = 8;
229
+ */
230
+ InputPurpose[InputPurpose["NAME"] = 8] = "NAME";
231
+ /**
232
+ * A password: any text, hidden.
233
+ *
234
+ * @generated from enum value: INPUT_PURPOSE_PASSWORD = 9;
235
+ */
236
+ InputPurpose[InputPurpose["PASSWORD"] = 9] = "PASSWORD";
237
+ /**
238
+ * A PIN: digits, hidden.
239
+ *
240
+ * @generated from enum value: INPUT_PURPOSE_PIN = 10;
241
+ */
242
+ InputPurpose[InputPurpose["PIN"] = 10] = "PIN";
243
+ /**
244
+ * A terminal: any text and control keys.
245
+ *
246
+ * @generated from enum value: INPUT_PURPOSE_TERMINAL = 11;
247
+ */
248
+ InputPurpose[InputPurpose["TERMINAL"] = 11] = "TERMINAL";
249
+ })(InputPurpose || (InputPurpose = {}));
250
+ /**
251
+ * Describes the enum leaflow.fleet.virtualdesktop.input.v1.InputPurpose.
252
+ */
253
+ export const InputPurposeSchema = /*@__PURE__*/ enumDesc(file_leaflow_fleet_virtualdesktop_input_v1_input, 0);
254
+ /**
255
+ * How an editor wants its text (IBus InputHints, GTK GtkInputHints).
256
+ *
257
+ * @generated from enum leaflow.fleet.virtualdesktop.input.v1.InputHint
258
+ */
259
+ export var InputHint;
260
+ (function (InputHint) {
261
+ /**
262
+ * @generated from enum value: INPUT_HINT_UNSPECIFIED = 0;
263
+ */
264
+ InputHint[InputHint["UNSPECIFIED"] = 0] = "UNSPECIFIED";
265
+ /**
266
+ * Check for typos.
267
+ *
268
+ * @generated from enum value: INPUT_HINT_SPELLCHECK = 1;
269
+ */
270
+ InputHint[InputHint["SPELLCHECK"] = 1] = "SPELLCHECK";
271
+ /**
272
+ * Do not check for typos.
273
+ *
274
+ * @generated from enum value: INPUT_HINT_NO_SPELLCHECK = 2;
275
+ */
276
+ InputHint[InputHint["NO_SPELLCHECK"] = 2] = "NO_SPELLCHECK";
277
+ /**
278
+ * Offer word completion.
279
+ *
280
+ * @generated from enum value: INPUT_HINT_WORD_COMPLETION = 3;
281
+ */
282
+ InputHint[InputHint["WORD_COMPLETION"] = 3] = "WORD_COMPLETION";
283
+ /**
284
+ * Lowercase text.
285
+ *
286
+ * @generated from enum value: INPUT_HINT_LOWERCASE = 4;
287
+ */
288
+ InputHint[InputHint["LOWERCASE"] = 4] = "LOWERCASE";
289
+ /**
290
+ * Uppercase every character.
291
+ *
292
+ * @generated from enum value: INPUT_HINT_UPPERCASE_CHARS = 5;
293
+ */
294
+ InputHint[InputHint["UPPERCASE_CHARS"] = 5] = "UPPERCASE_CHARS";
295
+ /**
296
+ * Capitalize every word.
297
+ *
298
+ * @generated from enum value: INPUT_HINT_UPPERCASE_WORDS = 6;
299
+ */
300
+ InputHint[InputHint["UPPERCASE_WORDS"] = 6] = "UPPERCASE_WORDS";
301
+ /**
302
+ * Capitalize every sentence.
303
+ *
304
+ * @generated from enum value: INPUT_HINT_UPPERCASE_SENTENCES = 7;
305
+ */
306
+ InputHint[InputHint["UPPERCASE_SENTENCES"] = 7] = "UPPERCASE_SENTENCES";
307
+ /**
308
+ * Show no on-screen keyboard.
309
+ *
310
+ * @generated from enum value: INPUT_HINT_INHIBIT_OSK = 8;
311
+ */
312
+ InputHint[InputHint["INHIBIT_OSK"] = 8] = "INHIBIT_OSK";
313
+ /**
314
+ * The text runs vertically.
315
+ *
316
+ * @generated from enum value: INPUT_HINT_VERTICAL_WRITING = 9;
317
+ */
318
+ InputHint[InputHint["VERTICAL_WRITING"] = 9] = "VERTICAL_WRITING";
319
+ /**
320
+ * Offer emoji.
321
+ *
322
+ * @generated from enum value: INPUT_HINT_EMOJI = 10;
323
+ */
324
+ InputHint[InputHint["EMOJI"] = 10] = "EMOJI";
325
+ /**
326
+ * Offer no emoji.
327
+ *
328
+ * @generated from enum value: INPUT_HINT_NO_EMOJI = 11;
329
+ */
330
+ InputHint[InputHint["NO_EMOJI"] = 11] = "NO_EMOJI";
331
+ /**
332
+ * Keep no typing history of it.
333
+ *
334
+ * @generated from enum value: INPUT_HINT_PRIVATE = 12;
335
+ */
336
+ InputHint[InputHint["PRIVATE"] = 12] = "PRIVATE";
337
+ })(InputHint || (InputHint = {}));
338
+ /**
339
+ * Describes the enum leaflow.fleet.virtualdesktop.input.v1.InputHint.
340
+ */
341
+ export const InputHintSchema = /*@__PURE__*/ enumDesc(file_leaflow_fleet_virtualdesktop_input_v1_input, 1);
172
342
  /**
173
343
  * Where a caret rectangle came from.
174
344
  *
@@ -204,7 +374,7 @@ export var CursorSource;
204
374
  /**
205
375
  * Describes the enum leaflow.fleet.virtualdesktop.input.v1.CursorSource.
206
376
  */
207
- export const CursorSourceSchema = /*@__PURE__*/ enumDesc(file_leaflow_fleet_virtualdesktop_input_v1_input, 0);
377
+ export const CursorSourceSchema = /*@__PURE__*/ enumDesc(file_leaflow_fleet_virtualdesktop_input_v1_input, 2);
208
378
  /**
209
379
  * What an insertion is (W3C Input Events inputType).
210
380
  *
@@ -217,16 +387,17 @@ export var InputType;
217
387
  */
218
388
  InputType[InputType["UNSPECIFIED"] = 0] = "UNSPECIFIED";
219
389
  /**
220
- * Ordinary text ("insertText"), such as from a virtual keyboard. It goes to
221
- * the editor focused once the input before it has been applied.
390
+ * Ordinary text ("insertText"), such as from a virtual keyboard. It goes
391
+ * where the keys go once the input before it has been applied.
222
392
  *
223
393
  * @generated from enum value: INPUT_TYPE_INSERT_TEXT = 1;
224
394
  */
225
395
  InputType[InputType["INSERT_TEXT"] = 1] = "INSERT_TEXT";
226
396
  /**
227
- * The result of a composition ("insertFromComposition"). It goes only to
228
- * the editor the composition began in, and is cancelled when that editor
229
- * lost focus since.
397
+ * The result of a composition ("insertFromComposition"). With an
398
+ * input_context_id it goes only to the editor the composition began in, and
399
+ * is cancelled when that editor lost focus since; without one, as
400
+ * INSERT_TEXT.
230
401
  *
231
402
  * @generated from enum value: INPUT_TYPE_INSERT_FROM_COMPOSITION = 2;
232
403
  */
@@ -235,9 +406,11 @@ export var InputType;
235
406
  /**
236
407
  * Describes the enum leaflow.fleet.virtualdesktop.input.v1.InputType.
237
408
  */
238
- export const InputTypeSchema = /*@__PURE__*/ enumDesc(file_leaflow_fleet_virtualdesktop_input_v1_input, 1);
409
+ export const InputTypeSchema = /*@__PURE__*/ enumDesc(file_leaflow_fleet_virtualdesktop_input_v1_input, 3);
239
410
  /**
240
- * A step of a composition.
411
+ * A step of a composition. A composition ends with its COMMIT or CANCEL, or
412
+ * when its editor loses the focus (a TextInputState with another
413
+ * focus_serial); a step that did not reach the editor never ends it.
241
414
  *
242
415
  * @generated from enum leaflow.fleet.virtualdesktop.input.v1.CompositionPhase
243
416
  */
@@ -248,33 +421,38 @@ export var CompositionPhase;
248
421
  */
249
422
  CompositionPhase[CompositionPhase["UNSPECIFIED"] = 0] = "UNSPECIFIED";
250
423
  /**
251
- * A composition begins ("compositionstart").
424
+ * A composition begins ("compositionstart"), in the editor the
425
+ * TextInputState names. It shows nothing yet.
252
426
  *
253
427
  * @generated from enum value: COMPOSITION_PHASE_BEGIN = 1;
254
428
  */
255
429
  CompositionPhase[CompositionPhase["BEGIN"] = 1] = "BEGIN";
256
430
  /**
257
- * The preedit text changed ("compositionupdate").
431
+ * The preedit text changed ("compositionupdate"). The session shows the
432
+ * latest UPDATE and may skip earlier ones the editor has not caught up
433
+ * with.
258
434
  *
259
435
  * @generated from enum value: COMPOSITION_PHASE_UPDATE = 2;
260
436
  */
261
437
  CompositionPhase[CompositionPhase["UPDATE"] = 2] = "UPDATE";
262
438
  /**
263
439
  * A real key the input method consumed while composing. The session hands
264
- * it to the editor's native input context and waits until that context
265
- * consumed it.
440
+ * it to the editor's native input context, which consumes it, so that the
441
+ * application sees the key but never as text. Its press or release never
442
+ * ends the composition.
266
443
  *
267
444
  * @generated from enum value: COMPOSITION_PHASE_KEY = 3;
268
445
  */
269
446
  CompositionPhase[CompositionPhase["KEY"] = 3] = "KEY";
270
447
  /**
271
- * The composition ended with text ("compositionend").
448
+ * The composition ended with text ("compositionend"): the text is inserted
449
+ * and the preedit goes.
272
450
  *
273
451
  * @generated from enum value: COMPOSITION_PHASE_COMMIT = 4;
274
452
  */
275
453
  CompositionPhase[CompositionPhase["COMMIT"] = 4] = "COMMIT";
276
454
  /**
277
- * The composition was abandoned.
455
+ * The composition was abandoned: the preedit goes.
278
456
  *
279
457
  * @generated from enum value: COMPOSITION_PHASE_CANCEL = 5;
280
458
  */
@@ -283,7 +461,7 @@ export var CompositionPhase;
283
461
  /**
284
462
  * Describes the enum leaflow.fleet.virtualdesktop.input.v1.CompositionPhase.
285
463
  */
286
- export const CompositionPhaseSchema = /*@__PURE__*/ enumDesc(file_leaflow_fleet_virtualdesktop_input_v1_input, 2);
464
+ export const CompositionPhaseSchema = /*@__PURE__*/ enumDesc(file_leaflow_fleet_virtualdesktop_input_v1_input, 4);
287
465
  /**
288
466
  * Input through calls. Gestures run in the session as a whole, with the timing
289
467
  * of a person, so that double clicks, drags and key chords work whatever the
@@ -1,5 +1,5 @@
1
1
  import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
2
- import type { Icon, Rectangle } from "../../display/v1/display_pb.js";
2
+ import type { Icon, Point, Rectangle } from "../../display/v1/display_pb.js";
3
3
  import type { Message } from "@bufbuild/protobuf";
4
4
  /**
5
5
  * Describes the file leaflow/fleet/virtualdesktop/window/v1/window.proto.
@@ -347,6 +347,60 @@ export type Window = Message<"leaflow.fleet.virtualdesktop.window.v1.Window"> &
347
347
  * @generated from field: leaflow.fleet.virtualdesktop.display.v1.Icon icon = 20;
348
348
  */
349
349
  icon?: Icon | undefined;
350
+ /**
351
+ * The application chose where the window goes (ICCCM WM_NORMAL_HINTS
352
+ * USPosition or PPosition), as a floating toolbar over the selected text
353
+ * does. A participant that places windows itself (see "Native windows")
354
+ * then puts it at requested_position, as a window manager does, with
355
+ * gravity. Otherwise it places the window: a dialog centred over the
356
+ * window it is transient for, any other window where its desktop puts new
357
+ * windows.
358
+ *
359
+ * @generated from field: bool position_requested = 21;
360
+ */
361
+ positionRequested: boolean;
362
+ /**
363
+ * How a frame goes around the requested position, as the application
364
+ * declared it (ICCCM WM_NORMAL_HINTS win_gravity). UNSPECIFIED: NORTH_WEST.
365
+ *
366
+ * @generated from field: leaflow.fleet.virtualdesktop.window.v1.WindowGravity gravity = 22;
367
+ */
368
+ gravity: WindowGravity;
369
+ /**
370
+ * How the window takes the keyboard focus (ICCCM WM_HINTS input and
371
+ * WM_TAKE_FOCUS). UNSPECIFIED: PASSIVE.
372
+ *
373
+ * @generated from field: leaflow.fleet.virtualdesktop.window.v1.FocusModel focus_model = 23;
374
+ */
375
+ focusModel: FocusModel;
376
+ /**
377
+ * Showing the window gives it the keyboard focus. False when its
378
+ * application shows it without taking the focus (EWMH _NET_WM_USER_TIME 0),
379
+ * as a toolbar that appears beside a selection does, or when its
380
+ * focus_model is NO_INPUT. Unset: true.
381
+ *
382
+ * @generated from field: optional bool focus_on_map = 24;
383
+ */
384
+ focusOnMap?: boolean | undefined;
385
+ /**
386
+ * The window does not take WM_DELETE_WINDOW (ICCCM): WindowClose ends its
387
+ * application's connection to the display, and with it every window of the
388
+ * application. A participant may warn first.
389
+ *
390
+ * @generated from field: bool close_kills = 25;
391
+ */
392
+ closeKills: boolean;
393
+ /**
394
+ * The top-left corner of the client area the application asked for when it
395
+ * created the window, in canvas coordinates, before the session placed it.
396
+ * The session places a window it is shown (inside its work area, centred
397
+ * over the parent) and geometry is where it went; this is the request
398
+ * itself, as Xpra's requested-position. Unset when the application made
399
+ * none.
400
+ *
401
+ * @generated from field: leaflow.fleet.virtualdesktop.display.v1.Point requested_position = 26;
402
+ */
403
+ requestedPosition?: Point | undefined;
350
404
  };
351
405
  /**
352
406
  * Describes the message leaflow.fleet.virtualdesktop.window.v1.Window.
@@ -1276,6 +1330,126 @@ export declare enum WindowAction {
1276
1330
  * Describes the enum leaflow.fleet.virtualdesktop.window.v1.WindowAction.
1277
1331
  */
1278
1332
  export declare const WindowActionSchema: GenEnum<WindowAction>;
1333
+ /**
1334
+ * How a window takes the keyboard focus (ICCCM §4.1.7).
1335
+ *
1336
+ * @generated from enum leaflow.fleet.virtualdesktop.window.v1.FocusModel
1337
+ */
1338
+ export declare enum FocusModel {
1339
+ /**
1340
+ * @generated from enum value: FOCUS_MODEL_UNSPECIFIED = 0;
1341
+ */
1342
+ UNSPECIFIED = 0,
1343
+ /**
1344
+ * It never takes the focus, such as an on-screen keyboard or a floating
1345
+ * palette: showing or clicking it leaves the focus where it is.
1346
+ *
1347
+ * @generated from enum value: FOCUS_MODEL_NO_INPUT = 1;
1348
+ */
1349
+ NO_INPUT = 1,
1350
+ /**
1351
+ * It takes the focus when activated.
1352
+ *
1353
+ * @generated from enum value: FOCUS_MODEL_PASSIVE = 2;
1354
+ */
1355
+ PASSIVE = 2,
1356
+ /**
1357
+ * It takes the focus when activated, and may move it among its own
1358
+ * windows.
1359
+ *
1360
+ * @generated from enum value: FOCUS_MODEL_LOCALLY_ACTIVE = 3;
1361
+ */
1362
+ LOCALLY_ACTIVE = 3,
1363
+ /**
1364
+ * It is told when activated and decides itself whether to take the focus,
1365
+ * as some Java windows do.
1366
+ *
1367
+ * @generated from enum value: FOCUS_MODEL_GLOBALLY_ACTIVE = 4;
1368
+ */
1369
+ GLOBALLY_ACTIVE = 4
1370
+ }
1371
+ /**
1372
+ * Describes the enum leaflow.fleet.virtualdesktop.window.v1.FocusModel.
1373
+ */
1374
+ export declare const FocusModelSchema: GenEnum<FocusModel>;
1375
+ /**
1376
+ * How a participant that draws a frame around a window it shows where the
1377
+ * application asked (ICCCM win_gravity) places that frame: the named point of
1378
+ * the frame goes where the same point of the requested client area, geometry,
1379
+ * is. The client area then moves inside the frame, except for STATIC.
1380
+ *
1381
+ * @generated from enum leaflow.fleet.virtualdesktop.window.v1.WindowGravity
1382
+ */
1383
+ export declare enum WindowGravity {
1384
+ /**
1385
+ * @generated from enum value: WINDOW_GRAVITY_UNSPECIFIED = 0;
1386
+ */
1387
+ UNSPECIFIED = 0,
1388
+ /**
1389
+ * The top-left corner.
1390
+ *
1391
+ * @generated from enum value: WINDOW_GRAVITY_NORTH_WEST = 1;
1392
+ */
1393
+ NORTH_WEST = 1,
1394
+ /**
1395
+ * The middle of the top edge.
1396
+ *
1397
+ * @generated from enum value: WINDOW_GRAVITY_NORTH = 2;
1398
+ */
1399
+ NORTH = 2,
1400
+ /**
1401
+ * The top-right corner.
1402
+ *
1403
+ * @generated from enum value: WINDOW_GRAVITY_NORTH_EAST = 3;
1404
+ */
1405
+ NORTH_EAST = 3,
1406
+ /**
1407
+ * The middle of the left edge.
1408
+ *
1409
+ * @generated from enum value: WINDOW_GRAVITY_WEST = 4;
1410
+ */
1411
+ WEST = 4,
1412
+ /**
1413
+ * The centre.
1414
+ *
1415
+ * @generated from enum value: WINDOW_GRAVITY_CENTER = 5;
1416
+ */
1417
+ CENTER = 5,
1418
+ /**
1419
+ * The middle of the right edge.
1420
+ *
1421
+ * @generated from enum value: WINDOW_GRAVITY_EAST = 6;
1422
+ */
1423
+ EAST = 6,
1424
+ /**
1425
+ * The bottom-left corner.
1426
+ *
1427
+ * @generated from enum value: WINDOW_GRAVITY_SOUTH_WEST = 7;
1428
+ */
1429
+ SOUTH_WEST = 7,
1430
+ /**
1431
+ * The middle of the bottom edge.
1432
+ *
1433
+ * @generated from enum value: WINDOW_GRAVITY_SOUTH = 8;
1434
+ */
1435
+ SOUTH = 8,
1436
+ /**
1437
+ * The bottom-right corner.
1438
+ *
1439
+ * @generated from enum value: WINDOW_GRAVITY_SOUTH_EAST = 9;
1440
+ */
1441
+ SOUTH_EAST = 9,
1442
+ /**
1443
+ * The client area stays where geometry is, and the frame goes around it.
1444
+ *
1445
+ * @generated from enum value: WINDOW_GRAVITY_STATIC = 10;
1446
+ */
1447
+ STATIC = 10
1448
+ }
1449
+ /**
1450
+ * Describes the enum leaflow.fleet.virtualdesktop.window.v1.WindowGravity.
1451
+ */
1452
+ export declare const WindowGravitySchema: GenEnum<WindowGravity>;
1279
1453
  /**
1280
1454
  * A restacking mode (X11 ConfigureWindow stack-mode).
1281
1455
  *
@@ -6,7 +6,7 @@ import { file_leaflow_fleet_virtualdesktop_display_v1_display } from "../../disp
6
6
  /**
7
7
  * Describes the file leaflow/fleet/virtualdesktop/window/v1/window.proto.
8
8
  */
9
- export const file_leaflow_fleet_virtualdesktop_window_v1_window = /*@__PURE__*/ fileDesc("CjNsZWFmbG93L2ZsZWV0L3ZpcnR1YWxkZXNrdG9wL3dpbmRvdy92MS93aW5kb3cucHJvdG8SJmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxIoIFCg1DbGllbnRNZXNzYWdlEksKDGNsaWVudF9oZWxsbxgBIAEoCzIzLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLkNsaWVudEhlbGxvSAASSgoIc3RhY2tpbmcYAiABKAsyNi5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5XaW5kb3dTdGFja2luZ0gAEkoKCGFjdGl2YXRlGAMgASgLMjYubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC53aW5kb3cudjEuV2luZG93QWN0aXZhdGVIABJMCgljb25maWd1cmUYBCABKAsyNy5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5XaW5kb3dDb25maWd1cmVIABJECgVjbG9zZRgFIAEoCzIzLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLldpbmRvd0Nsb3NlSAASSgoIbWluaW1pemUYBiABKAsyNi5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5XaW5kb3dNaW5pbWl6ZUgAElEKDHN0YXRlX2NoYW5nZRgHIAEoCzI5LmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLldpbmRvd1N0YXRlQ2hhbmdlSAASTgoKdmlzaWJpbGl0eRgIIAEoCzI4LmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLldpbmRvd1Zpc2liaWxpdHlIAEIJCgdtZXNzYWdlIsMFCg1TZXJ2ZXJNZXNzYWdlEkAKBndpbmRvdxgBIAEoCzIuLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLldpbmRvd0gAEkgKB2Rlc3Ryb3kYAiABKAsyNS5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5XaW5kb3dEZXN0cm95SAASSgoIc3RhY2tpbmcYAyABKAsyNi5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5XaW5kb3dTdGFja2luZ0gAEkoKCGFjdGl2YXRlGAQgASgLMjYubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC53aW5kb3cudjEuV2luZG93QWN0aXZhdGVIABJICgdyZXN0YWNrGAUgASgLMjUubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC53aW5kb3cudjEuV2luZG93UmVzdGFja0gAEmAKFGluaXRpYXRlX21vdmVfcmVzaXplGAYgASgLMkAubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC53aW5kb3cudjEuV2luZG93SW5pdGlhdGVNb3ZlUmVzaXplSAASQgoEZ3JhYhgHIAEoCzIyLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLldpbmRvd0dyYWJIABJGCgZ1bmdyYWIYCCABKAsyNC5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5XaW5kb3dVbmdyYWJIABJLCgxzbmFwc2hvdF9lbmQYCSABKAsyMy5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5TbmFwc2hvdEVuZEgAQgkKB21lc3NhZ2UiJQoLQ2xpZW50SGVsbG8SFgoObmF0aXZlX3dpbmRvd3MYASABKAgikAYKBldpbmRvdxIRCgl3aW5kb3dfaWQYASABKAQSRAoIZ2VvbWV0cnkYAiABKAsyMi5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmRpc3BsYXkudjEuUmVjdGFuZ2xlEhYKDnJlc2l6ZV9jb3VudGVyGAMgASgEEhkKEW92ZXJyaWRlX3JlZGlyZWN0GAQgASgIEhoKDXRyYW5zaWVudF9mb3IYBSABKARIAIgBARIZCgx3aW5kb3dfZ3JvdXAYBiABKARIAYgBARJICgx3aW5kb3dfdHlwZXMYByADKA4yMi5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5XaW5kb3dUeXBlEkMKBnN0YXRlcxgIIAMoDjIzLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLldpbmRvd1N0YXRlEk0KD2FsbG93ZWRfYWN0aW9ucxgJIAMoDjI0LmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLldpbmRvd0FjdGlvbhJFCgpzaXplX2hpbnRzGAogASgLMjEubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC53aW5kb3cudjEuU2l6ZUhpbnRzEg0KBXRpdGxlGAsgASgJEhAKCHJlc19uYW1lGAwgASgJEhEKCXJlc19jbGFzcxgNIAEoCRITCgt3aW5kb3dfcm9sZRgOIAEoCRIXCg9kZXNrdG9wX2ZpbGVfaWQYDyABKAkSEgoKc3RhcnR1cF9pZBgQIAEoCRILCgNwaWQYESABKA0SGAoLZGVjb3JhdGlvbnMYEiABKAhIAogBARIRCgloYXNfYWxwaGEYEyABKAgSOwoEaWNvbhgUIAEoCzItLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuZGlzcGxheS52MS5JY29uQhAKDl90cmFuc2llbnRfZm9yQg8KDV93aW5kb3dfZ3JvdXBCDgoMX2RlY29yYXRpb25zIqkBCglTaXplSGludHMSEQoJbWluX3dpZHRoGAEgASgNEhIKCm1pbl9oZWlnaHQYAiABKA0SEQoJbWF4X3dpZHRoGAMgASgNEhIKCm1heF9oZWlnaHQYBCABKA0SEgoKYmFzZV93aWR0aBgFIAEoDRITCgtiYXNlX2hlaWdodBgGIAEoDRIRCgl3aWR0aF9pbmMYByABKA0SEgoKaGVpZ2h0X2luYxgIIAEoDSIiCg1XaW5kb3dEZXN0cm95EhEKCXdpbmRvd19pZBgBIAEoBCIkCg5XaW5kb3dTdGFja2luZxISCgp3aW5kb3dfaWRzGAEgAygEIiMKDldpbmRvd0FjdGl2YXRlEhEKCXdpbmRvd19pZBgBIAEoBCKLAQoNV2luZG93UmVzdGFjaxIRCgl3aW5kb3dfaWQYASABKAQSRQoKc3RhY2tfbW9kZRgCIAEoDjIxLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLlN0YWNrTW9kZRIUCgdzaWJsaW5nGAMgASgESACIAQFCCgoIX3NpYmxpbmciggEKD1dpbmRvd0NvbmZpZ3VyZRIRCgl3aW5kb3dfaWQYASABKAQSRAoIZ2VvbWV0cnkYAiABKAsyMi5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmRpc3BsYXkudjEuUmVjdGFuZ2xlEhYKDnJlc2l6ZV9jb3VudGVyGAMgASgEIiAKC1dpbmRvd0Nsb3NlEhEKCXdpbmRvd19pZBgBIAEoBCIjCg5XaW5kb3dNaW5pbWl6ZRIRCgl3aW5kb3dfaWQYASABKAQivAEKEVdpbmRvd1N0YXRlQ2hhbmdlEhEKCXdpbmRvd19pZBgBIAEoBBJPCglvcGVyYXRpb24YAiABKA4yPC5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5XaW5kb3dTdGF0ZU9wZXJhdGlvbhJDCgZzdGF0ZXMYAyADKA4yMy5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5XaW5kb3dTdGF0ZSJyChBXaW5kb3dWaXNpYmlsaXR5EhEKCXdpbmRvd19pZBgBIAEoBBJLCgp2aXNpYmlsaXR5GAIgASgOMjcubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC53aW5kb3cudjEuVmlzaWJpbGl0eVN0YXRlItQBChhXaW5kb3dJbml0aWF0ZU1vdmVSZXNpemUSEQoJd2luZG93X2lkGAEgASgEEgkKAXgYAiABKBESCQoBeRgDIAEoERJOCglkaXJlY3Rpb24YBCABKA4yOy5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5Nb3ZlUmVzaXplRGlyZWN0aW9uEg4KBmJ1dHRvbhgFIAEoDRIXCg9wcmVzc19pbnB1dF9zZXEYBiABKAQSFgoOcmVzaXplX2NvdW50ZXIYByABKAQiHwoKV2luZG93R3JhYhIRCgl3aW5kb3dfaWQYASABKAQiIQoMV2luZG93VW5ncmFiEhEKCXdpbmRvd19pZBgBIAEoBCINCgtTbmFwc2hvdEVuZCIqChVBY3RpdmF0ZVdpbmRvd1JlcXVlc3QSEQoJd2luZG93X2lkGAEgASgEIioKFkFjdGl2YXRlV2luZG93UmVzcG9uc2USEAoIcmV2aXNpb24YASABKAQiJwoSQ2xvc2VXaW5kb3dSZXF1ZXN0EhEKCXdpbmRvd19pZBgBIAEoBCInChNDbG9zZVdpbmRvd1Jlc3BvbnNlEhAKCHJldmlzaW9uGAEgASgEIioKFU1pbmltaXplV2luZG93UmVxdWVzdBIRCgl3aW5kb3dfaWQYASABKAQiKgoWTWluaW1pemVXaW5kb3dSZXNwb25zZRIQCghyZXZpc2lvbhgBIAEoBCJzChhTZXRXaW5kb3dHZW9tZXRyeVJlcXVlc3QSEQoJd2luZG93X2lkGAEgASgEEkQKCGdlb21ldHJ5GAIgASgLMjIubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5kaXNwbGF5LnYxLlJlY3RhbmdsZSKLAQoZU2V0V2luZG93R2VvbWV0cnlSZXNwb25zZRJECghnZW9tZXRyeRgBIAEoCzIyLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuZGlzcGxheS52MS5SZWN0YW5nbGUSFgoOcmVzaXplX2NvdW50ZXIYAiABKAQSEAoIcmV2aXNpb24YAyABKAQiwwEKGENoYW5nZVdpbmRvd1N0YXRlUmVxdWVzdBIRCgl3aW5kb3dfaWQYASABKAQSTwoJb3BlcmF0aW9uGAIgASgOMjwubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC53aW5kb3cudjEuV2luZG93U3RhdGVPcGVyYXRpb24SQwoGc3RhdGVzGAMgAygOMjMubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC53aW5kb3cudjEuV2luZG93U3RhdGUi0AEKGUNoYW5nZVdpbmRvd1N0YXRlUmVzcG9uc2USQwoGc3RhdGVzGAEgAygOMjMubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC53aW5kb3cudjEuV2luZG93U3RhdGUSRAoIZ2VvbWV0cnkYAiABKAsyMi5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmRpc3BsYXkudjEuUmVjdGFuZ2xlEhYKDnJlc2l6ZV9jb3VudGVyGAMgASgEEhAKCHJldmlzaW9uGAQgASgEKoYDCgpXaW5kb3dUeXBlEhsKF1dJTkRPV19UWVBFX1VOU1BFQ0lGSUVEEAASFgoSV0lORE9XX1RZUEVfTk9STUFMEAESFgoSV0lORE9XX1RZUEVfRElBTE9HEAISFwoTV0lORE9XX1RZUEVfREVTS1RPUBADEhQKEFdJTkRPV19UWVBFX0RPQ0sQBBIXChNXSU5ET1dfVFlQRV9UT09MQkFSEAUSFAoQV0lORE9XX1RZUEVfTUVOVRAGEhcKE1dJTkRPV19UWVBFX1VUSUxJVFkQBxIWChJXSU5ET1dfVFlQRV9TUExBU0gQCBIdChlXSU5ET1dfVFlQRV9EUk9QRE9XTl9NRU5VEAkSGgoWV0lORE9XX1RZUEVfUE9QVVBfTUVOVRAKEhcKE1dJTkRPV19UWVBFX1RPT0xUSVAQCxIcChhXSU5ET1dfVFlQRV9OT1RJRklDQVRJT04QDBIVChFXSU5ET1dfVFlQRV9DT01CTxANEhMKD1dJTkRPV19UWVBFX0RORBAOKpcDCgtXaW5kb3dTdGF0ZRIcChhXSU5ET1dfU1RBVEVfVU5TUEVDSUZJRUQQABIWChJXSU5ET1dfU1RBVEVfTU9EQUwQARIXChNXSU5ET1dfU1RBVEVfU1RJQ0tZEAISHwobV0lORE9XX1NUQVRFX01BWElNSVpFRF9WRVJUEAMSHwobV0lORE9XX1NUQVRFX01BWElNSVpFRF9IT1JaEAQSFwoTV0lORE9XX1NUQVRFX1NIQURFRBAFEh0KGVdJTkRPV19TVEFURV9TS0lQX1RBU0tCQVIQBhIbChdXSU5ET1dfU1RBVEVfU0tJUF9QQUdFUhAHEhcKE1dJTkRPV19TVEFURV9ISURERU4QCBIbChdXSU5ET1dfU1RBVEVfRlVMTFNDUkVFThAJEhYKEldJTkRPV19TVEFURV9BQk9WRRAKEhYKEldJTkRPV19TVEFURV9CRUxPVxALEiIKHldJTkRPV19TVEFURV9ERU1BTkRTX0FUVEVOVElPThAMEhgKFFdJTkRPV19TVEFURV9GT0NVU0VEEA0q+gIKDFdpbmRvd0FjdGlvbhIdChlXSU5ET1dfQUNUSU9OX1VOU1BFQ0lGSUVEEAASFgoSV0lORE9XX0FDVElPTl9NT1ZFEAESGAoUV0lORE9XX0FDVElPTl9SRVNJWkUQAhIaChZXSU5ET1dfQUNUSU9OX01JTklNSVpFEAMSFwoTV0lORE9XX0FDVElPTl9TSEFERRAEEhcKE1dJTkRPV19BQ1RJT05fU1RJQ0sQBRIfChtXSU5ET1dfQUNUSU9OX01BWElNSVpFX0hPUloQBhIfChtXSU5ET1dfQUNUSU9OX01BWElNSVpFX1ZFUlQQBxIcChhXSU5ET1dfQUNUSU9OX0ZVTExTQ1JFRU4QCBIgChxXSU5ET1dfQUNUSU9OX0NIQU5HRV9ERVNLVE9QEAkSFwoTV0lORE9XX0FDVElPTl9DTE9TRRAKEhcKE1dJTkRPV19BQ1RJT05fQUJPVkUQCxIXChNXSU5ET1dfQUNUSU9OX0JFTE9XEAwqnQEKCVN0YWNrTW9kZRIaChZTVEFDS19NT0RFX1VOU1BFQ0lGSUVEEAASFAoQU1RBQ0tfTU9ERV9BQk9WRRABEhQKEFNUQUNLX01PREVfQkVMT1cQAhIVChFTVEFDS19NT0RFX1RPUF9JRhADEhgKFFNUQUNLX01PREVfQk9UVE9NX0lGEAQSFwoTU1RBQ0tfTU9ERV9PUFBPU0lURRAFKqQBChRXaW5kb3dTdGF0ZU9wZXJhdGlvbhImCiJXSU5ET1dfU1RBVEVfT1BFUkFUSU9OX1VOU1BFQ0lGSUVEEAASIQodV0lORE9XX1NUQVRFX09QRVJBVElPTl9SRU1PVkUQARIeChpXSU5ET1dfU1RBVEVfT1BFUkFUSU9OX0FERBACEiEKHVdJTkRPV19TVEFURV9PUEVSQVRJT05fVE9HR0xFEAMqogEKD1Zpc2liaWxpdHlTdGF0ZRIgChxWSVNJQklMSVRZX1NUQVRFX1VOU1BFQ0lGSUVEEAASHwobVklTSUJJTElUWV9TVEFURV9VTk9CU0NVUkVEEAESJwojVklTSUJJTElUWV9TVEFURV9QQVJUSUFMTFlfT0JTQ1VSRUQQAhIjCh9WSVNJQklMSVRZX1NUQVRFX0ZVTExZX09CU0NVUkVEEAMqjgQKE01vdmVSZXNpemVEaXJlY3Rpb24SJQohTU9WRV9SRVNJWkVfRElSRUNUSU9OX1VOU1BFQ0lGSUVEEAASJgoiTU9WRV9SRVNJWkVfRElSRUNUSU9OX1NJWkVfVE9QTEVGVBABEiIKHk1PVkVfUkVTSVpFX0RJUkVDVElPTl9TSVpFX1RPUBACEicKI01PVkVfUkVTSVpFX0RJUkVDVElPTl9TSVpFX1RPUFJJR0hUEAMSJAogTU9WRV9SRVNJWkVfRElSRUNUSU9OX1NJWkVfUklHSFQQBBIqCiZNT1ZFX1JFU0laRV9ESVJFQ1RJT05fU0laRV9CT1RUT01SSUdIVBAFEiUKIU1PVkVfUkVTSVpFX0RJUkVDVElPTl9TSVpFX0JPVFRPTRAGEikKJU1PVkVfUkVTSVpFX0RJUkVDVElPTl9TSVpFX0JPVFRPTUxFRlQQBxIjCh9NT1ZFX1JFU0laRV9ESVJFQ1RJT05fU0laRV9MRUZUEAgSHgoaTU9WRV9SRVNJWkVfRElSRUNUSU9OX01PVkUQCRInCiNNT1ZFX1JFU0laRV9ESVJFQ1RJT05fU0laRV9LRVlCT0FSRBAKEicKI01PVkVfUkVTSVpFX0RJUkVDVElPTl9NT1ZFX0tFWUJPQVJEEAsSIAocTU9WRV9SRVNJWkVfRElSRUNUSU9OX0NBTkNFTBAMMvIFCg1XaW5kb3dTZXJ2aWNlEo8BCg5BY3RpdmF0ZVdpbmRvdxI9LmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLkFjdGl2YXRlV2luZG93UmVxdWVzdBo+LmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLkFjdGl2YXRlV2luZG93UmVzcG9uc2UShgEKC0Nsb3NlV2luZG93EjoubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC53aW5kb3cudjEuQ2xvc2VXaW5kb3dSZXF1ZXN0GjsubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC53aW5kb3cudjEuQ2xvc2VXaW5kb3dSZXNwb25zZRKPAQoOTWluaW1pemVXaW5kb3cSPS5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5NaW5pbWl6ZVdpbmRvd1JlcXVlc3QaPi5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5NaW5pbWl6ZVdpbmRvd1Jlc3BvbnNlEpgBChFTZXRXaW5kb3dHZW9tZXRyeRJALmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLlNldFdpbmRvd0dlb21ldHJ5UmVxdWVzdBpBLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLlNldFdpbmRvd0dlb21ldHJ5UmVzcG9uc2USmAEKEUNoYW5nZVdpbmRvd1N0YXRlEkAubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC53aW5kb3cudjEuQ2hhbmdlV2luZG93U3RhdGVSZXF1ZXN0GkEubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC53aW5kb3cudjEuQ2hhbmdlV2luZG93U3RhdGVSZXNwb25zZUJLWklnaXRodWIuY29tL2xlYWZsb3dhcGlzL2xlYWZsb3ctZ28vZmxlZXQvdmlydHVhbGRlc2t0b3Avd2luZG93L3YxO3dpbmRvd3YxYgZwcm90bzM", [file_leaflow_fleet_virtualdesktop_display_v1_display]);
9
+ export const file_leaflow_fleet_virtualdesktop_window_v1_window = /*@__PURE__*/ fileDesc("CjNsZWFmbG93L2ZsZWV0L3ZpcnR1YWxkZXNrdG9wL3dpbmRvdy92MS93aW5kb3cucHJvdG8SJmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxIoIFCg1DbGllbnRNZXNzYWdlEksKDGNsaWVudF9oZWxsbxgBIAEoCzIzLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLkNsaWVudEhlbGxvSAASSgoIc3RhY2tpbmcYAiABKAsyNi5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5XaW5kb3dTdGFja2luZ0gAEkoKCGFjdGl2YXRlGAMgASgLMjYubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC53aW5kb3cudjEuV2luZG93QWN0aXZhdGVIABJMCgljb25maWd1cmUYBCABKAsyNy5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5XaW5kb3dDb25maWd1cmVIABJECgVjbG9zZRgFIAEoCzIzLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLldpbmRvd0Nsb3NlSAASSgoIbWluaW1pemUYBiABKAsyNi5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5XaW5kb3dNaW5pbWl6ZUgAElEKDHN0YXRlX2NoYW5nZRgHIAEoCzI5LmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLldpbmRvd1N0YXRlQ2hhbmdlSAASTgoKdmlzaWJpbGl0eRgIIAEoCzI4LmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLldpbmRvd1Zpc2liaWxpdHlIAEIJCgdtZXNzYWdlIsMFCg1TZXJ2ZXJNZXNzYWdlEkAKBndpbmRvdxgBIAEoCzIuLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLldpbmRvd0gAEkgKB2Rlc3Ryb3kYAiABKAsyNS5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5XaW5kb3dEZXN0cm95SAASSgoIc3RhY2tpbmcYAyABKAsyNi5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5XaW5kb3dTdGFja2luZ0gAEkoKCGFjdGl2YXRlGAQgASgLMjYubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC53aW5kb3cudjEuV2luZG93QWN0aXZhdGVIABJICgdyZXN0YWNrGAUgASgLMjUubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC53aW5kb3cudjEuV2luZG93UmVzdGFja0gAEmAKFGluaXRpYXRlX21vdmVfcmVzaXplGAYgASgLMkAubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC53aW5kb3cudjEuV2luZG93SW5pdGlhdGVNb3ZlUmVzaXplSAASQgoEZ3JhYhgHIAEoCzIyLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLldpbmRvd0dyYWJIABJGCgZ1bmdyYWIYCCABKAsyNC5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5XaW5kb3dVbmdyYWJIABJLCgxzbmFwc2hvdF9lbmQYCSABKAsyMy5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5TbmFwc2hvdEVuZEgAQgkKB21lc3NhZ2UiJQoLQ2xpZW50SGVsbG8SFgoObmF0aXZlX3dpbmRvd3MYASABKAgiyggKBldpbmRvdxIRCgl3aW5kb3dfaWQYASABKAQSRAoIZ2VvbWV0cnkYAiABKAsyMi5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmRpc3BsYXkudjEuUmVjdGFuZ2xlEhYKDnJlc2l6ZV9jb3VudGVyGAMgASgEEhkKEW92ZXJyaWRlX3JlZGlyZWN0GAQgASgIEhoKDXRyYW5zaWVudF9mb3IYBSABKARIAIgBARIZCgx3aW5kb3dfZ3JvdXAYBiABKARIAYgBARJICgx3aW5kb3dfdHlwZXMYByADKA4yMi5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5XaW5kb3dUeXBlEkMKBnN0YXRlcxgIIAMoDjIzLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLldpbmRvd1N0YXRlEk0KD2FsbG93ZWRfYWN0aW9ucxgJIAMoDjI0LmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLldpbmRvd0FjdGlvbhJFCgpzaXplX2hpbnRzGAogASgLMjEubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC53aW5kb3cudjEuU2l6ZUhpbnRzEg0KBXRpdGxlGAsgASgJEhAKCHJlc19uYW1lGAwgASgJEhEKCXJlc19jbGFzcxgNIAEoCRITCgt3aW5kb3dfcm9sZRgOIAEoCRIXCg9kZXNrdG9wX2ZpbGVfaWQYDyABKAkSEgoKc3RhcnR1cF9pZBgQIAEoCRILCgNwaWQYESABKA0SGAoLZGVjb3JhdGlvbnMYEiABKAhIAogBARIRCgloYXNfYWxwaGEYEyABKAgSOwoEaWNvbhgUIAEoCzItLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuZGlzcGxheS52MS5JY29uEhoKEnBvc2l0aW9uX3JlcXVlc3RlZBgVIAEoCBJGCgdncmF2aXR5GBYgASgOMjUubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC53aW5kb3cudjEuV2luZG93R3Jhdml0eRJHCgtmb2N1c19tb2RlbBgXIAEoDjIyLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLkZvY3VzTW9kZWwSGQoMZm9jdXNfb25fbWFwGBggASgISAOIAQESEwoLY2xvc2Vfa2lsbHMYGSABKAgSSgoScmVxdWVzdGVkX3Bvc2l0aW9uGBogASgLMi4ubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5kaXNwbGF5LnYxLlBvaW50QhAKDl90cmFuc2llbnRfZm9yQg8KDV93aW5kb3dfZ3JvdXBCDgoMX2RlY29yYXRpb25zQg8KDV9mb2N1c19vbl9tYXAiqQEKCVNpemVIaW50cxIRCgltaW5fd2lkdGgYASABKA0SEgoKbWluX2hlaWdodBgCIAEoDRIRCgltYXhfd2lkdGgYAyABKA0SEgoKbWF4X2hlaWdodBgEIAEoDRISCgpiYXNlX3dpZHRoGAUgASgNEhMKC2Jhc2VfaGVpZ2h0GAYgASgNEhEKCXdpZHRoX2luYxgHIAEoDRISCgpoZWlnaHRfaW5jGAggASgNIiIKDVdpbmRvd0Rlc3Ryb3kSEQoJd2luZG93X2lkGAEgASgEIiQKDldpbmRvd1N0YWNraW5nEhIKCndpbmRvd19pZHMYASADKAQiIwoOV2luZG93QWN0aXZhdGUSEQoJd2luZG93X2lkGAEgASgEIosBCg1XaW5kb3dSZXN0YWNrEhEKCXdpbmRvd19pZBgBIAEoBBJFCgpzdGFja19tb2RlGAIgASgOMjEubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC53aW5kb3cudjEuU3RhY2tNb2RlEhQKB3NpYmxpbmcYAyABKARIAIgBAUIKCghfc2libGluZyKCAQoPV2luZG93Q29uZmlndXJlEhEKCXdpbmRvd19pZBgBIAEoBBJECghnZW9tZXRyeRgCIAEoCzIyLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuZGlzcGxheS52MS5SZWN0YW5nbGUSFgoOcmVzaXplX2NvdW50ZXIYAyABKAQiIAoLV2luZG93Q2xvc2USEQoJd2luZG93X2lkGAEgASgEIiMKDldpbmRvd01pbmltaXplEhEKCXdpbmRvd19pZBgBIAEoBCK8AQoRV2luZG93U3RhdGVDaGFuZ2USEQoJd2luZG93X2lkGAEgASgEEk8KCW9wZXJhdGlvbhgCIAEoDjI8LmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLldpbmRvd1N0YXRlT3BlcmF0aW9uEkMKBnN0YXRlcxgDIAMoDjIzLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLldpbmRvd1N0YXRlInIKEFdpbmRvd1Zpc2liaWxpdHkSEQoJd2luZG93X2lkGAEgASgEEksKCnZpc2liaWxpdHkYAiABKA4yNy5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5WaXNpYmlsaXR5U3RhdGUi1AEKGFdpbmRvd0luaXRpYXRlTW92ZVJlc2l6ZRIRCgl3aW5kb3dfaWQYASABKAQSCQoBeBgCIAEoERIJCgF5GAMgASgREk4KCWRpcmVjdGlvbhgEIAEoDjI7LmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLk1vdmVSZXNpemVEaXJlY3Rpb24SDgoGYnV0dG9uGAUgASgNEhcKD3ByZXNzX2lucHV0X3NlcRgGIAEoBBIWCg5yZXNpemVfY291bnRlchgHIAEoBCIfCgpXaW5kb3dHcmFiEhEKCXdpbmRvd19pZBgBIAEoBCIhCgxXaW5kb3dVbmdyYWISEQoJd2luZG93X2lkGAEgASgEIg0KC1NuYXBzaG90RW5kIioKFUFjdGl2YXRlV2luZG93UmVxdWVzdBIRCgl3aW5kb3dfaWQYASABKAQiKgoWQWN0aXZhdGVXaW5kb3dSZXNwb25zZRIQCghyZXZpc2lvbhgBIAEoBCInChJDbG9zZVdpbmRvd1JlcXVlc3QSEQoJd2luZG93X2lkGAEgASgEIicKE0Nsb3NlV2luZG93UmVzcG9uc2USEAoIcmV2aXNpb24YASABKAQiKgoVTWluaW1pemVXaW5kb3dSZXF1ZXN0EhEKCXdpbmRvd19pZBgBIAEoBCIqChZNaW5pbWl6ZVdpbmRvd1Jlc3BvbnNlEhAKCHJldmlzaW9uGAEgASgEInMKGFNldFdpbmRvd0dlb21ldHJ5UmVxdWVzdBIRCgl3aW5kb3dfaWQYASABKAQSRAoIZ2VvbWV0cnkYAiABKAsyMi5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmRpc3BsYXkudjEuUmVjdGFuZ2xlIosBChlTZXRXaW5kb3dHZW9tZXRyeVJlc3BvbnNlEkQKCGdlb21ldHJ5GAEgASgLMjIubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5kaXNwbGF5LnYxLlJlY3RhbmdsZRIWCg5yZXNpemVfY291bnRlchgCIAEoBBIQCghyZXZpc2lvbhgDIAEoBCLDAQoYQ2hhbmdlV2luZG93U3RhdGVSZXF1ZXN0EhEKCXdpbmRvd19pZBgBIAEoBBJPCglvcGVyYXRpb24YAiABKA4yPC5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5XaW5kb3dTdGF0ZU9wZXJhdGlvbhJDCgZzdGF0ZXMYAyADKA4yMy5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5XaW5kb3dTdGF0ZSLQAQoZQ2hhbmdlV2luZG93U3RhdGVSZXNwb25zZRJDCgZzdGF0ZXMYASADKA4yMy5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5XaW5kb3dTdGF0ZRJECghnZW9tZXRyeRgCIAEoCzIyLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuZGlzcGxheS52MS5SZWN0YW5nbGUSFgoOcmVzaXplX2NvdW50ZXIYAyABKAQSEAoIcmV2aXNpb24YBCABKAQqhgMKCldpbmRvd1R5cGUSGwoXV0lORE9XX1RZUEVfVU5TUEVDSUZJRUQQABIWChJXSU5ET1dfVFlQRV9OT1JNQUwQARIWChJXSU5ET1dfVFlQRV9ESUFMT0cQAhIXChNXSU5ET1dfVFlQRV9ERVNLVE9QEAMSFAoQV0lORE9XX1RZUEVfRE9DSxAEEhcKE1dJTkRPV19UWVBFX1RPT0xCQVIQBRIUChBXSU5ET1dfVFlQRV9NRU5VEAYSFwoTV0lORE9XX1RZUEVfVVRJTElUWRAHEhYKEldJTkRPV19UWVBFX1NQTEFTSBAIEh0KGVdJTkRPV19UWVBFX0RST1BET1dOX01FTlUQCRIaChZXSU5ET1dfVFlQRV9QT1BVUF9NRU5VEAoSFwoTV0lORE9XX1RZUEVfVE9PTFRJUBALEhwKGFdJTkRPV19UWVBFX05PVElGSUNBVElPThAMEhUKEVdJTkRPV19UWVBFX0NPTUJPEA0SEwoPV0lORE9XX1RZUEVfRE5EEA4qlwMKC1dpbmRvd1N0YXRlEhwKGFdJTkRPV19TVEFURV9VTlNQRUNJRklFRBAAEhYKEldJTkRPV19TVEFURV9NT0RBTBABEhcKE1dJTkRPV19TVEFURV9TVElDS1kQAhIfChtXSU5ET1dfU1RBVEVfTUFYSU1JWkVEX1ZFUlQQAxIfChtXSU5ET1dfU1RBVEVfTUFYSU1JWkVEX0hPUloQBBIXChNXSU5ET1dfU1RBVEVfU0hBREVEEAUSHQoZV0lORE9XX1NUQVRFX1NLSVBfVEFTS0JBUhAGEhsKF1dJTkRPV19TVEFURV9TS0lQX1BBR0VSEAcSFwoTV0lORE9XX1NUQVRFX0hJRERFThAIEhsKF1dJTkRPV19TVEFURV9GVUxMU0NSRUVOEAkSFgoSV0lORE9XX1NUQVRFX0FCT1ZFEAoSFgoSV0lORE9XX1NUQVRFX0JFTE9XEAsSIgoeV0lORE9XX1NUQVRFX0RFTUFORFNfQVRURU5USU9OEAwSGAoUV0lORE9XX1NUQVRFX0ZPQ1VTRUQQDSr6AgoMV2luZG93QWN0aW9uEh0KGVdJTkRPV19BQ1RJT05fVU5TUEVDSUZJRUQQABIWChJXSU5ET1dfQUNUSU9OX01PVkUQARIYChRXSU5ET1dfQUNUSU9OX1JFU0laRRACEhoKFldJTkRPV19BQ1RJT05fTUlOSU1JWkUQAxIXChNXSU5ET1dfQUNUSU9OX1NIQURFEAQSFwoTV0lORE9XX0FDVElPTl9TVElDSxAFEh8KG1dJTkRPV19BQ1RJT05fTUFYSU1JWkVfSE9SWhAGEh8KG1dJTkRPV19BQ1RJT05fTUFYSU1JWkVfVkVSVBAHEhwKGFdJTkRPV19BQ1RJT05fRlVMTFNDUkVFThAIEiAKHFdJTkRPV19BQ1RJT05fQ0hBTkdFX0RFU0tUT1AQCRIXChNXSU5ET1dfQUNUSU9OX0NMT1NFEAoSFwoTV0lORE9XX0FDVElPTl9BQk9WRRALEhcKE1dJTkRPV19BQ1RJT05fQkVMT1cQDCqdAQoKRm9jdXNNb2RlbBIbChdGT0NVU19NT0RFTF9VTlNQRUNJRklFRBAAEhgKFEZPQ1VTX01PREVMX05PX0lOUFVUEAESFwoTRk9DVVNfTU9ERUxfUEFTU0lWRRACEh4KGkZPQ1VTX01PREVMX0xPQ0FMTFlfQUNUSVZFEAMSHwobRk9DVVNfTU9ERUxfR0xPQkFMTFlfQUNUSVZFEAQqxwIKDVdpbmRvd0dyYXZpdHkSHgoaV0lORE9XX0dSQVZJVFlfVU5TUEVDSUZJRUQQABIdChlXSU5ET1dfR1JBVklUWV9OT1JUSF9XRVNUEAESGAoUV0lORE9XX0dSQVZJVFlfTk9SVEgQAhIdChlXSU5ET1dfR1JBVklUWV9OT1JUSF9FQVNUEAMSFwoTV0lORE9XX0dSQVZJVFlfV0VTVBAEEhkKFVdJTkRPV19HUkFWSVRZX0NFTlRFUhAFEhcKE1dJTkRPV19HUkFWSVRZX0VBU1QQBhIdChlXSU5ET1dfR1JBVklUWV9TT1VUSF9XRVNUEAcSGAoUV0lORE9XX0dSQVZJVFlfU09VVEgQCBIdChlXSU5ET1dfR1JBVklUWV9TT1VUSF9FQVNUEAkSGQoVV0lORE9XX0dSQVZJVFlfU1RBVElDEAoqnQEKCVN0YWNrTW9kZRIaChZTVEFDS19NT0RFX1VOU1BFQ0lGSUVEEAASFAoQU1RBQ0tfTU9ERV9BQk9WRRABEhQKEFNUQUNLX01PREVfQkVMT1cQAhIVChFTVEFDS19NT0RFX1RPUF9JRhADEhgKFFNUQUNLX01PREVfQk9UVE9NX0lGEAQSFwoTU1RBQ0tfTU9ERV9PUFBPU0lURRAFKqQBChRXaW5kb3dTdGF0ZU9wZXJhdGlvbhImCiJXSU5ET1dfU1RBVEVfT1BFUkFUSU9OX1VOU1BFQ0lGSUVEEAASIQodV0lORE9XX1NUQVRFX09QRVJBVElPTl9SRU1PVkUQARIeChpXSU5ET1dfU1RBVEVfT1BFUkFUSU9OX0FERBACEiEKHVdJTkRPV19TVEFURV9PUEVSQVRJT05fVE9HR0xFEAMqogEKD1Zpc2liaWxpdHlTdGF0ZRIgChxWSVNJQklMSVRZX1NUQVRFX1VOU1BFQ0lGSUVEEAASHwobVklTSUJJTElUWV9TVEFURV9VTk9CU0NVUkVEEAESJwojVklTSUJJTElUWV9TVEFURV9QQVJUSUFMTFlfT0JTQ1VSRUQQAhIjCh9WSVNJQklMSVRZX1NUQVRFX0ZVTExZX09CU0NVUkVEEAMqjgQKE01vdmVSZXNpemVEaXJlY3Rpb24SJQohTU9WRV9SRVNJWkVfRElSRUNUSU9OX1VOU1BFQ0lGSUVEEAASJgoiTU9WRV9SRVNJWkVfRElSRUNUSU9OX1NJWkVfVE9QTEVGVBABEiIKHk1PVkVfUkVTSVpFX0RJUkVDVElPTl9TSVpFX1RPUBACEicKI01PVkVfUkVTSVpFX0RJUkVDVElPTl9TSVpFX1RPUFJJR0hUEAMSJAogTU9WRV9SRVNJWkVfRElSRUNUSU9OX1NJWkVfUklHSFQQBBIqCiZNT1ZFX1JFU0laRV9ESVJFQ1RJT05fU0laRV9CT1RUT01SSUdIVBAFEiUKIU1PVkVfUkVTSVpFX0RJUkVDVElPTl9TSVpFX0JPVFRPTRAGEikKJU1PVkVfUkVTSVpFX0RJUkVDVElPTl9TSVpFX0JPVFRPTUxFRlQQBxIjCh9NT1ZFX1JFU0laRV9ESVJFQ1RJT05fU0laRV9MRUZUEAgSHgoaTU9WRV9SRVNJWkVfRElSRUNUSU9OX01PVkUQCRInCiNNT1ZFX1JFU0laRV9ESVJFQ1RJT05fU0laRV9LRVlCT0FSRBAKEicKI01PVkVfUkVTSVpFX0RJUkVDVElPTl9NT1ZFX0tFWUJPQVJEEAsSIAocTU9WRV9SRVNJWkVfRElSRUNUSU9OX0NBTkNFTBAMMvIFCg1XaW5kb3dTZXJ2aWNlEo8BCg5BY3RpdmF0ZVdpbmRvdxI9LmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLkFjdGl2YXRlV2luZG93UmVxdWVzdBo+LmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLkFjdGl2YXRlV2luZG93UmVzcG9uc2UShgEKC0Nsb3NlV2luZG93EjoubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC53aW5kb3cudjEuQ2xvc2VXaW5kb3dSZXF1ZXN0GjsubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC53aW5kb3cudjEuQ2xvc2VXaW5kb3dSZXNwb25zZRKPAQoOTWluaW1pemVXaW5kb3cSPS5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5NaW5pbWl6ZVdpbmRvd1JlcXVlc3QaPi5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLndpbmRvdy52MS5NaW5pbWl6ZVdpbmRvd1Jlc3BvbnNlEpgBChFTZXRXaW5kb3dHZW9tZXRyeRJALmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLlNldFdpbmRvd0dlb21ldHJ5UmVxdWVzdBpBLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3Aud2luZG93LnYxLlNldFdpbmRvd0dlb21ldHJ5UmVzcG9uc2USmAEKEUNoYW5nZVdpbmRvd1N0YXRlEkAubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC53aW5kb3cudjEuQ2hhbmdlV2luZG93U3RhdGVSZXF1ZXN0GkEubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC53aW5kb3cudjEuQ2hhbmdlV2luZG93U3RhdGVSZXNwb25zZUJLWklnaXRodWIuY29tL2xlYWZsb3dhcGlzL2xlYWZsb3ctZ28vZmxlZXQvdmlydHVhbGRlc2t0b3Avd2luZG93L3YxO3dpbmRvd3YxYgZwcm90bzM", [file_leaflow_fleet_virtualdesktop_display_v1_display]);
10
10
  /**
11
11
  * Describes the message leaflow.fleet.virtualdesktop.window.v1.ClientMessage.
12
12
  * Use `create(ClientMessageSchema)` to create a new message.
@@ -432,6 +432,128 @@ export var WindowAction;
432
432
  * Describes the enum leaflow.fleet.virtualdesktop.window.v1.WindowAction.
433
433
  */
434
434
  export const WindowActionSchema = /*@__PURE__*/ enumDesc(file_leaflow_fleet_virtualdesktop_window_v1_window, 2);
435
+ /**
436
+ * How a window takes the keyboard focus (ICCCM §4.1.7).
437
+ *
438
+ * @generated from enum leaflow.fleet.virtualdesktop.window.v1.FocusModel
439
+ */
440
+ export var FocusModel;
441
+ (function (FocusModel) {
442
+ /**
443
+ * @generated from enum value: FOCUS_MODEL_UNSPECIFIED = 0;
444
+ */
445
+ FocusModel[FocusModel["UNSPECIFIED"] = 0] = "UNSPECIFIED";
446
+ /**
447
+ * It never takes the focus, such as an on-screen keyboard or a floating
448
+ * palette: showing or clicking it leaves the focus where it is.
449
+ *
450
+ * @generated from enum value: FOCUS_MODEL_NO_INPUT = 1;
451
+ */
452
+ FocusModel[FocusModel["NO_INPUT"] = 1] = "NO_INPUT";
453
+ /**
454
+ * It takes the focus when activated.
455
+ *
456
+ * @generated from enum value: FOCUS_MODEL_PASSIVE = 2;
457
+ */
458
+ FocusModel[FocusModel["PASSIVE"] = 2] = "PASSIVE";
459
+ /**
460
+ * It takes the focus when activated, and may move it among its own
461
+ * windows.
462
+ *
463
+ * @generated from enum value: FOCUS_MODEL_LOCALLY_ACTIVE = 3;
464
+ */
465
+ FocusModel[FocusModel["LOCALLY_ACTIVE"] = 3] = "LOCALLY_ACTIVE";
466
+ /**
467
+ * It is told when activated and decides itself whether to take the focus,
468
+ * as some Java windows do.
469
+ *
470
+ * @generated from enum value: FOCUS_MODEL_GLOBALLY_ACTIVE = 4;
471
+ */
472
+ FocusModel[FocusModel["GLOBALLY_ACTIVE"] = 4] = "GLOBALLY_ACTIVE";
473
+ })(FocusModel || (FocusModel = {}));
474
+ /**
475
+ * Describes the enum leaflow.fleet.virtualdesktop.window.v1.FocusModel.
476
+ */
477
+ export const FocusModelSchema = /*@__PURE__*/ enumDesc(file_leaflow_fleet_virtualdesktop_window_v1_window, 3);
478
+ /**
479
+ * How a participant that draws a frame around a window it shows where the
480
+ * application asked (ICCCM win_gravity) places that frame: the named point of
481
+ * the frame goes where the same point of the requested client area, geometry,
482
+ * is. The client area then moves inside the frame, except for STATIC.
483
+ *
484
+ * @generated from enum leaflow.fleet.virtualdesktop.window.v1.WindowGravity
485
+ */
486
+ export var WindowGravity;
487
+ (function (WindowGravity) {
488
+ /**
489
+ * @generated from enum value: WINDOW_GRAVITY_UNSPECIFIED = 0;
490
+ */
491
+ WindowGravity[WindowGravity["UNSPECIFIED"] = 0] = "UNSPECIFIED";
492
+ /**
493
+ * The top-left corner.
494
+ *
495
+ * @generated from enum value: WINDOW_GRAVITY_NORTH_WEST = 1;
496
+ */
497
+ WindowGravity[WindowGravity["NORTH_WEST"] = 1] = "NORTH_WEST";
498
+ /**
499
+ * The middle of the top edge.
500
+ *
501
+ * @generated from enum value: WINDOW_GRAVITY_NORTH = 2;
502
+ */
503
+ WindowGravity[WindowGravity["NORTH"] = 2] = "NORTH";
504
+ /**
505
+ * The top-right corner.
506
+ *
507
+ * @generated from enum value: WINDOW_GRAVITY_NORTH_EAST = 3;
508
+ */
509
+ WindowGravity[WindowGravity["NORTH_EAST"] = 3] = "NORTH_EAST";
510
+ /**
511
+ * The middle of the left edge.
512
+ *
513
+ * @generated from enum value: WINDOW_GRAVITY_WEST = 4;
514
+ */
515
+ WindowGravity[WindowGravity["WEST"] = 4] = "WEST";
516
+ /**
517
+ * The centre.
518
+ *
519
+ * @generated from enum value: WINDOW_GRAVITY_CENTER = 5;
520
+ */
521
+ WindowGravity[WindowGravity["CENTER"] = 5] = "CENTER";
522
+ /**
523
+ * The middle of the right edge.
524
+ *
525
+ * @generated from enum value: WINDOW_GRAVITY_EAST = 6;
526
+ */
527
+ WindowGravity[WindowGravity["EAST"] = 6] = "EAST";
528
+ /**
529
+ * The bottom-left corner.
530
+ *
531
+ * @generated from enum value: WINDOW_GRAVITY_SOUTH_WEST = 7;
532
+ */
533
+ WindowGravity[WindowGravity["SOUTH_WEST"] = 7] = "SOUTH_WEST";
534
+ /**
535
+ * The middle of the bottom edge.
536
+ *
537
+ * @generated from enum value: WINDOW_GRAVITY_SOUTH = 8;
538
+ */
539
+ WindowGravity[WindowGravity["SOUTH"] = 8] = "SOUTH";
540
+ /**
541
+ * The bottom-right corner.
542
+ *
543
+ * @generated from enum value: WINDOW_GRAVITY_SOUTH_EAST = 9;
544
+ */
545
+ WindowGravity[WindowGravity["SOUTH_EAST"] = 9] = "SOUTH_EAST";
546
+ /**
547
+ * The client area stays where geometry is, and the frame goes around it.
548
+ *
549
+ * @generated from enum value: WINDOW_GRAVITY_STATIC = 10;
550
+ */
551
+ WindowGravity[WindowGravity["STATIC"] = 10] = "STATIC";
552
+ })(WindowGravity || (WindowGravity = {}));
553
+ /**
554
+ * Describes the enum leaflow.fleet.virtualdesktop.window.v1.WindowGravity.
555
+ */
556
+ export const WindowGravitySchema = /*@__PURE__*/ enumDesc(file_leaflow_fleet_virtualdesktop_window_v1_window, 4);
435
557
  /**
436
558
  * A restacking mode (X11 ConfigureWindow stack-mode).
437
559
  *
@@ -477,7 +599,7 @@ export var StackMode;
477
599
  /**
478
600
  * Describes the enum leaflow.fleet.virtualdesktop.window.v1.StackMode.
479
601
  */
480
- export const StackModeSchema = /*@__PURE__*/ enumDesc(file_leaflow_fleet_virtualdesktop_window_v1_window, 3);
602
+ export const StackModeSchema = /*@__PURE__*/ enumDesc(file_leaflow_fleet_virtualdesktop_window_v1_window, 5);
481
603
  /**
482
604
  * How WindowStateChange applies its states (EWMH _NET_WM_STATE_REMOVE, _ADD
483
605
  * and _TOGGLE).
@@ -512,7 +634,7 @@ export var WindowStateOperation;
512
634
  /**
513
635
  * Describes the enum leaflow.fleet.virtualdesktop.window.v1.WindowStateOperation.
514
636
  */
515
- export const WindowStateOperationSchema = /*@__PURE__*/ enumDesc(file_leaflow_fleet_virtualdesktop_window_v1_window, 4);
637
+ export const WindowStateOperationSchema = /*@__PURE__*/ enumDesc(file_leaflow_fleet_virtualdesktop_window_v1_window, 6);
516
638
  /**
517
639
  * How much of a window is visible (X11 VisibilityNotify state).
518
640
  *
@@ -546,7 +668,7 @@ export var VisibilityState;
546
668
  /**
547
669
  * Describes the enum leaflow.fleet.virtualdesktop.window.v1.VisibilityState.
548
670
  */
549
- export const VisibilityStateSchema = /*@__PURE__*/ enumDesc(file_leaflow_fleet_virtualdesktop_window_v1_window, 5);
671
+ export const VisibilityStateSchema = /*@__PURE__*/ enumDesc(file_leaflow_fleet_virtualdesktop_window_v1_window, 7);
550
672
  /**
551
673
  * What an interactive move or resize changes (EWMH _NET_WM_MOVERESIZE
552
674
  * directions).
@@ -635,7 +757,7 @@ export var MoveResizeDirection;
635
757
  /**
636
758
  * Describes the enum leaflow.fleet.virtualdesktop.window.v1.MoveResizeDirection.
637
759
  */
638
- export const MoveResizeDirectionSchema = /*@__PURE__*/ enumDesc(file_leaflow_fleet_virtualdesktop_window_v1_window, 6);
760
+ export const MoveResizeDirectionSchema = /*@__PURE__*/ enumDesc(file_leaflow_fleet_virtualdesktop_window_v1_window, 8);
639
761
  /**
640
762
  * Operates windows through calls. Every call follows the rules for operation
641
763
  * calls (leaflow.fleet.virtualdesktop.lease.v1), never makes the caller the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leaflow/sdk",
3
- "version": "0.194.0",
3
+ "version": "0.196.0",
4
4
  "description": "Leaflow 平台 API 的 TypeScript SDK",
5
5
  "license": "MIT",
6
6
  "repository": {