~ci-train-bot/miral/miral-ubuntu-zesty-2818

« back to all changes in this revision

Viewing changes to miral-shell/tiling_window_manager.cpp

  • Committer: Bileto Bot
  • Date: 2017-01-27 03:02:13 UTC
  • mfrom: (330.2.167 miral0)
  • Revision ID: ci-train-bot@canonical.com-20170127030213-q62prxw1xh7kasbu
* New upstream release 1.1.0 (https://launchpad.net/miral/+milestone/1.1)
  - ABI summary:
    . miral ABI unchanged at 2
  - Enhancements:
    . Compatibility with Mir 0.26 and update API to use the new Mir types and
      enums.
    . Logging of exceptions added to --window-management-trace
    . Rename WindowManagementPolicy::place_new_surface => place_new_window"
  - Bugs fixed:
    . top-level window is not raised along with its child (LP: #1658085)
    . miral-shell depends on default cursor theme being installed
      (LP: #1658159)

Show diffs side-by-side

added added

removed removed

Lines of Context:
108
108
    }
109
109
}
110
110
 
111
 
auto TilingWindowManagerPolicy::place_new_surface(
 
111
auto TilingWindowManagerPolicy::place_new_window(
112
112
    ApplicationInfo const& app_info,
113
113
    WindowSpecification const& request_parameters)
114
114
    -> WindowSpecification
117
117
 
118
118
    parameters.userdata() = app_info.userdata();
119
119
    parameters.state() = parameters.state().is_set() ?
120
 
                         transform_set_state(parameters.state().value()) : mir_surface_state_restored;
 
120
                         transform_set_state(parameters.state().value()) : mir_window_state_restored;
121
121
 
122
122
    if (app_info.application() != spinner.session())
123
123
    {
147
147
 
148
148
void TilingWindowManagerPolicy::advise_new_window(WindowInfo const& window_info)
149
149
{
150
 
    if (window_info.type() == mir_surface_type_normal &&
 
150
    if (window_info.type() == mir_window_type_normal &&
151
151
        !window_info.parent() &&
152
 
        window_info.state() == mir_surface_state_restored)
 
152
        window_info.state() == mir_window_state_restored)
153
153
    {
154
154
        WindowSpecification specification;
155
155
 
156
 
        specification.state() = mir_surface_state_maximized;
 
156
        specification.state() = mir_window_state_maximized;
157
157
 
158
158
        tools.place_and_size_for_state(specification, window_info);
159
159
        constrain_size_and_place(specification, window_info.window(), tile_for(window_info));
229
229
        reset(mods.top_left());
230
230
}
231
231
 
232
 
auto TilingWindowManagerPolicy::transform_set_state(MirSurfaceState value)
233
 
-> MirSurfaceState
 
232
auto TilingWindowManagerPolicy::transform_set_state(MirWindowState value)
 
233
-> MirWindowState
234
234
{
235
235
    switch (value)
236
236
    {
237
237
    default:
238
 
        return mir_surface_state_restored;
 
238
        return mir_window_state_restored;
239
239
 
240
 
    case mir_surface_state_hidden:
241
 
    case mir_surface_state_minimized:
242
 
        return mir_surface_state_hidden;
 
240
    case mir_window_state_hidden:
 
241
    case mir_window_state_minimized:
 
242
        return mir_window_state_hidden;
243
243
    }
244
244
}
245
245
 
285
285
        switch (modifiers & modifier_mask)
286
286
        {
287
287
        case mir_input_event_modifier_alt:
288
 
            toggle(mir_surface_state_maximized);
 
288
            toggle(mir_window_state_maximized);
289
289
            return true;
290
290
 
291
291
        case mir_input_event_modifier_shift:
292
 
            toggle(mir_surface_state_vertmaximized);
 
292
            toggle(mir_window_state_vertmaximized);
293
293
            return true;
294
294
 
295
295
        case mir_input_event_modifier_ctrl:
296
 
            toggle(mir_surface_state_horizmaximized);
 
296
            toggle(mir_window_state_horizmaximized);
297
297
            return true;
298
298
 
299
299
        default:
427
427
    return consumes_event;
428
428
}
429
429
 
430
 
void TilingWindowManagerPolicy::toggle(MirSurfaceState state)
 
430
void TilingWindowManagerPolicy::toggle(MirWindowState state)
431
431
{
432
432
    if (auto window = tools.active_window())
433
433
    {
434
434
        auto& window_info = tools.info_for(window);
435
435
 
436
436
        if (window_info.state() == state)
437
 
            state = mir_surface_state_restored;
 
437
            state = mir_window_state_restored;
438
438
 
439
439
        WindowSpecification mods;
440
440
        mods.state() = transform_set_state(state);