redraw_fixer: add file license header
[staging/windowmanager.git] / layers.json
1 {
2    "comment": "Surface ID to Layer ID mapping",
3
4    "main_surface": {
5       "surface_id": 1000,
6       "surface_role": "HomeScreen",
7       "comment": "This surface should never be made invisible (The HomeScreen)"
8    },
9
10    "mappings": [
11       {
12          "type": "single",
13          "surface_id": 1000,
14          "role": "^HomeScreen$",
15          "name": "HomeScreen",
16          "layer_id": 1000,
17          "area": { "type": "full" },
18          "comment": "Single layer map for the HomeScreen, XXX: type is redundant, could also check existence of id/first_id+last_id"
19       },
20       {
21          "type": "range",
22          "first_surface_id": 2000,
23          "last_surface_id": 2999,
24          "role": "^App.*",
25          "name": "apps",
26          "layer_id": 1001,
27          "area": { "type": "rect", "rect": { "x": 0, "y": 100, "width": -1, "height": -201 } },
28          "comment": "Range of IDs that will always be placed on layer 1001, negative rect values are interpreted as output_size.dimension - $value",
29
30          "split_layouts": [
31             {
32                "name": "Media Player",
33                "main_match": "^App MPlayer Main$",
34                "sub_match": "^App MPlayer Sub",
35                "priority": 500,
36                "comment": "All Media Player sub surfaces can be put in a sub layout with the Media Player"
37             },
38             {
39                "name": "Playlist",
40                "main_match": "",
41                "sub_match": "^App MPlayer Sub Playlist$",
42                "priority": 100,
43                "comment": "Always allow the media player playlist to be displayed as sub surface"
44             },
45             {
46                "name": "Map",
47                "main_match": "^App Navi Map",
48                "sub_match": "^App Navi Guidance",
49                "priority": 1000
50             },
51             {
52                "name": "App1 example",
53                "main_match": "^App1",
54                "sub_match": ".*",
55                "priority": 1000
56             }
57          ]
58       },
59       {
60          "type": "range",
61          "first_surface_id": 3000,
62          "last_surface_id": 3999,
63          "role": "^OnScreen.*",
64          "name": "popups",
65          "layer_id": 9999,
66          "area": { "type": "rect", "rect": { "x": 0, "y": 300, "width": -1, "height": 400 } },
67          "comment": "Range of IDs that will always be placed on the popup layer, that gets a very high 'dummy' id of 9999"
68       }
69    ],
70
71    "tests": [
72       { "surface_id": 1000, "expect_layer_id": 1000 },
73       { "surface_id": 1001, "expect_layer_id": -1, "comment": "check against -1 for not found entries" },
74       { "surface_id": 1999, "expect_layer_id": -1 },
75       { "surface_id": 2000, "expect_layer_id": 1001 },
76       { "surface_id": 2500, "expect_layer_id": 1001 },
77       { "surface_id": 2999, "expect_layer_id": 1001 },
78       { "surface_id": 3000, "expect_layer_id": 9999 },
79       { "surface_id": 3500, "expect_layer_id": 9999 },
80       { "surface_id": 3999, "expect_layer_id": 9999 },
81       { "surface_id": 4711, "expect_layer_id": -1 }
82    ]
83 }