Merge lp:~alan-griffiths/miral/init-1.1 into lp:miral

Proposed by Alan Griffiths
Status: Superseded
Proposed branch: lp:~alan-griffiths/miral/init-1.1
Merge into: lp:miral
Diff against target: 2007 lines (+722/-274)
31 files modified
debian/changelog (+10/-0)
debian/libmiral2.symbols (+9/-1)
include/miral/detail/mir_forward_compatibility.h (+37/-0)
include/miral/window_info.h (+6/-6)
include/miral/window_management_policy.h (+3/-1)
include/miral/window_specification.h (+4/-4)
miral-kiosk/kiosk_window_manager.cpp (+3/-3)
miral-shell/tiling_window_manager.cpp (+15/-15)
miral-shell/tiling_window_manager.h (+2/-2)
miral-shell/titlebar_provider.cpp (+9/-9)
miral-shell/titlebar_provider.h (+1/-1)
miral-shell/titlebar_window_manager.cpp (+10/-10)
miral-shell/titlebar_window_manager.h (+2/-2)
miral/active_outputs.cpp (+5/-0)
miral/basic_window_manager.cpp (+109/-109)
miral/basic_window_manager.h (+2/-2)
miral/keymap.cpp (+8/-1)
miral/symbols.map (+40/-5)
miral/window_info.cpp (+72/-51)
miral/window_management_policy.cpp (+9/-1)
miral/window_management_trace.cpp (+2/-2)
miral/window_management_trace.h (+1/-1)
miral/window_specification.cpp (+6/-6)
scripts/process_doxygen_xml.py (+317/-2)
test/display_reconfiguration.cpp (+4/-4)
test/drag_active_window.cpp (+2/-2)
test/modify_window_state.cpp (+15/-15)
test/select_active_window.cpp (+6/-6)
test/test_window_manager_tools.h (+9/-9)
test/window_placement.cpp (+3/-3)
test/window_placement_anchors_to_parent.cpp (+1/-1)
To merge this branch: bzr merge lp:~alan-griffiths/miral/init-1.1
Reviewer Review Type Date Requested Status
Gerry Boland (community) Needs Information
Review via email: mp+313249@code.launchpad.net

This proposal has been superseded by a proposal from 2017-01-16.

Commit message

Init 1.1

To post a comment you must log in.
Revision history for this message
Gerry Boland (gerboland) wrote :

https://launchpad.net/miral/+milestone/1.1 does not exist.
What is this bump for already?

review: Needs Information
lp:~alan-griffiths/miral/init-1.1 updated
472. By Alan Griffiths

[miral-screencast] Add an option to configure the tempfile

473. By Alan Griffiths

[libmiral] remove (now) redundant visibility check

474. By Alan Griffiths

Merge changelog from release branch

475. By Alan Griffiths

[libmiral] Fix force_close() which was incorrectly locking the BasicWindowManager mutex a second time

476. By Alan Griffiths

Workaround for a missing dependency in Mir packaging

477. By Alan Griffiths

Merge changelog from release branch

478. By Alan Griffiths

[libmiral] Let the policy decide how to handle ready for windows that can't have focus

479. By Alan Griffiths

Use CMake's CMAKE_CXX_STANDARD/CMAKE_C_STANDARD instead of directly setting the -std= compiler directive

480. By Alan Griffiths

Only use -Wno-mismatched-tags when it is needed

481. By Alan Griffiths

Code compatibility with Mir 0.26

482. By Alan Griffiths

Respect the deprecations landing in lp:mir (and then 0.26)

483. By Alberto Aguirre

Address mir 0.26 changes to debug coordinate translation

484. By Alan Griffiths

Update changelog ready for 1.1 release

485. By Alan Griffiths

Fix clang builds against assorted Mir releases

486. By Alan Griffiths

More fixes to track Mir changes

487. By Alan Griffiths

[libmiral] Logging of exceptions added to --window-management-trace

488. By Alan Griffiths

Rework to respect today's Mir deprecations

489. By Alan Griffiths

Correct libmiral2.symbols

490. By Alan Griffiths

Update changelog following 1.0.2 release

491. By Alan Griffiths

Fix MIRAL_VERSION

492. By Alan Griffiths

[libmiral] top-level window is now raised along with its child (LP: #1658085)

493. By Alan Griffiths

When installing miral-examples recommend installing a cursor theme

494. By Cemil Azizoglu

Fix changed headers, address most recent deprecations.

495. By Alan Griffiths

[libmiral] Rename WindowManagementPolicy::place_new_surface => place_new_window

496. By Alan Griffiths

[libmiral] Fix compatible symbol generation when built against older Mir versions

497. By Alan Griffiths

[toolkit] rename the helper types to reflect new Mir terminology

498. By Alan Griffiths

Give miral-app and miral-desktop a good default for -bindir

499. By Alan Griffiths

[toolkit] wrapper for mir_window_spec_set_state() (LP: #1661256)

500. By Alan Griffiths

More surface to window renaming

501. By Alan Griffiths

[libmiral] Fix focus and movement rules for Input Method and Satellite windows. (LP: #1660691)

Unmerged revisions

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/changelog'
2--- debian/changelog 2016-12-20 16:00:02 +0000
3+++ debian/changelog 2017-01-16 17:33:11 +0000
4@@ -1,3 +1,13 @@
5+miral (1.1.0) UNRELEASED; urgency=medium
6+
7+ * New upstream release 1.1.0 (https://launchpad.net/miral/+milestone/1.1)
8+ - ABI summary:
9+ . miral ABI unchanged at 2
10+ - Enhancements:
11+ - Bugs fixed:
12+
13+ -- Alan Griffiths <alan.griffiths@canonical.com> Wed, 14 Dec 2016 16:31:08 +0000
14+
15 miral (1.0.1+17.04.20161220-0ubuntu1) zesty; urgency=medium
16
17 * New upstream release 1.0.1 (https://launchpad.net/miral/+milestone/1.0)
18
19=== modified file 'debian/libmiral2.symbols'
20--- debian/libmiral2.symbols 2016-12-13 13:07:15 +0000
21+++ debian/libmiral2.symbols 2017-01-16 17:33:11 +0000
22@@ -354,4 +354,12 @@
23 (c++)"typeinfo for miral::CanonicalWindowManagerPolicy@MIRAL_1.0" 1.0.0
24 (c++)"vtable for miral::ActiveOutputsListener@MIRAL_1.0" 1.0.0
25 (c++)"vtable for miral::WindowManagementPolicy@MIRAL_1.0" 1.0.0
26- (c++)"vtable for miral::CanonicalWindowManagerPolicy@MIRAL_1.0" 1.0.0
27\ No newline at end of file
28+ (c++)"vtable for miral::CanonicalWindowManagerPolicy@MIRAL_1.0" 1.0.0
29+ MIRAL_1.1@MIRAL_1.1 1.1.0
30+ (c++)"miral::WindowInfo::needs_titlebar(MirWindowType)@MIRAL_1.1" 1.1.0
31+ (c++)"miral::WindowInfo::type(MirWindowType)@MIRAL_1.1" 1.1.0
32+ (c++)"miral::WindowInfo::type() const@MIRAL_1.1" 1.1.0
33+ (c++)"miral::WindowInfo::state() const@MIRAL_1.1" 1.1.0
34+ (c++)"miral::WindowInfo::state(MirWindowState)@MIRAL_1.1" 1.1.0
35+ (c++)"miral::WindowManagementPolicy::advise_state_change(miral::WindowInfo const&, MirWindowState)@MIRAL_1.1" 1.1.0
36+ (c++)"miral::WindowInfo::can_morph_to(MirWindowType) const@MIRAL_1.1" 1.1.0
37
38=== modified file 'include/miral/detail/mir_forward_compatibility.h'
39--- include/miral/detail/mir_forward_compatibility.h 2016-09-23 13:59:34 +0000
40+++ include/miral/detail/mir_forward_compatibility.h 2017-01-16 17:33:11 +0000
41@@ -20,8 +20,45 @@
42 #define MIRAL_MIR_FORWARD_COMPATIBILITY_H
43
44 #include <mir_toolkit/version.h>
45+#include <mir_toolkit/common.h>
46 #include <miral/detail/mir_features.h>
47
48+#if MIR_CLIENT_VERSION < MIR_VERSION_NUMBER(3, 5, 0)
49+using MirWindowAttrib = MirSurfaceAttrib;
50+auto const mir_window_attrib_type = mir_surface_attrib_type;
51+auto const mir_window_attrib_state = mir_surface_attrib_state;
52+auto const mir_window_attrib_swapinterval = mir_surface_attrib_swapinterval;
53+auto const mir_window_attrib_focus = mir_surface_attrib_focus;
54+auto const mir_window_attrib_dpi = mir_surface_attrib_dpi;
55+auto const mir_window_attrib_visibility = mir_surface_attrib_visibility;
56+auto const mir_window_attrib_preferred_orientation = mir_surface_attrib_preferred_orientation;
57+auto const mir_window_attribs = mir_surface_attribs;
58+
59+using MirWindowType = MirSurfaceType;
60+auto const mir_window_type_normal = mir_surface_type_normal;
61+auto const mir_window_type_utility = mir_surface_type_utility;
62+auto const mir_window_type_dialog = mir_surface_type_dialog;
63+auto const mir_window_type_gloss = mir_surface_type_gloss;
64+auto const mir_window_type_freestyle = mir_surface_type_freestyle;
65+auto const mir_window_type_menu = mir_surface_type_menu;
66+auto const mir_window_type_inputmethod = mir_surface_type_inputmethod;
67+auto const mir_window_type_satellite = mir_surface_type_satellite;
68+auto const mir_window_type_tip = mir_surface_type_tip;
69+auto const mir_window_types = mir_surface_types;
70+
71+using MirWindowState = MirSurfaceState;
72+auto const mir_window_state_unknown = mir_surface_state_unknown;
73+auto const mir_window_state_restored = mir_surface_state_restored;
74+auto const mir_window_state_minimized = mir_surface_state_minimized;
75+auto const mir_window_state_maximized = mir_surface_state_maximized;
76+auto const mir_window_state_vertmaximized = mir_surface_state_vertmaximized;
77+auto const mir_window_state_fullscreen = mir_surface_state_fullscreen;
78+auto const mir_window_state_horizmaximized = mir_surface_state_horizmaximized;
79+auto const mir_window_state_hidden = mir_surface_state_hidden;
80+auto const mir_window_states = mir_surface_states;
81+#endif
82+
83+
84 // Types that don't exist in earlier versions of Mir's toolkit
85 #if MIR_CLIENT_VERSION < MIR_VERSION_NUMBER(3, 4, 0)
86
87
88=== modified file 'include/miral/window_info.h'
89--- include/miral/window_info.h 2016-12-13 13:07:15 +0000
90+++ include/miral/window_info.h 2017-01-16 17:33:11 +0000
91@@ -41,7 +41,7 @@
92
93 bool can_be_active() const;
94
95- bool can_morph_to(MirSurfaceType new_type) const;
96+ bool can_morph_to(MirWindowType new_type) const;
97
98 bool must_have_parent() const;
99
100@@ -49,7 +49,7 @@
101
102 bool is_visible() const;
103
104- static bool needs_titlebar(MirSurfaceType type);
105+ static bool needs_titlebar(MirWindowType type);
106
107 void constrain_resize(mir::geometry::Point& requested_pos, mir::geometry::Size& requested_size) const;
108
109@@ -58,11 +58,11 @@
110 auto name() const -> std::string;
111 void name(std::string const& name);
112
113- auto type() const -> MirSurfaceType;
114- void type(MirSurfaceType type);
115+ auto type() const -> MirWindowType;
116+ void type(MirWindowType type);
117
118- auto state() const -> MirSurfaceState;
119- void state(MirSurfaceState state);
120+ auto state() const -> MirWindowState;
121+ void state(MirWindowState state);
122
123 auto restore_rect() const -> mir::geometry::Rectangle;
124 void restore_rect(mir::geometry::Rectangle const& restore_rect);
125
126=== modified file 'include/miral/window_management_policy.h'
127--- include/miral/window_management_policy.h 2016-12-05 09:46:35 +0000
128+++ include/miral/window_management_policy.h 2017-01-16 17:33:11 +0000
129@@ -23,6 +23,8 @@
130 #include <mir/geometry/rectangles.h>
131 #include <mir_toolkit/event.h>
132
133+#include <miral/detail/mir_forward_compatibility.h>
134+
135 namespace miral
136 {
137 class Window;
138@@ -141,7 +143,7 @@
139 * @param window_info the window
140 * @param state the new state
141 */
142- virtual void advise_state_change(WindowInfo const& window_info, MirSurfaceState state);
143+ virtual void advise_state_change(WindowInfo const& window_info, MirWindowState state);
144
145 /** Notification that a window is about to move
146 *
147
148=== modified file 'include/miral/window_specification.h'
149--- include/miral/window_specification.h 2016-09-30 16:29:43 +0000
150+++ include/miral/window_specification.h 2017-01-16 17:33:11 +0000
151@@ -76,8 +76,8 @@
152 auto size() const -> mir::optional_value<Size> const&;
153 auto name() const -> mir::optional_value<std::string> const&;
154 auto output_id() const -> mir::optional_value<int> const&;
155- auto type() const -> mir::optional_value<MirSurfaceType> const&;
156- auto state() const -> mir::optional_value<MirSurfaceState> const&;
157+ auto type() const -> mir::optional_value<MirWindowType> const&;
158+ auto state() const -> mir::optional_value<MirWindowState> const&;
159 auto preferred_orientation() const -> mir::optional_value<MirOrientationMode> const&;
160 auto aux_rect() const -> mir::optional_value<Rectangle> const&;
161 auto placement_hints() const -> mir::optional_value<MirPlacementHints> const&;
162@@ -104,8 +104,8 @@
163 auto size() -> mir::optional_value<Size>&;
164 auto name() -> mir::optional_value<std::string>&;
165 auto output_id() -> mir::optional_value<int>&;
166- auto type() -> mir::optional_value<MirSurfaceType>&;
167- auto state() -> mir::optional_value<MirSurfaceState>&;
168+ auto type() -> mir::optional_value<MirWindowType>&;
169+ auto state() -> mir::optional_value<MirWindowState>&;
170 auto preferred_orientation() -> mir::optional_value<MirOrientationMode>&;
171 auto aux_rect() -> mir::optional_value<Rectangle>&;
172 auto placement_hints() -> mir::optional_value<MirPlacementHints>&;
173
174=== modified file 'miral-kiosk/kiosk_window_manager.cpp'
175--- miral-kiosk/kiosk_window_manager.cpp 2016-11-08 11:16:10 +0000
176+++ miral-kiosk/kiosk_window_manager.cpp 2017-01-16 17:33:11 +0000
177@@ -128,13 +128,13 @@
178 // We do this here, not in place_new_surface() so that clients get a resize event.
179 // This shouldn't be necessary, but works better with the gtk-mir backend.
180 if (maximize_root_windows &&
181- window_info.type() == mir_surface_type_normal &&
182+ window_info.type() == mir_window_type_normal &&
183 !window_info.parent() &&
184- window_info.state() == mir_surface_state_restored)
185+ window_info.state() == mir_window_state_restored)
186 {
187 WindowSpecification specification;
188
189- specification.state() = mir_surface_state_maximized;
190+ specification.state() = mir_window_state_maximized;
191
192 tools.place_and_size_for_state(specification, window_info);
193 tools.modify_window(window_info.window(), specification);
194
195=== modified file 'miral-shell/tiling_window_manager.cpp'
196--- miral-shell/tiling_window_manager.cpp 2016-12-22 17:30:56 +0000
197+++ miral-shell/tiling_window_manager.cpp 2017-01-16 17:33:11 +0000
198@@ -117,7 +117,7 @@
199
200 parameters.userdata() = app_info.userdata();
201 parameters.state() = parameters.state().is_set() ?
202- transform_set_state(parameters.state().value()) : mir_surface_state_restored;
203+ transform_set_state(parameters.state().value()) : mir_window_state_restored;
204
205 if (app_info.application() != spinner.session())
206 {
207@@ -147,13 +147,13 @@
208
209 void TilingWindowManagerPolicy::advise_new_window(WindowInfo const& window_info)
210 {
211- if (window_info.type() == mir_surface_type_normal &&
212+ if (window_info.type() == mir_window_type_normal &&
213 !window_info.parent() &&
214- window_info.state() == mir_surface_state_restored)
215+ window_info.state() == mir_window_state_restored)
216 {
217 WindowSpecification specification;
218
219- specification.state() = mir_surface_state_maximized;
220+ specification.state() = mir_window_state_maximized;
221
222 tools.place_and_size_for_state(specification, window_info);
223 constrain_size_and_place(specification, window_info.window(), tile_for(window_info));
224@@ -229,17 +229,17 @@
225 reset(mods.top_left());
226 }
227
228-auto TilingWindowManagerPolicy::transform_set_state(MirSurfaceState value)
229--> MirSurfaceState
230+auto TilingWindowManagerPolicy::transform_set_state(MirWindowState value)
231+-> MirWindowState
232 {
233 switch (value)
234 {
235 default:
236- return mir_surface_state_restored;
237+ return mir_window_state_restored;
238
239- case mir_surface_state_hidden:
240- case mir_surface_state_minimized:
241- return mir_surface_state_hidden;
242+ case mir_window_state_hidden:
243+ case mir_window_state_minimized:
244+ return mir_window_state_hidden;
245 }
246 }
247
248@@ -285,15 +285,15 @@
249 switch (modifiers & modifier_mask)
250 {
251 case mir_input_event_modifier_alt:
252- toggle(mir_surface_state_maximized);
253+ toggle(mir_window_state_maximized);
254 return true;
255
256 case mir_input_event_modifier_shift:
257- toggle(mir_surface_state_vertmaximized);
258+ toggle(mir_window_state_vertmaximized);
259 return true;
260
261 case mir_input_event_modifier_ctrl:
262- toggle(mir_surface_state_horizmaximized);
263+ toggle(mir_window_state_horizmaximized);
264 return true;
265
266 default:
267@@ -427,14 +427,14 @@
268 return consumes_event;
269 }
270
271-void TilingWindowManagerPolicy::toggle(MirSurfaceState state)
272+void TilingWindowManagerPolicy::toggle(MirWindowState state)
273 {
274 if (auto window = tools.active_window())
275 {
276 auto& window_info = tools.info_for(window);
277
278 if (window_info.state() == state)
279- state = mir_surface_state_restored;
280+ state = mir_window_state_restored;
281
282 WindowSpecification mods;
283 mods.state() = transform_set_state(state);
284
285=== modified file 'miral-shell/tiling_window_manager.h'
286--- miral-shell/tiling_window_manager.h 2016-12-05 09:46:35 +0000
287+++ miral-shell/tiling_window_manager.h 2017-01-16 17:33:11 +0000
288@@ -91,14 +91,14 @@
289 void click(Point cursor);
290 void resize(Point cursor);
291 void drag(Point cursor);
292- void toggle(MirSurfaceState state);
293+ void toggle(MirWindowState state);
294
295 miral::Application application_under(Point position);
296
297 void update_tiles(Rectangles const& displays);
298 void update_surfaces(miral::ApplicationInfo& info, Rectangle const& old_tile, Rectangle const& new_tile);
299
300- auto transform_set_state(MirSurfaceState value) -> MirSurfaceState;
301+ auto transform_set_state(MirWindowState value) -> MirWindowState;
302
303 static void clip_to_tile(miral::WindowSpecification& parameters, Rectangle const& tile);
304 static void resize(miral::Window window, Point cursor, Point old_cursor, Rectangle bounds);
305
306=== modified file 'miral-shell/titlebar_provider.cpp'
307--- miral-shell/titlebar_provider.cpp 2016-10-27 14:07:51 +0000
308+++ miral-shell/titlebar_provider.cpp 2017-01-16 17:33:11 +0000
309@@ -299,23 +299,23 @@
310 tools.raise_tree(window_info.parent());
311 }
312
313-void TitlebarProvider::advise_state_change(miral::WindowInfo const& window_info, MirSurfaceState state)
314+void TitlebarProvider::advise_state_change(miral::WindowInfo const& window_info, MirWindowState state)
315 {
316 if (auto titlebar = find_titlebar_window(window_info.window()))
317 {
318 miral::WindowSpecification modifications;
319 switch (state)
320 {
321- case mir_surface_state_maximized:
322- case mir_surface_state_vertmaximized:
323- case mir_surface_state_hidden:
324- case mir_surface_state_minimized:
325- case mir_surface_state_fullscreen:
326- modifications.state() = mir_surface_state_hidden;
327+ case mir_window_state_maximized:
328+ case mir_window_state_vertmaximized:
329+ case mir_window_state_hidden:
330+ case mir_window_state_minimized:
331+ case mir_window_state_fullscreen:
332+ modifications.state() = mir_window_state_hidden;
333 break;
334
335 default:
336- modifications.state() = mir_surface_state_restored;
337+ modifications.state() = mir_window_state_restored;
338 break;
339 }
340
341@@ -401,4 +401,4 @@
342 void Worker::stop_work()
343 {
344 enqueue_work([this] { work_done = true; });
345-}
346\ No newline at end of file
347+}
348
349=== modified file 'miral-shell/titlebar_provider.h'
350--- miral-shell/titlebar_provider.h 2016-10-27 14:04:09 +0000
351+++ miral-shell/titlebar_provider.h 2017-01-16 17:33:11 +0000
352@@ -71,7 +71,7 @@
353 void destroy_titlebar_for(miral::Window const& window);
354 void resize_titlebar_for(miral::WindowInfo const& window_info, mir::geometry::Size const& size);
355 void advise_new_titlebar(miral::WindowInfo const& window_info);
356- void advise_state_change(miral::WindowInfo const& window_info, MirSurfaceState state);
357+ void advise_state_change(miral::WindowInfo const& window_info, MirWindowState state);
358
359 void stop();
360
361
362=== modified file 'miral-shell/titlebar_window_manager.cpp'
363--- miral-shell/titlebar_window_manager.cpp 2016-10-27 14:04:09 +0000
364+++ miral-shell/titlebar_window_manager.cpp 2017-01-16 17:33:11 +0000
365@@ -109,7 +109,7 @@
366 }
367 }
368 }
369-
370+
371 if (resizing && !is_resize_event)
372 end_resize();
373
374@@ -312,7 +312,7 @@
375 }
376 }
377
378-void TitlebarWindowManagerPolicy::advise_state_change(WindowInfo const& window_info, MirSurfaceState state)
379+void TitlebarWindowManagerPolicy::advise_state_change(WindowInfo const& window_info, MirWindowState state)
380 {
381 CanonicalWindowManagerPolicy::advise_state_change(window_info, state);
382
383@@ -347,15 +347,15 @@
384 switch (modifiers)
385 {
386 case mir_input_event_modifier_alt:
387- toggle(mir_surface_state_maximized);
388+ toggle(mir_window_state_maximized);
389 return true;
390
391 case mir_input_event_modifier_shift:
392- toggle(mir_surface_state_vertmaximized);
393+ toggle(mir_window_state_vertmaximized);
394 return true;
395
396 case mir_input_event_modifier_ctrl:
397- toggle(mir_surface_state_horizmaximized);
398+ toggle(mir_window_state_horizmaximized);
399 return true;
400
401 default:
402@@ -418,8 +418,8 @@
403 break;
404
405 case KEY_UP:
406- if (window_info.state() != mir_surface_state_vertmaximized &&
407- window_info.state() != mir_surface_state_maximized)
408+ if (window_info.state() != mir_window_state_vertmaximized &&
409+ window_info.state() != mir_window_state_maximized)
410 {
411 modifications.top_left() =
412 Point{active_window.top_left().x, active_display.top_left.y} + DeltaY{title_bar_height};
413@@ -455,7 +455,7 @@
414 return false;
415 }
416
417-void TitlebarWindowManagerPolicy::toggle(MirSurfaceState state)
418+void TitlebarWindowManagerPolicy::toggle(MirWindowState state)
419 {
420 if (auto const window = tools.active_window())
421 {
422@@ -463,7 +463,7 @@
423
424 WindowSpecification modifications;
425
426- modifications.state() = (info.state() == state) ? mir_surface_state_restored : state;
427+ modifications.state() = (info.state() == state) ? mir_window_state_restored : state;
428 tools.place_and_size_for_state(modifications, info);
429 tools.modify_window(info, modifications);
430 }
431@@ -565,7 +565,7 @@
432
433 bool const needs_titlebar = WindowInfo::needs_titlebar(parameters.type().value());
434
435- if (parameters.state().value() != mir_surface_state_fullscreen && needs_titlebar)
436+ if (parameters.state().value() != mir_window_state_fullscreen && needs_titlebar)
437 parameters.top_left() = Point{parameters.top_left().value().x, parameters.top_left().value().y + DeltaY{title_bar_height}};
438
439 if (app_info.application() == titlebar_provider->session())
440
441=== modified file 'miral-shell/titlebar_window_manager.h'
442--- miral-shell/titlebar_window_manager.h 2016-09-28 11:42:35 +0000
443+++ miral-shell/titlebar_window_manager.h 2017-01-16 17:33:11 +0000
444@@ -60,7 +60,7 @@
445 void handle_window_ready(miral::WindowInfo& window_info) override;
446 void advise_focus_lost(miral::WindowInfo const& info) override;
447 void advise_focus_gained(miral::WindowInfo const& info) override;
448- void advise_state_change(miral::WindowInfo const& window_info, MirSurfaceState state) override;
449+ void advise_state_change(miral::WindowInfo const& window_info, MirWindowState state) override;
450 void advise_resize(miral::WindowInfo const& window_info, Size const& new_size) override;
451 void advise_delete_window(miral::WindowInfo const& window_info) override;
452 /** @} */
453@@ -74,7 +74,7 @@
454 mir_input_event_modifier_meta;
455
456 private:
457- void toggle(MirSurfaceState state);
458+ void toggle(MirWindowState state);
459
460 bool resize(miral::Window const& window, Point cursor, Point old_cursor);
461
462
463=== modified file 'miral/active_outputs.cpp'
464--- miral/active_outputs.cpp 2016-12-13 13:07:15 +0000
465+++ miral/active_outputs.cpp 2017-01-16 17:33:11 +0000
466@@ -70,6 +70,11 @@
467
468 void base_configuration_updated(std::shared_ptr<mir::graphics::DisplayConfiguration const> const& ) override {}
469
470+ void session_configuration_applied(std::shared_ptr<mir::frontend::Session> const&,
471+ std::shared_ptr<mir::graphics::DisplayConfiguration> const&) override {}
472+
473+ void session_configuration_removed(std::shared_ptr<mir::frontend::Session> const&) override {}
474+
475 std::mutex mutex;
476 std::vector<ActiveOutputsListener*> listeners;
477 std::vector<Output> outputs;
478
479=== modified file 'miral/basic_window_manager.cpp'
480--- miral/basic_window_manager.cpp 2017-01-04 09:19:37 +0000
481+++ miral/basic_window_manager.cpp 2017-01-16 17:33:11 +0000
482@@ -112,7 +112,7 @@
483 if (parent)
484 info_for(parent).add_child(window);
485
486- if (window_info.state() == mir_surface_state_fullscreen)
487+ if (window_info.state() == mir_window_state_fullscreen)
488 fullscreen_surfaces.insert(window_info.window());
489
490 policy->advise_new_window(window_info);
491@@ -282,35 +282,35 @@
492 int miral::BasicWindowManager::set_surface_attribute(
493 std::shared_ptr<scene::Session> const& /*application*/,
494 std::shared_ptr<scene::Surface> const& surface,
495- MirSurfaceAttrib attrib,
496+ MirWindowAttrib attrib,
497 int value)
498 {
499 WindowSpecification modification;
500 switch (attrib)
501 {
502- case mir_surface_attrib_type:
503- modification.type() = MirSurfaceType(value);
504+ case mir_window_attrib_type:
505+ modification.type() = MirWindowType(value);
506 break;
507- case mir_surface_attrib_state:
508- modification.state() = MirSurfaceState(value);
509+ case mir_window_attrib_state:
510+ modification.state() = MirWindowState(value);
511 break;
512
513- case mir_surface_attrib_preferred_orientation:
514+ case mir_window_attrib_preferred_orientation:
515 modification.preferred_orientation() = MirOrientationMode(value);
516 break;
517
518- case mir_surface_attrib_visibility:
519- // The client really shouldn't be trying to set this.
520- // But, as the legacy API exists, we treat it as a query
521- return surface->query(mir_surface_attrib_visibility);
522-
523- case mir_surface_attrib_focus:
524- // The client really shouldn't be trying to set this.
525- // But, as the legacy API exists, we treat it as a query
526- return surface->query(mir_surface_attrib_focus);
527-
528- case mir_surface_attrib_swapinterval:
529- case mir_surface_attrib_dpi:
530+ case mir_window_attrib_visibility:
531+ // The client really shouldn't be trying to set this.
532+ // But, as the legacy API exists, we treat it as a query
533+ return surface->query(mir_window_attrib_visibility);
534+
535+ case mir_window_attrib_focus:
536+ // The client really shouldn't be trying to set this.
537+ // But, as the legacy API exists, we treat it as a query
538+ return surface->query(mir_window_attrib_focus);
539+
540+ case mir_window_attrib_swapinterval:
541+ case mir_window_attrib_dpi:
542 default:
543 return surface->configure(attrib, value);
544 }
545@@ -324,13 +324,13 @@
546
547 switch (attrib)
548 {
549- case mir_surface_attrib_type:
550+ case mir_window_attrib_type:
551 return info.type();
552
553- case mir_surface_attrib_state:
554+ case mir_window_attrib_state:
555 return info.state();
556
557- case mir_surface_attrib_preferred_orientation:
558+ case mir_window_attrib_preferred_orientation:
559 return info.preferred_orientation();
560 break;
561
562@@ -589,7 +589,7 @@
563 auto& window = window_info.window();
564
565 if (window_info.type() != window_info_tmp.type())
566- std::shared_ptr<scene::Surface>(window)->configure(mir_surface_attrib_type, window_info.type());
567+ std::shared_ptr<scene::Surface>(window)->configure(mir_window_attrib_type, window_info.type());
568
569 if (window_info.parent() != window_info_tmp.parent())
570 {
571@@ -616,12 +616,12 @@
572 {
573 switch (window_info.state())
574 {
575- case mir_surface_state_restored:
576- case mir_surface_state_hidden:
577+ case mir_window_state_restored:
578+ case mir_window_state_hidden:
579 window_info.restore_rect({window.top_left(), window.size()});
580 break;
581
582- case mir_surface_state_vertmaximized:
583+ case mir_window_state_vertmaximized:
584 {
585 auto restore_rect = window_info.restore_rect();
586 restore_rect.top_left.x = window.top_left().x;
587@@ -630,7 +630,7 @@
588 break;
589 }
590
591- case mir_surface_state_horizmaximized:
592+ case mir_window_state_horizmaximized:
593 {
594 auto restore_rect = window_info.restore_rect();
595 restore_rect.top_left.y = window.top_left().y;
596@@ -740,7 +740,7 @@
597
598 switch (new_state)
599 {
600- case mir_surface_state_fullscreen:
601+ case mir_window_state_fullscreen:
602 if (modifications.output_id().is_set() &&
603 (!window_info.has_output_id() || modifications.output_id().value() != window_info.output_id()))
604 break;
605@@ -758,19 +758,19 @@
606 // window_info.restore_rect() was cached on last state change, update to reflect current window position
607 switch (window_info.state())
608 {
609- case mir_surface_state_restored:
610- case mir_surface_state_hidden:
611+ case mir_window_state_restored:
612+ case mir_window_state_hidden:
613 restore_rect = {window.top_left(), window.size()};
614 break;
615
616- case mir_surface_state_vertmaximized:
617+ case mir_window_state_vertmaximized:
618 {
619 restore_rect.top_left.x = window.top_left().x;
620 restore_rect.size.width = window.size().width;
621 break;
622 }
623
624- case mir_surface_state_horizmaximized:
625+ case mir_window_state_horizmaximized:
626 {
627 restore_rect.top_left.y = window.top_left().y;
628 restore_rect.size.height= window.size().height;
629@@ -793,33 +793,33 @@
630
631 switch (new_state)
632 {
633- case mir_surface_state_restored:
634+ case mir_window_state_restored:
635 rect = restore_rect;
636 break;
637
638- case mir_surface_state_maximized:
639+ case mir_window_state_maximized:
640 rect = display_area;
641 break;
642
643- case mir_surface_state_horizmaximized:
644+ case mir_window_state_horizmaximized:
645 rect.top_left = {display_area.top_left.x, restore_rect.top_left.y};
646 rect.size = {display_area.size.width, restore_rect.size.height};
647 break;
648
649- case mir_surface_state_vertmaximized:
650+ case mir_window_state_vertmaximized:
651 rect.top_left = {restore_rect.top_left.x, display_area.top_left.y};
652 rect.size = {restore_rect.size.width, display_area.size.height};
653 break;
654
655- case mir_surface_state_fullscreen:
656+ case mir_window_state_fullscreen:
657 {
658 rect = fullscreen_rect_for(window_info);
659
660 break;
661 }
662
663- case mir_surface_state_hidden:
664- case mir_surface_state_minimized:
665+ case mir_window_state_hidden:
666+ case mir_window_state_minimized:
667 default:
668 return;
669 }
670@@ -845,12 +845,12 @@
671 return r;
672 }
673
674-void miral::BasicWindowManager::set_state(miral::WindowInfo& window_info, MirSurfaceState value)
675+void miral::BasicWindowManager::set_state(miral::WindowInfo& window_info, MirWindowState value)
676 {
677 auto const window = window_info.window();
678 auto const mir_surface = std::shared_ptr<scene::Surface>(window);
679
680- if (value != mir_surface_state_fullscreen)
681+ if (value != mir_window_state_fullscreen)
682 {
683 fullscreen_surfaces.erase(window);
684 }
685@@ -864,18 +864,18 @@
686 return;
687 }
688
689- bool const was_hidden = window_info.state() == mir_surface_state_hidden ||
690- window_info.state() == mir_surface_state_minimized;
691+ bool const was_hidden = window_info.state() == mir_window_state_hidden ||
692+ window_info.state() == mir_window_state_minimized;
693
694 policy->advise_state_change(window_info, value);
695 window_info.state(value);
696
697- mir_surface->configure(mir_surface_attrib_state, value);
698+ mir_surface->configure(mir_window_attrib_state, value);
699
700 switch (value)
701 {
702- case mir_surface_state_hidden:
703- case mir_surface_state_minimized:
704+ case mir_window_state_hidden:
705+ case mir_window_state_minimized:
706 mir_surface->hide();
707
708 if (window == active_window())
709@@ -964,7 +964,7 @@
710 {
711 if (std::shared_ptr<mir::scene::Surface> surface = child)
712 {
713- if (surface->type() == mir_surface_type_dialog && surface->visible())
714+ if (surface->type() == mir_window_type_dialog && surface->visible())
715 return select_active_window(child);
716 }
717 }
718@@ -1007,43 +1007,43 @@
719 // Mir and Unity: Surfaces, input, and displays (v0.3)
720 switch (window_info.type())
721 {
722- case mir_surface_type_normal: // regular
723- case mir_surface_type_utility: // floating regular
724- case mir_surface_type_dialog: // dialog
725- case mir_surface_type_satellite:// satellite
726- case mir_surface_type_freestyle:// freestyle
727+ case mir_window_type_normal: // regular
728+ case mir_window_type_utility: // floating regular
729+ case mir_window_type_dialog: // dialog
730+ case mir_window_type_satellite:// satellite
731+ case mir_window_type_freestyle:// freestyle
732 break;
733
734- case mir_surface_type_gloss:
735- case mir_surface_type_menu:
736- case mir_surface_type_inputmethod:
737- case mir_surface_type_tip:
738- case mir_surface_types:
739+ case mir_window_type_gloss:
740+ case mir_window_type_menu:
741+ case mir_window_type_inputmethod:
742+ case mir_window_type_tip:
743+ case mir_window_types:
744 return;
745 }
746
747 switch (window_info.state())
748 {
749- case mir_surface_state_restored:
750+ case mir_window_state_restored:
751 break;
752
753 // "A vertically maximised window is anchored to the top and bottom of
754 // the available workspace and can have any width."
755- case mir_surface_state_vertmaximized:
756+ case mir_window_state_vertmaximized:
757 movement.dy = DeltaY(0);
758 break;
759
760 // "A horizontally maximised window is anchored to the left and right of
761 // the available workspace and can have any height"
762- case mir_surface_state_horizmaximized:
763+ case mir_window_state_horizmaximized:
764 movement.dx = DeltaX(0);
765 break;
766
767 // "A maximised window is anchored to the top, bottom, left and right of the
768 // available workspace. For example, if the launcher is always-visible then
769 // the left-edge of the window is anchored to the right-edge of the launcher."
770- case mir_surface_state_maximized:
771- case mir_surface_state_fullscreen:
772+ case mir_window_state_maximized:
773+ case mir_window_state_fullscreen:
774 default:
775 return;
776 }
777@@ -1069,10 +1069,10 @@
778 -> WindowSpecification
779 {
780 if (!parameters.type().is_set())
781- parameters.type() = mir_surface_type_normal;
782+ parameters.type() = mir_window_type_normal;
783
784 if (!parameters.state().is_set())
785- parameters.state() = mir_surface_state_restored;
786+ parameters.state() = mir_window_state_restored;
787
788 auto const active_display_area = active_display();
789 auto const height = parameters.size().value().height.as_int();
790@@ -1088,7 +1088,7 @@
791 display_layout->place_in_output(id, rect);
792 parameters.top_left() = rect.top_left;
793 parameters.size() = rect.size;
794- parameters.state() = mir_surface_state_fullscreen;
795+ parameters.state() = mir_window_state_fullscreen;
796 positioned = true;
797 }
798 else if (!has_parent) // No parent => client can't suggest positioning
799@@ -1155,19 +1155,19 @@
800
801 switch (parameters.state().value())
802 {
803- case mir_surface_state_fullscreen:
804- case mir_surface_state_maximized:
805+ case mir_window_state_fullscreen:
806+ case mir_window_state_maximized:
807 parameters.top_left() = active_display_area.top_left;
808 parameters.size() = active_display_area.size;
809 break;
810
811- case mir_surface_state_vertmaximized:
812+ case mir_window_state_vertmaximized:
813 centred.y = active_display_area.top_left.y;
814 parameters.top_left() = centred;
815 parameters.size() = Size{parameters.size().value().width, active_display_area.size.height};
816 break;
817
818- case mir_surface_state_horizmaximized:
819+ case mir_window_state_horizmaximized:
820 centred.x = active_display_area.top_left.x;
821 parameters.top_left() = centred;
822 parameters.size() = Size{active_display_area.size.width, parameters.size().value().height};
823@@ -1523,37 +1523,37 @@
824
825 switch (original_type)
826 {
827- case mir_surface_type_normal:
828- case mir_surface_type_utility:
829- case mir_surface_type_dialog:
830- case mir_surface_type_satellite:
831- switch (target_type)
832- {
833- case mir_surface_type_normal:
834- case mir_surface_type_utility:
835- case mir_surface_type_dialog:
836- case mir_surface_type_satellite:
837- break;
838-
839- default:
840- BOOST_THROW_EXCEPTION(std::runtime_error("Invalid surface type change"));
841- }
842-
843- case mir_surface_type_menu:
844- switch (target_type)
845- {
846- case mir_surface_type_menu:
847- case mir_surface_type_satellite:
848- break;
849-
850- default:
851- BOOST_THROW_EXCEPTION(std::runtime_error("Invalid surface type change"));
852- }
853-
854- case mir_surface_type_gloss:
855- case mir_surface_type_freestyle:
856- case mir_surface_type_inputmethod:
857- case mir_surface_type_tip:
858+ case mir_window_type_normal:
859+ case mir_window_type_utility:
860+ case mir_window_type_dialog:
861+ case mir_window_type_satellite:
862+ switch (target_type)
863+ {
864+ case mir_window_type_normal:
865+ case mir_window_type_utility:
866+ case mir_window_type_dialog:
867+ case mir_window_type_satellite:
868+ break;
869+
870+ default:
871+ BOOST_THROW_EXCEPTION(std::runtime_error("Invalid surface type change"));
872+ }
873+
874+ case mir_window_type_menu:
875+ switch (target_type)
876+ {
877+ case mir_window_type_menu:
878+ case mir_window_type_satellite:
879+ break;
880+
881+ default:
882+ BOOST_THROW_EXCEPTION(std::runtime_error("Invalid surface type change"));
883+ }
884+
885+ case mir_window_type_gloss:
886+ case mir_window_type_freestyle:
887+ case mir_window_type_inputmethod:
888+ case mir_window_type_tip:
889 if (target_type != original_type)
890 BOOST_THROW_EXCEPTION(std::runtime_error("Invalid surface type change"));
891 break;
892@@ -1565,23 +1565,23 @@
893
894 switch (target_type)
895 {
896- case mir_surface_type_normal:
897- case mir_surface_type_utility:
898+ case mir_window_type_normal:
899+ case mir_window_type_utility:
900 if (modifications.parent().is_set() ? modifications.parent().value().lock() : window_info.parent())
901 BOOST_THROW_EXCEPTION(std::runtime_error("Surface type must not have a parent"));
902 break;
903
904- case mir_surface_type_satellite:
905- case mir_surface_type_gloss:
906- case mir_surface_type_tip:
907+ case mir_window_type_satellite:
908+ case mir_window_type_gloss:
909+ case mir_window_type_tip:
910 if (modifications.parent().is_set() ? !modifications.parent().value().lock() : !window_info.parent())
911 BOOST_THROW_EXCEPTION(std::runtime_error("Surface type must have a parent"));
912 break;
913
914- case mir_surface_type_inputmethod:
915- case mir_surface_type_dialog:
916- case mir_surface_type_menu:
917- case mir_surface_type_freestyle:
918+ case mir_window_type_inputmethod:
919+ case mir_window_type_dialog:
920+ case mir_window_type_menu:
921+ case mir_window_type_freestyle:
922 break;
923
924 default:
925
926=== modified file 'miral/basic_window_manager.h'
927--- miral/basic_window_manager.h 2016-12-22 17:44:19 +0000
928+++ miral/basic_window_manager.h 2017-01-16 17:33:11 +0000
929@@ -94,7 +94,7 @@
930 int set_surface_attribute(
931 std::shared_ptr<mir::scene::Session> const& /*application*/,
932 std::shared_ptr<mir::scene::Surface> const& surface,
933- MirSurfaceAttrib attrib,
934+ MirWindowAttrib attrib,
935 int value) override;
936
937 auto count_applications() const -> unsigned int override;
938@@ -172,7 +172,7 @@
939 void erase(miral::WindowInfo const& info);
940 void validate_modification_request(WindowSpecification const& modifications, WindowInfo const& window_info) const;
941 void place_and_size(WindowInfo& root, Point const& new_pos, Size const& new_size);
942- void set_state(miral::WindowInfo& window_info, MirSurfaceState value);
943+ void set_state(miral::WindowInfo& window_info, MirWindowState value);
944 auto fullscreen_rect_for(WindowInfo const& window_info) const -> Rectangle;
945 void remove_window(Application const& application, miral::WindowInfo const& info);
946 };
947
948=== modified file 'miral/keymap.cpp'
949--- miral/keymap.cpp 2016-10-20 07:34:53 +0000
950+++ miral/keymap.cpp 2017-01-16 17:33:11 +0000
951@@ -25,7 +25,10 @@
952 #include <mir/server.h>
953 #include <mir/version.h>
954
955-#if MIR_SERVER_VERSION >= MIR_VERSION_NUMBER(0, 24, 1)
956+#if MIR_SERVER_VERSION >= MIR_VERSION_NUMBER(0, 26, 0)
957+#include <mir/input/keymap.h>
958+#include <mir/input/mir_keyboard_configuration.h>
959+#elif MIR_SERVER_VERSION >= MIR_VERSION_NUMBER(0, 24, 1)
960 #include <mir/input/keymap.h>
961 #include <mir/input/keyboard_configuration.h>
962 #endif
963@@ -112,7 +115,11 @@
964
965 if (keyboard_config.is_set())
966 {
967+#if MIR_SERVER_VERSION >= MIR_VERSION_NUMBER(0, 26, 0)
968+ keymap = keyboard_config.value().device_keymap();
969+#else
970 keymap = keyboard_config.value().device_keymap;
971+#endif
972 }
973
974 keymap.layout = layout;
975
976=== modified file 'miral/symbols.map'
977--- miral/symbols.map 2016-12-13 13:07:15 +0000
978+++ miral/symbols.map 2017-01-16 17:33:11 +0000
979@@ -112,7 +112,6 @@
980 miral::WindowInfo::WindowInfo*;
981 miral::WindowInfo::add_child*;
982 miral::WindowInfo::can_be_active*;
983- miral::WindowInfo::can_morph_to*;
984 miral::WindowInfo::children*;
985 miral::WindowInfo::confine_pointer*;
986 miral::WindowInfo::constrain_resize*;
987@@ -128,15 +127,12 @@
988 miral::WindowInfo::must_have_parent*;
989 miral::WindowInfo::must_not_have_parent*;
990 miral::WindowInfo::name*;
991- miral::WindowInfo::needs_titlebar*;
992 miral::WindowInfo::operator*;
993 miral::WindowInfo::output_id*;
994 miral::WindowInfo::parent*;
995 miral::WindowInfo::preferred_orientation*;
996 miral::WindowInfo::remove_child*;
997 miral::WindowInfo::restore_rect*;
998- miral::WindowInfo::state*;
999- miral::WindowInfo::type*;
1000 miral::WindowInfo::userdata*;
1001 miral::WindowInfo::width_inc*;
1002 miral::WindowInfo::window*;
1003@@ -153,7 +149,6 @@
1004 miral::WindowManagementPolicy::advise_new_window*;
1005 miral::WindowManagementPolicy::advise_raise*;
1006 miral::WindowManagementPolicy::advise_resize*;
1007- miral::WindowManagementPolicy::advise_state_change*;
1008 miral::WindowManagementPolicy::operator*;
1009 miral::WindowManagerOptions::WindowManagerOptions*;
1010 miral::WindowManagerOptions::operator*;
1011@@ -311,5 +306,45 @@
1012 vtable?for?miral::toolkit::Surface;
1013 vtable?for?miral::toolkit::SurfaceSpec;
1014 };
1015+# miral::WindowInfo::can_morph_to*;
1016+ _ZNK5miral10WindowInfo12can_morph_toE14MirSurfaceType;
1017+
1018+# miral::WindowInfo::needs_titlebar*;
1019+ _ZN5miral10WindowInfo14needs_titlebarE14MirSurfaceType;
1020+
1021+# miral::WindowInfo::state*;
1022+ _ZNK5miral10WindowInfo5stateEv;
1023+ _ZN5miral10WindowInfo5stateE15MirSurfaceState;
1024+
1025+# miral::WindowInfo::type*;
1026+ _ZN5miral10WindowInfo4typeE14MirSurfaceType;
1027+ _ZNK5miral10WindowInfo4typeEv;
1028+
1029+# miral::WindowManagementPolicy::advise_state_change*;
1030+ _ZN5miral22WindowManagementPolicy19advise_state_changeERKNS_10WindowInfoE15MirSurfaceState;
1031 local: *;
1032 };
1033+
1034+MIRAL_1.1 {
1035+global:
1036+ # miral::WindowInfo::can_morph_to*
1037+ _ZNK5miral10WindowInfo12can_morph_toE13MirWindowType;
1038+
1039+ #miral::WindowInfo::needs_titlebar*;
1040+ _ZN5miral10WindowInfo14needs_titlebarE13MirWindowType;
1041+
1042+ # miral::WindowInfo::state*;
1043+ _ZNK5miral10WindowInfo5stateEv;
1044+ _ZN5miral10WindowInfo5stateE14MirWindowState;
1045+
1046+ miral::WindowInfo::type*;
1047+ _ZN5miral10WindowInfo4typeE13MirWindowType;
1048+ _ZNK5miral10WindowInfo4typeEv;
1049+
1050+ # miral::WindowManagementPolicy::advise_state_change*;
1051+ _ZN5miral22WindowManagementPolicy19advise_state_changeERKNS_10WindowInfoE14MirWindowState;
1052+
1053+# extern "C++" {
1054+
1055+# };
1056+} MIRAL_1.0;
1057
1058=== modified file 'miral/window_info.cpp'
1059--- miral/window_info.cpp 2016-12-13 13:07:15 +0000
1060+++ miral/window_info.cpp 2017-01-16 17:33:11 +0000
1061@@ -19,6 +19,7 @@
1062 #include "miral/window_info.h"
1063
1064 #include <mir/scene/surface.h>
1065+#include <mir/version.h>
1066
1067 #include <limits>
1068
1069@@ -41,8 +42,8 @@
1070
1071 Window window;
1072 std::string name;
1073- MirSurfaceType type;
1074- MirSurfaceState state;
1075+ MirWindowType type;
1076+ MirWindowState state;
1077 mir::geometry::Rectangle restore_rect;
1078 Window parent;
1079 std::vector <Window> children;
1080@@ -64,8 +65,8 @@
1081 miral::WindowInfo::Self::Self(Window window, WindowSpecification const& params) :
1082 window{window},
1083 name{params.name().value()},
1084- type{optional_value_or_default(params.type(), mir_surface_type_normal)},
1085- state{optional_value_or_default(params.state(), mir_surface_state_restored)},
1086+ type{optional_value_or_default(params.type(), mir_window_type_normal)},
1087+ state{optional_value_or_default(params.state(), mir_window_state_restored)},
1088 restore_rect{params.top_left().value(), params.size().value()},
1089 min_width{optional_value_or_default(params.min_width())},
1090 min_height{optional_value_or_default(params.min_height())},
1091@@ -86,8 +87,8 @@
1092 }
1093
1094 miral::WindowInfo::Self::Self() :
1095- type{mir_surface_type_normal},
1096- state{mir_surface_state_unknown},
1097+ type{mir_window_type_normal},
1098+ state{mir_window_state_unknown},
1099 preferred_orientation{mir_orientation_mode_any}
1100 {
1101 }
1102@@ -123,17 +124,17 @@
1103 {
1104 switch (type())
1105 {
1106- case mir_surface_type_normal: /**< AKA "regular" */
1107- case mir_surface_type_utility: /**< AKA "floating" */
1108- case mir_surface_type_dialog:
1109- case mir_surface_type_satellite: /**< AKA "toolbox"/"toolbar" */
1110- case mir_surface_type_freestyle:
1111- case mir_surface_type_menu:
1112- case mir_surface_type_inputmethod: /**< AKA "OSK" or handwriting etc. */
1113+ case mir_window_type_normal: /**< AKA "regular" */
1114+ case mir_window_type_utility: /**< AKA "floating" */
1115+ case mir_window_type_dialog:
1116+ case mir_window_type_satellite: /**< AKA "toolbox"/"toolbar" */
1117+ case mir_window_type_freestyle:
1118+ case mir_window_type_menu:
1119+ case mir_window_type_inputmethod: /**< AKA "OSK" or handwriting etc. */
1120 return true;
1121
1122- case mir_surface_type_gloss:
1123- case mir_surface_type_tip: /**< AKA "tooltip" */
1124+ case mir_window_type_gloss:
1125+ case mir_window_type_tip: /**< AKA "tooltip" */
1126 default:
1127 // Cannot have input focus
1128 return false;
1129@@ -144,10 +145,10 @@
1130 {
1131 switch (type())
1132 {
1133- case mir_surface_type_overlay:;
1134- case mir_surface_type_inputmethod:
1135- case mir_surface_type_satellite:
1136- case mir_surface_type_tip:
1137+ case mir_window_type_gloss:;
1138+ case mir_window_type_inputmethod:
1139+ case mir_window_type_satellite:
1140+ case mir_window_type_tip:
1141 return true;
1142
1143 default:
1144@@ -155,19 +156,24 @@
1145 }
1146 }
1147
1148-bool miral::WindowInfo::can_morph_to(MirSurfaceType new_type) const
1149+#if (MIR_SERVER_VERSION >= MIR_VERSION_NUMBER(0, 26, 0)) && (MIR_SERVER_VERSION < MIR_VERSION_NUMBER(1, 0, 0))
1150+extern "C" __attribute__((alias("_ZNK5miral10WindowInfo12can_morph_toE13MirWindowType"))) void _ZNK5miral10WindowInfo12can_morph_toE14MirSurfaceType();
1151+__asm__(".symver _ZNK5miral10WindowInfo12can_morph_toE14MirSurfaceType,_ZNK5miral10WindowInfo12can_morph_toE14MirSurfaceType@MIRAL_1.0");
1152+__asm__(".symver _ZNK5miral10WindowInfo12can_morph_toE13MirWindowType,_ZNK5miral10WindowInfo12can_morph_toE13MirWindowType@@MIRAL_1.1");
1153+#endif
1154+bool miral::WindowInfo::can_morph_to(MirWindowType new_type) const
1155 {
1156 switch (new_type)
1157 {
1158- case mir_surface_type_normal:
1159- case mir_surface_type_utility:
1160- case mir_surface_type_satellite:
1161+ case mir_window_type_normal:
1162+ case mir_window_type_utility:
1163+ case mir_window_type_satellite:
1164 switch (type())
1165 {
1166- case mir_surface_type_normal:
1167- case mir_surface_type_utility:
1168- case mir_surface_type_dialog:
1169- case mir_surface_type_satellite:
1170+ case mir_window_type_normal:
1171+ case mir_window_type_utility:
1172+ case mir_window_type_dialog:
1173+ case mir_window_type_satellite:
1174 return true;
1175
1176 default:
1177@@ -175,14 +181,14 @@
1178 }
1179 break;
1180
1181- case mir_surface_type_dialog:
1182+ case mir_window_type_dialog:
1183 switch (type())
1184 {
1185- case mir_surface_type_normal:
1186- case mir_surface_type_utility:
1187- case mir_surface_type_dialog:
1188- case mir_surface_type_popover:
1189- case mir_surface_type_satellite:
1190+ case mir_window_type_normal:
1191+ case mir_window_type_utility:
1192+ case mir_window_type_dialog:
1193+ case mir_window_type_menu:
1194+ case mir_window_type_satellite:
1195 return true;
1196
1197 default:
1198@@ -201,8 +207,8 @@
1199 {
1200 switch (type())
1201 {
1202- case mir_surface_type_normal:
1203- case mir_surface_type_utility:
1204+ case mir_window_type_normal:
1205+ case mir_window_type_utility:
1206 return true;
1207
1208 default:
1209@@ -214,8 +220,8 @@
1210 {
1211 switch (state())
1212 {
1213- case mir_surface_state_hidden:
1214- case mir_surface_state_minimized:
1215+ case mir_window_state_hidden:
1216+ case mir_window_state_minimized:
1217 return false;
1218 default:
1219 if (std::shared_ptr<mir::scene::Surface> surface = window())
1220@@ -312,19 +318,19 @@
1221
1222 switch (state())
1223 {
1224- case mir_surface_state_restored:
1225+ case mir_window_state_restored:
1226 break;
1227
1228 // "A vertically maximised window is anchored to the top and bottom of
1229 // the available workspace and can have any width."
1230- case mir_surface_state_vertmaximized:
1231+ case mir_window_state_vertmaximized:
1232 new_pos.y = self->window.top_left().y;
1233 new_size.height = self->window.size().height;
1234 break;
1235
1236 // "A horizontally maximised window is anchored to the left and right of
1237 // the available workspace and can have any height"
1238- case mir_surface_state_horizmaximized:
1239+ case mir_window_state_horizmaximized:
1240 new_pos.x = self->window.top_left().x;
1241 new_size.width = self->window.size().width;
1242 break;
1243@@ -332,7 +338,7 @@
1244 // "A maximised window is anchored to the top, bottom, left and right of the
1245 // available workspace. For example, if the launcher is always-visible then
1246 // the left-edge of the window is anchored to the right-edge of the launcher."
1247- case mir_surface_state_maximized:
1248+ case mir_window_state_maximized:
1249 default:
1250 new_pos.x = self->window.top_left().x;
1251 new_pos.y = self->window.top_left().y;
1252@@ -345,15 +351,20 @@
1253 requested_size = new_size;
1254 }
1255
1256-bool miral::WindowInfo::needs_titlebar(MirSurfaceType type)
1257+#if (MIR_SERVER_VERSION >= MIR_VERSION_NUMBER(0, 26, 0)) && (MIR_SERVER_VERSION < MIR_VERSION_NUMBER(1, 0, 0))
1258+extern "C" __attribute__((alias("_ZN5miral10WindowInfo14needs_titlebarE13MirWindowType"))) void _ZN5miral10WindowInfo14needs_titlebarE14MirSurfaceType();
1259+__asm__(".symver _ZN5miral10WindowInfo14needs_titlebarE14MirSurfaceType,_ZN5miral10WindowInfo14needs_titlebarE14MirSurfaceType@MIRAL_1.0");
1260+__asm__(".symver _ZN5miral10WindowInfo14needs_titlebarE13MirWindowType,_ZN5miral10WindowInfo14needs_titlebarE13MirWindowType@@MIRAL_1.1");
1261+#endif
1262+bool miral::WindowInfo::needs_titlebar(MirWindowType type)
1263 {
1264 switch (type)
1265 {
1266- case mir_surface_type_freestyle:
1267- case mir_surface_type_menu:
1268- case mir_surface_type_inputmethod:
1269- case mir_surface_type_gloss:
1270- case mir_surface_type_tip:
1271+ case mir_window_type_freestyle:
1272+ case mir_window_type_menu:
1273+ case mir_window_type_inputmethod:
1274+ case mir_window_type_gloss:
1275+ case mir_window_type_tip:
1276 // No decorations for these surface types
1277 return false;
1278 default:
1279@@ -361,22 +372,32 @@
1280 }
1281 }
1282
1283-auto miral::WindowInfo::type() const -> MirSurfaceType
1284+auto miral::WindowInfo::type() const -> MirWindowType
1285 {
1286 return self->type;
1287 }
1288
1289-void miral::WindowInfo::type(MirSurfaceType type)
1290+#if (MIR_SERVER_VERSION >= MIR_VERSION_NUMBER(0, 26, 0)) && (MIR_SERVER_VERSION < MIR_VERSION_NUMBER(1, 0, 0))
1291+extern "C" __attribute__((alias("_ZN5miral10WindowInfo4typeE13MirWindowType"))) void _ZN5miral10WindowInfo4typeE14MirSurfaceType();
1292+__asm__(".symver _ZN5miral10WindowInfo4typeE14MirSurfaceType,_ZN5miral10WindowInfo4typeE14MirSurfaceType@MIRAL_1.0");
1293+__asm__(".symver _ZN5miral10WindowInfo4typeE13MirWindowType,_ZN5miral10WindowInfo4typeE13MirWindowType@@MIRAL_1.1");
1294+#endif
1295+void miral::WindowInfo::type(MirWindowType type)
1296 {
1297 self->type = type;
1298 }
1299
1300-auto miral::WindowInfo::state() const -> MirSurfaceState
1301+auto miral::WindowInfo::state() const -> MirWindowState
1302 {
1303 return self->state;
1304 }
1305
1306-void miral::WindowInfo::state(MirSurfaceState state)
1307+#if (MIR_SERVER_VERSION >= MIR_VERSION_NUMBER(0, 26, 0)) && (MIR_SERVER_VERSION < MIR_VERSION_NUMBER(1, 0, 0))
1308+extern "C" __attribute__((alias("_ZN5miral10WindowInfo5stateE14MirWindowState"))) void _ZN5miral10WindowInfo5stateE15MirSurfaceState();
1309+__asm__(".symver _ZN5miral10WindowInfo5stateE15MirSurfaceState,_ZN5miral10WindowInfo5stateE15MirSurfaceState@MIRAL_1.0");
1310+__asm__(".symver _ZN5miral10WindowInfo5stateE14MirWindowState,_ZN5miral10WindowInfo5stateE14MirWindowState@@MIRAL_1.1");
1311+#endif
1312+void miral::WindowInfo::state(MirWindowState state)
1313 {
1314 self->state = state;
1315 }
1316
1317=== modified file 'miral/window_management_policy.cpp'
1318--- miral/window_management_policy.cpp 2016-08-10 11:48:02 +0000
1319+++ miral/window_management_policy.cpp 2017-01-16 17:33:11 +0000
1320@@ -18,6 +18,8 @@
1321
1322 #include "miral/window_management_policy.h"
1323
1324+#include <mir/version.h>
1325+
1326 void miral::WindowManagementPolicy::advise_begin() {}
1327 void miral::WindowManagementPolicy::advise_end() {}
1328 void miral::WindowManagementPolicy::advise_new_app(ApplicationInfo& /*application*/) {}
1329@@ -25,7 +27,13 @@
1330 void miral::WindowManagementPolicy::advise_new_window(WindowInfo const& /*window_info*/) {}
1331 void miral::WindowManagementPolicy::advise_focus_lost(WindowInfo const& /*info*/) {}
1332 void miral::WindowManagementPolicy::advise_focus_gained(WindowInfo const& /*info*/) {}
1333-void miral::WindowManagementPolicy::advise_state_change(WindowInfo const& /*window_info*/, MirSurfaceState /*state*/) {}
1334+
1335+#if (MIR_SERVER_VERSION >= MIR_VERSION_NUMBER(0, 26, 0)) && (MIR_SERVER_VERSION < MIR_VERSION_NUMBER(1, 0, 0))
1336+extern "C" __attribute__((alias("_ZN5miral22WindowManagementPolicy19advise_state_changeERKNS_10WindowInfoE14MirWindowState"))) void _ZN5miral22WindowManagementPolicy19advise_state_changeERKNS_10WindowInfoE15MirSurfaceState();
1337+__asm__(".symver _ZN5miral22WindowManagementPolicy19advise_state_changeERKNS_10WindowInfoE15MirSurfaceState,_ZN5miral22WindowManagementPolicy19advise_state_changeERKNS_10WindowInfoE15MirSurfaceState@MIRAL_1.0");
1338+__asm__(".symver _ZN5miral22WindowManagementPolicy19advise_state_changeERKNS_10WindowInfoE14MirWindowState,_ZN5miral22WindowManagementPolicy19advise_state_changeERKNS_10WindowInfoE14MirWindowState@@MIRAL_1.1");
1339+#endif
1340+void miral::WindowManagementPolicy::advise_state_change(WindowInfo const& /*window_info*/, MirWindowState /*state*/) {}
1341 void miral::WindowManagementPolicy::advise_move_to(WindowInfo const& /*window_info*/, Point /*top_left*/) {}
1342 void miral::WindowManagementPolicy::advise_resize(WindowInfo const& /*window_info*/, Size const& /*new_size*/) {}
1343 void miral::WindowManagementPolicy::advise_delete_window(WindowInfo const& /*window_info*/) {}
1344
1345=== modified file 'miral/window_management_trace.cpp'
1346--- miral/window_management_trace.cpp 2016-12-05 09:46:35 +0000
1347+++ miral/window_management_trace.cpp 2017-01-16 17:33:11 +0000
1348@@ -273,7 +273,7 @@
1349 return out.str();
1350 }
1351
1352-auto dump_of(MirSurfaceState state) -> std::string
1353+auto dump_of(MirWindowState state) -> std::string
1354 {
1355 std::stringstream out;
1356 out << state;
1357@@ -606,7 +606,7 @@
1358 policy->advise_focus_gained(window_info);
1359 }
1360
1361-void miral::WindowManagementTrace::advise_state_change(miral::WindowInfo const& window_info, MirSurfaceState state)
1362+void miral::WindowManagementTrace::advise_state_change(miral::WindowInfo const& window_info, MirWindowState state)
1363 {
1364 mir::log_info("%s window_info=%s, state=%s", __func__, dump_of(window_info).c_str(), dump_of(state).c_str());
1365 policy->advise_state_change(window_info, state);
1366
1367=== modified file 'miral/window_management_trace.h'
1368--- miral/window_management_trace.h 2016-12-05 09:46:35 +0000
1369+++ miral/window_management_trace.h 2017-01-16 17:33:11 +0000
1370@@ -103,7 +103,7 @@
1371
1372 virtual void advise_focus_gained(WindowInfo const& window_info) override;
1373
1374- virtual void advise_state_change(WindowInfo const& window_info, MirSurfaceState state) override;
1375+ virtual void advise_state_change(WindowInfo const& window_info, MirWindowState state) override;
1376
1377 virtual void advise_move_to(WindowInfo const& window_info, Point top_left) override;
1378
1379
1380=== modified file 'miral/window_specification.cpp'
1381--- miral/window_specification.cpp 2016-10-25 15:07:46 +0000
1382+++ miral/window_specification.cpp 2017-01-16 17:33:11 +0000
1383@@ -37,8 +37,8 @@
1384 mir::optional_value<BufferUsage> buffer_usage;
1385 mir::optional_value<std::string> name;
1386 mir::optional_value<int> output_id;
1387- mir::optional_value<MirSurfaceType> type;
1388- mir::optional_value<MirSurfaceState> state;
1389+ mir::optional_value<MirWindowType> type;
1390+ mir::optional_value<MirWindowState> state;
1391 mir::optional_value<MirOrientationMode> preferred_orientation;
1392 mir::optional_value<BufferStreamId> content_id;
1393 mir::optional_value<Rectangle> aux_rect;
1394@@ -403,12 +403,12 @@
1395 return self->output_id;
1396 }
1397
1398-auto miral::WindowSpecification::type() const -> mir::optional_value<MirSurfaceType> const&
1399+auto miral::WindowSpecification::type() const -> mir::optional_value<MirWindowType> const&
1400 {
1401 return self->type;
1402 }
1403
1404-auto miral::WindowSpecification::state() const -> mir::optional_value<MirSurfaceState> const&
1405+auto miral::WindowSpecification::state() const -> mir::optional_value<MirWindowState> const&
1406 {
1407 return self->state;
1408 }
1409@@ -533,12 +533,12 @@
1410 return self->output_id;
1411 }
1412
1413-auto miral::WindowSpecification::type() -> mir::optional_value<MirSurfaceType>&
1414+auto miral::WindowSpecification::type() -> mir::optional_value<MirWindowType>&
1415 {
1416 return self->type;
1417 }
1418
1419-auto miral::WindowSpecification::state() -> mir::optional_value<MirSurfaceState>&
1420+auto miral::WindowSpecification::state() -> mir::optional_value<MirWindowState>&
1421 {
1422 return self->state;
1423 }
1424
1425=== modified file 'scripts/process_doxygen_xml.py'
1426--- scripts/process_doxygen_xml.py 2016-12-13 13:07:15 +0000
1427+++ scripts/process_doxygen_xml.py 2017-01-16 17:33:11 +0000
1428@@ -83,11 +83,326 @@
1429
1430 OLD_STANZAS = '''MIRAL_1.0 {
1431 global:
1432+ extern "C++" {
1433+ miral::ActiveOutputsListener::?ActiveOutputsListener*;
1434+ miral::ActiveOutputsListener::ActiveOutputsListener*;
1435+ miral::ActiveOutputsListener::advise_output_begin*;
1436+ miral::ActiveOutputsListener::advise_output_create*;
1437+ miral::ActiveOutputsListener::advise_output_delete*;
1438+ miral::ActiveOutputsListener::advise_output_end*;
1439+ miral::ActiveOutputsListener::advise_output_update*;
1440+ miral::ActiveOutputsListener::operator*;
1441+ miral::ActiveOutputsMonitor::?ActiveOutputsMonitor*;
1442+ miral::ActiveOutputsMonitor::ActiveOutputsMonitor*;
1443+ miral::ActiveOutputsMonitor::add_listener*;
1444+ miral::ActiveOutputsMonitor::delete_listener*;
1445+ miral::ActiveOutputsMonitor::operator*;
1446+ miral::ActiveOutputsMonitor::process_outputs*;
1447+ miral::AddInitCallback::?AddInitCallback*;
1448+ miral::AddInitCallback::AddInitCallback*;
1449+ miral::AddInitCallback::operator*;
1450+ miral::AppendEventFilter::AppendEventFilter*;
1451+ miral::AppendEventFilter::operator*;
1452+ miral::ApplicationAuthorizer::?ApplicationAuthorizer*;
1453+ miral::ApplicationAuthorizer::ApplicationAuthorizer*;
1454+ miral::ApplicationAuthorizer::operator*;
1455+ miral::ApplicationCredentials::ApplicationCredentials*;
1456+ miral::ApplicationCredentials::gid*;
1457+ miral::ApplicationCredentials::pid*;
1458+ miral::ApplicationCredentials::uid*;
1459+ miral::ApplicationInfo::?ApplicationInfo*;
1460+ miral::ApplicationInfo::ApplicationInfo*;
1461+ miral::ApplicationInfo::add_window*;
1462+ miral::ApplicationInfo::application*;
1463+ miral::ApplicationInfo::name*;
1464+ miral::ApplicationInfo::operator*;
1465+ miral::ApplicationInfo::remove_window*;
1466+ miral::ApplicationInfo::userdata*;
1467+ miral::ApplicationInfo::windows*;
1468+ miral::BasicSetApplicationAuthorizer::?BasicSetApplicationAuthorizer*;
1469+ miral::BasicSetApplicationAuthorizer::BasicSetApplicationAuthorizer*;
1470+ miral::BasicSetApplicationAuthorizer::operator*;
1471+ miral::BasicSetApplicationAuthorizer::the_application_authorizer*;
1472+ miral::CanonicalWindowManagerPolicy::CanonicalWindowManagerPolicy*;
1473+ miral::CanonicalWindowManagerPolicy::advise_focus_gained*;
1474+ miral::CanonicalWindowManagerPolicy::confirm_inherited_move*;
1475+ miral::CanonicalWindowManagerPolicy::handle_modify_window*;
1476+ miral::CanonicalWindowManagerPolicy::handle_raise_window*;
1477+ miral::CanonicalWindowManagerPolicy::handle_window_ready*;
1478+ miral::CanonicalWindowManagerPolicy::place_new_surface*;
1479+ miral::CommandLineOption::?CommandLineOption*;
1480+ miral::CommandLineOption::CommandLineOption*;
1481+ miral::CommandLineOption::operator*;
1482+ miral::CursorTheme::?CursorTheme*;
1483+ miral::CursorTheme::CursorTheme*;
1484+ miral::CursorTheme::operator*;
1485+ miral::DebugExtension::DebugExtension*;
1486+ miral::DebugExtension::disable*;
1487+ miral::DebugExtension::enable*;
1488+ miral::DebugExtension::operator*;
1489+ miral::InternalClientLauncher::?InternalClientLauncher*;
1490+ miral::InternalClientLauncher::InternalClientLauncher*;
1491+ miral::InternalClientLauncher::launch*;
1492+ miral::InternalClientLauncher::operator*;
1493+ miral::Keymap::?Keymap*;
1494+ miral::Keymap::Keymap*;
1495+ miral::Keymap::operator*;
1496+ miral::Keymap::set_keymap*;
1497+ miral::MirRunner::?MirRunner*;
1498+ miral::MirRunner::MirRunner*;
1499+ miral::MirRunner::add_start_callback*;
1500+ miral::MirRunner::add_stop_callback*;
1501+ miral::MirRunner::run_with*;
1502+ miral::MirRunner::set_exception_handler*;
1503+ miral::MirRunner::stop*;
1504+ miral::Output::?Output*;
1505+ miral::Output::Output*;
1506+ miral::Output::connected*;
1507+ miral::Output::extents*;
1508+ miral::Output::form_factor*;
1509+ miral::Output::is_same_output*;
1510+ miral::Output::operator*;
1511+ miral::Output::orientation*;
1512+ miral::Output::physical_size_mm*;
1513+ miral::Output::pixel_format*;
1514+ miral::Output::power_mode*;
1515+ miral::Output::refresh_rate*;
1516+ miral::Output::scale*;
1517+ miral::Output::type*;
1518+ miral::Output::used*;
1519+ miral::Output::valid*;
1520+ miral::SetCommandLineHandler::?SetCommandLineHandler*;
1521+ miral::SetCommandLineHandler::SetCommandLineHandler*;
1522+ miral::SetCommandLineHandler::operator*;
1523+ miral::SetTerminator::?SetTerminator*;
1524+ miral::SetTerminator::SetTerminator*;
1525+ miral::SetTerminator::operator*;
1526+ miral::SetWindowManagmentPolicy::?SetWindowManagmentPolicy*;
1527+ miral::SetWindowManagmentPolicy::SetWindowManagmentPolicy*;
1528+ miral::SetWindowManagmentPolicy::operator*;
1529+ miral::StartupInternalClient::?StartupInternalClient*;
1530+ miral::StartupInternalClient::StartupInternalClient*;
1531+ miral::StartupInternalClient::operator*;
1532+ miral::Window::?Window*;
1533+ miral::Window::Window*;
1534+ miral::Window::application*;
1535+ miral::Window::move_to*;
1536+ miral::Window::operator*;
1537+ miral::Window::resize*;
1538+ miral::Window::size*;
1539+ miral::Window::top_left*;
1540+ miral::WindowInfo::?WindowInfo*;
1541+ miral::WindowInfo::WindowInfo*;
1542+ miral::WindowInfo::add_child*;
1543+ miral::WindowInfo::can_be_active*;
1544+ miral::WindowInfo::can_morph_to*;
1545+ miral::WindowInfo::children*;
1546+ miral::WindowInfo::confine_pointer*;
1547+ miral::WindowInfo::constrain_resize*;
1548+ miral::WindowInfo::has_output_id*;
1549+ miral::WindowInfo::height_inc*;
1550+ miral::WindowInfo::is_visible*;
1551+ miral::WindowInfo::max_aspect*;
1552+ miral::WindowInfo::max_height*;
1553+ miral::WindowInfo::max_width*;
1554+ miral::WindowInfo::min_aspect*;
1555+ miral::WindowInfo::min_height*;
1556+ miral::WindowInfo::min_width*;
1557+ miral::WindowInfo::must_have_parent*;
1558+ miral::WindowInfo::must_not_have_parent*;
1559+ miral::WindowInfo::name*;
1560+ miral::WindowInfo::needs_titlebar*;
1561+ miral::WindowInfo::operator*;
1562+ miral::WindowInfo::output_id*;
1563+ miral::WindowInfo::parent*;
1564+ miral::WindowInfo::preferred_orientation*;
1565+ miral::WindowInfo::remove_child*;
1566+ miral::WindowInfo::restore_rect*;
1567+ miral::WindowInfo::state*;
1568+ miral::WindowInfo::type*;
1569+ miral::WindowInfo::userdata*;
1570+ miral::WindowInfo::width_inc*;
1571+ miral::WindowInfo::window*;
1572+ miral::WindowManagementPolicy::?WindowManagementPolicy*;
1573+ miral::WindowManagementPolicy::WindowManagementPolicy*;
1574+ miral::WindowManagementPolicy::advise_begin*;
1575+ miral::WindowManagementPolicy::advise_delete_app*;
1576+ miral::WindowManagementPolicy::advise_delete_window*;
1577+ miral::WindowManagementPolicy::advise_end*;
1578+ miral::WindowManagementPolicy::advise_focus_gained*;
1579+ miral::WindowManagementPolicy::advise_focus_lost*;
1580+ miral::WindowManagementPolicy::advise_move_to*;
1581+ miral::WindowManagementPolicy::advise_new_app*;
1582+ miral::WindowManagementPolicy::advise_new_window*;
1583+ miral::WindowManagementPolicy::advise_raise*;
1584+ miral::WindowManagementPolicy::advise_resize*;
1585+ miral::WindowManagementPolicy::advise_state_change*;
1586+ miral::WindowManagementPolicy::operator*;
1587+ miral::WindowManagerOptions::WindowManagerOptions*;
1588+ miral::WindowManagerOptions::operator*;
1589+ miral::WindowManagerTools::?WindowManagerTools*;
1590+ miral::WindowManagerTools::WindowManagerTools*;
1591+ miral::WindowManagerTools::active_display*;
1592+ miral::WindowManagerTools::active_window*;
1593+ miral::WindowManagerTools::ask_client_to_close*;
1594+ miral::WindowManagerTools::count_applications*;
1595+ miral::WindowManagerTools::drag_active_window*;
1596+ miral::WindowManagerTools::find_application*;
1597+ miral::WindowManagerTools::focus_next_application*;
1598+ miral::WindowManagerTools::focus_next_within_application*;
1599+ miral::WindowManagerTools::for_each_application*;
1600+ miral::WindowManagerTools::force_close*;
1601+ miral::WindowManagerTools::id_for_window*;
1602+ miral::WindowManagerTools::info_for*;
1603+ miral::WindowManagerTools::info_for_window_id*;
1604+ miral::WindowManagerTools::invoke_under_lock*;
1605+ miral::WindowManagerTools::modify_window*;
1606+ miral::WindowManagerTools::operator*;
1607+ miral::WindowManagerTools::place_and_size_for_state*;
1608+ miral::WindowManagerTools::raise_tree*;
1609+ miral::WindowManagerTools::select_active_window*;
1610+ miral::WindowManagerTools::window_at*;
1611+ miral::WindowSpecification::?WindowSpecification*;
1612+ miral::WindowSpecification::WindowSpecification*;
1613+ miral::WindowSpecification::aux_rect*;
1614+ miral::WindowSpecification::aux_rect_placement_gravity*;
1615+ miral::WindowSpecification::aux_rect_placement_offset*;
1616+ miral::WindowSpecification::confine_pointer*;
1617+ miral::WindowSpecification::height_inc*;
1618+ miral::WindowSpecification::input_mode*;
1619+ miral::WindowSpecification::input_shape*;
1620+ miral::WindowSpecification::max_aspect*;
1621+ miral::WindowSpecification::max_height*;
1622+ miral::WindowSpecification::max_width*;
1623+ miral::WindowSpecification::min_aspect*;
1624+ miral::WindowSpecification::min_height*;
1625+ miral::WindowSpecification::min_width*;
1626+ miral::WindowSpecification::name*;
1627+ miral::WindowSpecification::operator*;
1628+ miral::WindowSpecification::output_id*;
1629+ miral::WindowSpecification::parent*;
1630+ miral::WindowSpecification::placement_hints*;
1631+ miral::WindowSpecification::preferred_orientation*;
1632+ miral::WindowSpecification::shell_chrome*;
1633+ miral::WindowSpecification::size*;
1634+ miral::WindowSpecification::state*;
1635+ miral::WindowSpecification::top_left*;
1636+ miral::WindowSpecification::type*;
1637+ miral::WindowSpecification::update*;
1638+ miral::WindowSpecification::userdata*;
1639+ miral::WindowSpecification::width_inc*;
1640+ miral::WindowSpecification::window_placement_gravity*;
1641+ miral::apply_lifecycle_state_to*;
1642+ miral::display_configuration_options*;
1643+ miral::equivalent_display_area*;
1644+ miral::kill*;
1645+ miral::name_of*;
1646+ miral::operator*;
1647+ miral::pid_of*;
1648+ miral::toolkit::Connection::Connection*;
1649+ miral::toolkit::Surface::Surface*;
1650+ non-virtual?thunk?to?miral::ActiveOutputsListener::?ActiveOutputsListener*;
1651+ non-virtual?thunk?to?miral::ActiveOutputsListener::advise_output_begin*;
1652+ non-virtual?thunk?to?miral::ActiveOutputsListener::advise_output_create*;
1653+ non-virtual?thunk?to?miral::ActiveOutputsListener::advise_output_delete*;
1654+ non-virtual?thunk?to?miral::ActiveOutputsListener::advise_output_end*;
1655+ non-virtual?thunk?to?miral::ActiveOutputsListener::advise_output_update*;
1656+ non-virtual?thunk?to?miral::ApplicationAuthorizer::?ApplicationAuthorizer*;
1657+ non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::advise_focus_gained*;
1658+ non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::confirm_inherited_move*;
1659+ non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::handle_modify_window*;
1660+ non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::handle_raise_window*;
1661+ non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::handle_window_ready*;
1662+ non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::place_new_surface*;
1663+ non-virtual?thunk?to?miral::WindowManagementPolicy::?WindowManagementPolicy*;
1664+ non-virtual?thunk?to?miral::WindowManagementPolicy::advise_begin*;
1665+ non-virtual?thunk?to?miral::WindowManagementPolicy::advise_delete_app*;
1666+ non-virtual?thunk?to?miral::WindowManagementPolicy::advise_delete_window*;
1667+ non-virtual?thunk?to?miral::WindowManagementPolicy::advise_end*;
1668+ non-virtual?thunk?to?miral::WindowManagementPolicy::advise_focus_gained*;
1669+ non-virtual?thunk?to?miral::WindowManagementPolicy::advise_focus_lost*;
1670+ non-virtual?thunk?to?miral::WindowManagementPolicy::advise_move_to*;
1671+ non-virtual?thunk?to?miral::WindowManagementPolicy::advise_new_app*;
1672+ non-virtual?thunk?to?miral::WindowManagementPolicy::advise_new_window*;
1673+ non-virtual?thunk?to?miral::WindowManagementPolicy::advise_raise*;
1674+ non-virtual?thunk?to?miral::WindowManagementPolicy::advise_resize*;
1675+ non-virtual?thunk?to?miral::WindowManagementPolicy::advise_state_change*;
1676+ typeinfo?for?miral::ActiveOutputsListener;
1677+ typeinfo?for?miral::ActiveOutputsMonitor;
1678+ typeinfo?for?miral::AddInitCallback;
1679+ typeinfo?for?miral::AppendEventFilter;
1680+ typeinfo?for?miral::ApplicationAuthorizer;
1681+ typeinfo?for?miral::ApplicationCredentials;
1682+ typeinfo?for?miral::ApplicationInfo;
1683+ typeinfo?for?miral::BasicSetApplicationAuthorizer;
1684+ typeinfo?for?miral::CanonicalWindowManagerPolicy;
1685+ typeinfo?for?miral::CommandLineOption;
1686+ typeinfo?for?miral::CursorTheme;
1687+ typeinfo?for?miral::DebugExtension;
1688+ typeinfo?for?miral::InternalClientLauncher;
1689+ typeinfo?for?miral::Keymap;
1690+ typeinfo?for?miral::MirRunner;
1691+ typeinfo?for?miral::Output;
1692+ typeinfo?for?miral::Output::PhysicalSizeMM;
1693+ typeinfo?for?miral::SetCommandLineHandler;
1694+ typeinfo?for?miral::SetTerminator;
1695+ typeinfo?for?miral::SetWindowManagmentPolicy;
1696+ typeinfo?for?miral::StartupInternalClient;
1697+ typeinfo?for?miral::Window;
1698+ typeinfo?for?miral::WindowInfo;
1699+ typeinfo?for?miral::WindowManagementPolicy;
1700+ typeinfo?for?miral::WindowManagerOption;
1701+ typeinfo?for?miral::WindowManagerOptions;
1702+ typeinfo?for?miral::WindowManagerTools;
1703+ typeinfo?for?miral::WindowSpecification;
1704+ typeinfo?for?miral::WindowSpecification::AspectRatio;
1705+ typeinfo?for?miral::toolkit::Connection;
1706+ typeinfo?for?miral::toolkit::PersistentId;
1707+ typeinfo?for?miral::toolkit::Surface;
1708+ typeinfo?for?miral::toolkit::SurfaceSpec;
1709+ vtable?for?miral::ActiveOutputsListener;
1710+ vtable?for?miral::ActiveOutputsMonitor;
1711+ vtable?for?miral::AddInitCallback;
1712+ vtable?for?miral::AppendEventFilter;
1713+ vtable?for?miral::ApplicationAuthorizer;
1714+ vtable?for?miral::ApplicationCredentials;
1715+ vtable?for?miral::ApplicationInfo;
1716+ vtable?for?miral::BasicSetApplicationAuthorizer;
1717+ vtable?for?miral::CanonicalWindowManagerPolicy;
1718+ vtable?for?miral::CommandLineOption;
1719+ vtable?for?miral::CursorTheme;
1720+ vtable?for?miral::DebugExtension;
1721+ vtable?for?miral::InternalClientLauncher;
1722+ vtable?for?miral::Keymap;
1723+ vtable?for?miral::MirRunner;
1724+ vtable?for?miral::Output;
1725+ vtable?for?miral::Output::PhysicalSizeMM;
1726+ vtable?for?miral::SetCommandLineHandler;
1727+ vtable?for?miral::SetTerminator;
1728+ vtable?for?miral::SetWindowManagmentPolicy;
1729+ vtable?for?miral::StartupInternalClient;
1730+ vtable?for?miral::Window;
1731+ vtable?for?miral::WindowInfo;
1732+ vtable?for?miral::WindowManagementPolicy;
1733+ vtable?for?miral::WindowManagerOption;
1734+ vtable?for?miral::WindowManagerOptions;
1735+ vtable?for?miral::WindowManagerTools;
1736+ vtable?for?miral::WindowSpecification;
1737+ vtable?for?miral::WindowSpecification::AspectRatio;
1738+ vtable?for?miral::toolkit::Connection;
1739+ vtable?for?miral::toolkit::PersistentId;
1740+ vtable?for?miral::toolkit::Surface;
1741+ vtable?for?miral::toolkit::SurfaceSpec;
1742+ };
1743+local: *;
1744+};
1745+
1746+MIRAL_1.1 {
1747+global:
1748 extern "C++" {'''
1749
1750 END_NEW_STANZA = ''' };
1751-local: *;
1752-};'''
1753+} MIRAL_1.0;'''
1754
1755 def _print_report():
1756 print OLD_STANZAS
1757
1758=== modified file 'test/display_reconfiguration.cpp'
1759--- test/display_reconfiguration.cpp 2016-11-10 17:25:38 +0000
1760+++ test/display_reconfiguration.cpp 2017-01-16 17:33:11 +0000
1761@@ -51,9 +51,9 @@
1762 void create_fullscreen_window()
1763 {
1764 mir::scene::SurfaceCreationParameters creation_parameters;
1765- creation_parameters.type = mir_surface_type_normal;
1766+ creation_parameters.type = mir_window_type_normal;
1767 creation_parameters.size = initial_window_size;
1768- creation_parameters.state = mir_surface_state_fullscreen;
1769+ creation_parameters.state = mir_window_state_fullscreen;
1770 creation_parameters.output_id = mir::graphics::DisplayConfigurationOutputId{0};
1771
1772 EXPECT_CALL(*window_manager_policy, advise_new_window(_))
1773@@ -77,9 +77,9 @@
1774 create_fullscreen_window();
1775
1776 WindowSpecification mods;
1777- mods.state() = mir_surface_state_hidden;
1778+ mods.state() = mir_window_state_hidden;
1779 window_manager_tools.modify_window(window, mods);
1780- mods.state() = mir_surface_state_fullscreen;
1781+ mods.state() = mir_window_state_fullscreen;
1782 window_manager_tools.modify_window(window, mods);
1783
1784 Rectangle const new_display{display_area.top_left+as_displacement({display_width, Height{0}}), display_area.size};
1785
1786=== modified file 'test/drag_active_window.cpp'
1787--- test/drag_active_window.cpp 2016-11-07 12:09:04 +0000
1788+++ test/drag_active_window.cpp 2017-01-16 17:33:11 +0000
1789@@ -36,7 +36,7 @@
1790
1791 auto const null_window = Window{};
1792
1793-struct DragActiveWindow : TestWindowManagerTools, WithParamInterface<MirSurfaceType>
1794+struct DragActiveWindow : TestWindowManagerTools, WithParamInterface<MirWindowType>
1795 {
1796 Size const initial_parent_size{600, 400};
1797
1798@@ -48,7 +48,7 @@
1799 basic_window_manager.add_session(session);
1800 }
1801
1802- void create_window_of_type(MirSurfaceType type)
1803+ void create_window_of_type(MirWindowType type)
1804 {
1805 mir::scene::SurfaceCreationParameters creation_parameters;
1806 creation_parameters.type = type;
1807
1808=== modified file 'test/modify_window_state.cpp'
1809--- test/modify_window_state.cpp 2016-11-07 12:09:11 +0000
1810+++ test/modify_window_state.cpp 2017-01-16 17:33:11 +0000
1811@@ -36,7 +36,7 @@
1812
1813 auto const null_window = Window{};
1814
1815-struct ModifyWindowState : TestWindowManagerTools, WithParamInterface<MirSurfaceType>
1816+struct ModifyWindowState : TestWindowManagerTools, WithParamInterface<MirWindowType>
1817 {
1818 Size const initial_parent_size{600, 400};
1819
1820@@ -48,7 +48,7 @@
1821 basic_window_manager.add_session(session);
1822 }
1823
1824- void create_window_of_type(MirSurfaceType type)
1825+ void create_window_of_type(MirWindowType type)
1826 {
1827 mir::scene::SurfaceCreationParameters creation_parameters;
1828 creation_parameters.type = type;
1829@@ -72,11 +72,11 @@
1830
1831 TEST_P(ForNormalSurface, state)
1832 {
1833- auto const original_state = mir_surface_state_restored;
1834- auto const new_state = MirSurfaceState(GetParam());
1835- auto const state_is_visible = (new_state != mir_surface_state_minimized) && (new_state != mir_surface_state_hidden);
1836+ auto const original_state = mir_window_state_restored;
1837+ auto const new_state = MirWindowState(GetParam());
1838+ auto const state_is_visible = (new_state != mir_window_state_minimized) && (new_state != mir_window_state_hidden);
1839
1840- create_window_of_type(mir_surface_type_normal);
1841+ create_window_of_type(mir_window_type_normal);
1842 auto const& info = window_manager_tools.info_for(window);
1843
1844 WindowSpecification mods;
1845@@ -95,13 +95,13 @@
1846 }
1847
1848 INSTANTIATE_TEST_CASE_P(ModifyWindowState, ForNormalSurface, ::testing::Values(
1849-// mir_surface_state_unknown,
1850- mir_surface_state_restored,
1851- mir_surface_state_minimized,
1852- mir_surface_state_maximized,
1853- mir_surface_state_vertmaximized,
1854- mir_surface_state_fullscreen,
1855- mir_surface_state_horizmaximized,
1856- mir_surface_state_hidden
1857-// mir_surface_states
1858+// mir_window_state_unknown,
1859+ mir_window_state_restored,
1860+ mir_window_state_minimized,
1861+ mir_window_state_maximized,
1862+ mir_window_state_vertmaximized,
1863+ mir_window_state_fullscreen,
1864+ mir_window_state_horizmaximized,
1865+ mir_window_state_hidden
1866+// mir_window_states
1867 ));
1868
1869=== modified file 'test/select_active_window.cpp'
1870--- test/select_active_window.cpp 2016-10-10 14:53:39 +0000
1871+++ test/select_active_window.cpp 2017-01-16 17:33:11 +0000
1872@@ -82,13 +82,13 @@
1873 {
1874 mir::scene::SurfaceCreationParameters creation_parameters;
1875 creation_parameters.name = "parent";
1876- creation_parameters.type = mir_surface_type_normal;
1877+ creation_parameters.type = mir_window_type_normal;
1878 creation_parameters.size = Size{600, 400};
1879
1880 auto parent = create_window(creation_parameters);
1881
1882 creation_parameters.name = "dialog";
1883- creation_parameters.type = mir_surface_type_dialog;
1884+ creation_parameters.type = mir_window_type_dialog;
1885 creation_parameters.parent = parent;
1886
1887 auto dialog = create_window(creation_parameters);
1888@@ -102,22 +102,22 @@
1889 {
1890 mir::scene::SurfaceCreationParameters creation_parameters;
1891 creation_parameters.name = "parent";
1892- creation_parameters.type = mir_surface_type_normal;
1893+ creation_parameters.type = mir_window_type_normal;
1894 creation_parameters.size = Size{600, 400};
1895
1896 auto parent = create_window(creation_parameters);
1897
1898 creation_parameters.name = "dialog";
1899- creation_parameters.type = mir_surface_type_dialog;
1900+ creation_parameters.type = mir_window_type_dialog;
1901 creation_parameters.parent = parent;
1902
1903 auto dialog = create_window(creation_parameters);
1904
1905 WindowSpecification mods;
1906- mods.state() = mir_surface_state_hidden;
1907+ mods.state() = mir_window_state_hidden;
1908 basic_window_manager.modify_window(basic_window_manager.info_for(dialog), mods);
1909
1910 auto actual = basic_window_manager.select_active_window(parent);
1911 EXPECT_THAT(actual, Eq(parent))
1912 << "actual=" << actual << ", expected=" << parent;
1913-}
1914\ No newline at end of file
1915+}
1916
1917=== modified file 'test/test_window_manager_tools.h'
1918--- test/test_window_manager_tools.h 2016-10-10 14:53:39 +0000
1919+++ test/test_window_manager_tools.h 2017-01-16 17:33:11 +0000
1920@@ -74,11 +74,11 @@
1921
1922 struct StubSurface : mir::test::doubles::StubSurface
1923 {
1924- StubSurface(std::string name, MirSurfaceType type, mir::geometry::Point top_left, mir::geometry::Size size) :
1925+ StubSurface(std::string name, MirWindowType type, mir::geometry::Point top_left, mir::geometry::Size size) :
1926 name_{name}, type_{type}, top_left_{top_left}, size_{size} {}
1927
1928 std::string name() const override { return name_; };
1929- MirSurfaceType type() const { return type_; }
1930+ MirWindowType type() const { return type_; }
1931
1932 mir::geometry::Point top_left() const override { return top_left_; }
1933 void move_to(mir::geometry::Point const& top_left) override { top_left_ = top_left; }
1934@@ -86,25 +86,25 @@
1935 mir::geometry::Size size() const override { return size_; }
1936 void resize(mir::geometry::Size const& size) override { size_ = size; }
1937
1938- auto state() const -> MirSurfaceState override { return state_; }
1939- auto configure(MirSurfaceAttrib attrib, int value) -> int override {
1940+ auto state() const -> MirWindowState override { return state_; }
1941+ auto configure(MirWindowAttrib attrib, int value) -> int override {
1942 switch (attrib)
1943 {
1944- case mir_surface_attrib_state:
1945- state_ = MirSurfaceState(value);
1946+ case mir_window_attrib_state:
1947+ state_ = MirWindowState(value);
1948 return state_;
1949 default:
1950 return value;
1951 }
1952 }
1953
1954- bool visible() const override { return state() != mir_surface_state_hidden; }
1955+ bool visible() const override { return state() != mir_window_state_hidden; }
1956
1957 std::string name_;
1958- MirSurfaceType type_;
1959+ MirWindowType type_;
1960 mir::geometry::Point top_left_;
1961 mir::geometry::Size size_;
1962- MirSurfaceState state_ = mir_surface_state_restored;
1963+ MirWindowState state_ = mir_window_state_restored;
1964 };
1965
1966 struct StubStubSession : mir::test::doubles::StubSession
1967
1968=== modified file 'test/window_placement.cpp'
1969--- test/window_placement.cpp 2016-09-19 12:04:12 +0000
1970+++ test/window_placement.cpp 2017-01-16 17:33:11 +0000
1971@@ -73,7 +73,7 @@
1972 creation_parameters.size = initial_parent_size;
1973 basic_window_manager.add_surface(session, creation_parameters, &create_surface);
1974
1975- creation_parameters.type = mir_surface_type_menu;
1976+ creation_parameters.type = mir_window_type_menu;
1977 creation_parameters.parent = parent;
1978 creation_parameters.size = initial_child_size;
1979 basic_window_manager.add_surface(session, creation_parameters, &create_surface);
1980@@ -121,12 +121,12 @@
1981 ASSERT_THAT(parent, Ne(null_window));
1982 ASSERT_THAT(parent.size(), Eq(initial_parent_size));
1983 ASSERT_THAT(basic_window_manager.info_for(parent).children(), ElementsAre(child));
1984- ASSERT_THAT(basic_window_manager.info_for(parent).type(), Eq(mir_surface_type_normal));
1985+ ASSERT_THAT(basic_window_manager.info_for(parent).type(), Eq(mir_window_type_normal));
1986
1987 ASSERT_THAT(child, Ne(null_window));
1988 ASSERT_THAT(child.size(), Eq(initial_child_size));
1989 ASSERT_THAT(basic_window_manager.info_for(child).parent(), Eq(parent));
1990- ASSERT_THAT(basic_window_manager.info_for(child).type(), Eq(mir_surface_type_menu));
1991+ ASSERT_THAT(basic_window_manager.info_for(child).type(), Eq(mir_window_type_menu));
1992 }
1993
1994
1995
1996=== modified file 'test/window_placement_anchors_to_parent.cpp'
1997--- test/window_placement_anchors_to_parent.cpp 2016-09-19 14:06:02 +0000
1998+++ test/window_placement_anchors_to_parent.cpp 2017-01-16 17:33:11 +0000
1999@@ -71,7 +71,7 @@
2000 creation_parameters.size = parent_size;
2001 basic_window_manager.add_surface(session, creation_parameters, &create_surface);
2002
2003- creation_parameters.type = mir_surface_type_tip;
2004+ creation_parameters.type = mir_window_type_tip;
2005 creation_parameters.parent = parent;
2006 creation_parameters.size = initial_child_size;
2007 basic_window_manager.add_surface(session, creation_parameters, &create_surface);

Subscribers

People subscribed via source and target branches