diff options
author | Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk> | 2014-02-10 13:22:32 +0100 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2014-02-18 14:04:24 -0800 |
commit | 3b6e68e2c1e3b80173f29b9930f966ce84fd5c77 (patch) | |
tree | fd769218c41e89c4c2f4e80c658a4878a79db69e /desktop-shell/shell.h | |
parent | 8841917e131d095b28e1106506c6d45d404e24f8 (diff) | |
download | weston-3b6e68e2c1e3b80173f29b9930f966ce84fd5c77.tar.gz |
exposay: arrange views per-output
https://bugs.freedesktop.org/show_bug.cgi?id=73173
Diffstat (limited to 'desktop-shell/shell.h')
-rw-r--r-- | desktop-shell/shell.h | 74 |
1 files changed, 44 insertions, 30 deletions
diff --git a/desktop-shell/shell.h b/desktop-shell/shell.h index 4d4f00ab..48ac250e 100644 --- a/desktop-shell/shell.h +++ b/desktop-shell/shell.h @@ -52,6 +52,41 @@ enum exposay_layout_state { EXPOSAY_LAYOUT_ANIMATE_TO_OVERVIEW, /* in transition to all windows */ }; +struct exposay_output { + int num_surfaces; + int grid_size; + int surface_size; + + int hpadding_outer; + int vpadding_outer; + int padding_inner; +}; + +struct exposay { + /* XXX: Make these exposay_surfaces. */ + struct weston_view *focus_prev; + struct weston_view *focus_current; + struct weston_view *clicked; + struct workspace *workspace; + struct weston_seat *seat; + + struct wl_list surface_list; + + struct weston_keyboard_grab grab_kbd; + struct weston_pointer_grab grab_ptr; + + enum exposay_target_state state_target; + enum exposay_layout_state state_cur; + int in_flight; /* number of animations still running */ + + int row_current; + int column_current; + struct exposay_output *cur_output; + + bool mod_pressed; + bool mod_invalid; +}; + struct focus_surface { struct weston_surface *surface; struct weston_view *view; @@ -69,6 +104,14 @@ struct workspace { struct weston_view_animation *focus_animation; }; +struct shell_output { + struct desktop_shell *shell; + struct weston_output *output; + struct exposay_output eoutput; + struct wl_listener destroy_listener; + struct wl_list link; +}; + struct desktop_shell { struct weston_compositor *compositor; @@ -146,36 +189,7 @@ struct desktop_shell { struct wl_event_source *startup_timer; } fade; - struct exposay { - /* XXX: Make these exposay_surfaces. */ - struct weston_view *focus_prev; - struct weston_view *focus_current; - struct weston_view *clicked; - struct workspace *workspace; - struct weston_seat *seat; - struct wl_list surface_list; - - struct weston_keyboard_grab grab_kbd; - struct weston_pointer_grab grab_ptr; - - enum exposay_target_state state_target; - enum exposay_layout_state state_cur; - int in_flight; /* number of animations still running */ - - int num_surfaces; - int grid_size; - int surface_size; - - int hpadding_outer; - int vpadding_outer; - int padding_inner; - - int row_current; - int column_current; - - bool mod_pressed; - bool mod_invalid; - } exposay; + struct exposay exposay; uint32_t binding_modifier; uint32_t exposay_modifier; |