grpc-proxy: Add dynamic floating window movement
[src/agl-compositor.git] / grpc-proxy / agl_shell.proto
1 syntax = "proto3";
2 // using empty Response suitable better for forward compat
3 //import "google/protobuf/empty.proto";
4 package agl_shell_ipc;
5
6 service AglShellManagerService {
7        rpc ActivateApp(ActivateRequest)                         returns (ActivateResponse) {}
8        rpc DeactivateApp(DeactivateRequest)                     returns (DeactivateResponse) {}
9        rpc SetAppSplit(SplitRequest)                            returns (SplitResponse) {}
10        rpc SetAppFloat(FloatRequest)                            returns (FloatResponse) {}
11        rpc SetAppFullscreen(FullscreenRequest)                  returns (FullscreenResponse) {}
12        rpc AppStatusState(AppStateRequest)                      returns (stream AppStateResponse) {}
13        rpc GetOutputs(OutputRequest)                            returns (ListOutputResponse) {}
14        rpc SetAppNormal(NormalRequest)                          returns (NormalResponse) {}
15        rpc SetAppOnOutput(AppOnOutputRequest)                   returns (AppOnOutputResponse) {}
16        rpc SetAppPosition(AppPositionRequest)                   returns (AppPositionResponse) {}
17 }
18
19 message ActivateRequest {
20        string app_id = 1;
21        string output_name = 2;
22 }
23
24 message ActivateResponse {
25 };
26
27
28 message DeactivateRequest {
29        string app_id = 1;
30 }
31
32 message DeactivateResponse {
33 }
34
35 message SplitRequest {
36        string app_id = 1;
37        int32 tile_orientation = 2;
38 }
39
40 message SplitResponse {
41 }
42
43 message FloatRequest {
44        string app_id = 1;
45        int32 x_pos = 2;
46        int32 y_pos = 3;
47 }
48
49 message FloatResponse {
50 }
51
52 message AppStateRequest {
53 }
54
55 message AppStateResponse {
56         int32 state = 1;
57         string app_id = 2;
58 }
59
60 message OutputRequest {
61 };
62
63 message OutputResponse {
64         string name = 1;
65 };
66
67 message ListOutputResponse {
68         repeated OutputResponse outputs = 1;
69 };
70
71 message NormalRequest {
72         string app_id = 1;
73 };
74
75 message NormalResponse {
76 };
77
78 message FullscreenRequest {
79         string app_id = 1;
80 };
81
82 message FullscreenResponse {
83 };
84
85 message AppOnOutputRequest {
86         string app_id = 1;
87         string output = 2;
88 };
89
90 message AppOnOutputResponse {
91 };
92
93 message AppPositionRequest {
94        string app_id = 1;
95        int32 x = 2;
96        int32 y = 3;
97 };
98
99 message AppPositionResponse {
100 };