diff options
| author | Tony Crisci <tony@dubstepdish.com> | 2018-03-28 00:20:39 -0400 | 
|---|---|---|
| committer | Tony Crisci <tony@dubstepdish.com> | 2018-03-28 00:20:39 -0400 | 
| commit | 41e54ba632ae5804d09f75f1af4a708ea33932cf (patch) | |
| tree | 79a523c5dc4bdf148361ebcda47c4d6a9027e98a /include/rootston | |
| parent | edb643fc6c55b47dd766b4e516b16108719d1ecd (diff) | |
| parent | 330ee081269790922a46091399b616b12ce14f51 (diff) | |
| download | wlroots-41e54ba632ae5804d09f75f1af4a708ea33932cf.tar.xz | |
Merge branch 'master' into xdg-positioner
Diffstat (limited to 'include/rootston')
| -rw-r--r-- | include/rootston/config.h | 2 | ||||
| -rw-r--r-- | include/rootston/desktop.h | 5 | ||||
| -rw-r--r-- | include/rootston/layers.h | 25 | ||||
| -rw-r--r-- | include/rootston/output.h | 8 | ||||
| -rw-r--r-- | include/rootston/view.h | 5 | 
5 files changed, 44 insertions, 1 deletions
| diff --git a/include/rootston/config.h b/include/rootston/config.h index 9926d9c2..0a67ac1e 100644 --- a/include/rootston/config.h +++ b/include/rootston/config.h @@ -66,8 +66,10 @@ struct roots_config {  	struct wl_list bindings;  	struct wl_list keyboards;  	struct wl_list cursors; +  	char *config_path;  	char *startup_cmd; +	bool debug_damage_tracking;  };  /** diff --git a/include/rootston/desktop.h b/include/rootston/desktop.h index 5986c96f..5714aa0a 100644 --- a/include/rootston/desktop.h +++ b/include/rootston/desktop.h @@ -7,6 +7,7 @@  #include <wlr/types/wlr_compositor.h>  #include <wlr/types/wlr_gamma_control.h>  #include <wlr/types/wlr_idle.h> +#include <wlr/types/wlr_layer_shell.h>  #include <wlr/types/wlr_linux_dmabuf.h>  #include <wlr/types/wlr_list.h>  #include <wlr/types/wlr_output_layout.h> @@ -48,12 +49,14 @@ struct roots_desktop {  	struct wlr_idle *idle;  	struct wlr_idle_inhibit_manager_v1 *idle_inhibit;  	struct wlr_linux_dmabuf *linux_dmabuf; +	struct wlr_layer_shell *layer_shell;  	struct wl_listener new_output;  	struct wl_listener layout_change;  	struct wl_listener xdg_shell_v6_surface;  	struct wl_listener xdg_shell_surface;  	struct wl_listener wl_shell_surface; +	struct wl_listener layer_shell_surface;  	struct wl_listener decoration_new;  #ifdef WLR_HAS_XWAYLAND @@ -83,10 +86,12 @@ void view_update_size(struct roots_view *view, uint32_t width, uint32_t height);  void view_initial_focus(struct roots_view *view);  void view_map(struct roots_view *view, struct wlr_surface *surface);  void view_unmap(struct roots_view *view); +void view_arrange_maximized(struct roots_view *view);  void handle_xdg_shell_v6_surface(struct wl_listener *listener, void *data);  void handle_xdg_shell_surface(struct wl_listener *listener, void *data);  void handle_wl_shell_surface(struct wl_listener *listener, void *data); +void handle_layer_shell_surface(struct wl_listener *listener, void *data);  void handle_xwayland_surface(struct wl_listener *listener, void *data);  #endif diff --git a/include/rootston/layers.h b/include/rootston/layers.h new file mode 100644 index 00000000..35f5399e --- /dev/null +++ b/include/rootston/layers.h @@ -0,0 +1,25 @@ +#ifndef ROOTSTON_LAYERS_H +#define ROOTSTON_LAYERS_H +#include <stdbool.h> +#include <wlr/config.h> +#include <wlr/types/wlr_box.h> +#include <wlr/types/wlr_surface.h> +#include <wlr/types/wlr_layer_shell.h> + +struct roots_layer_surface { +	struct wlr_layer_surface *layer_surface; +	struct wl_list link; + +	struct wl_listener destroy; +	struct wl_listener map; +	struct wl_listener unmap; +	struct wl_listener surface_commit; +	struct wl_listener output_destroy; +	struct wl_listener output_mode; +	struct wl_listener output_transform; + +	bool configured; +	struct wlr_box geo; +}; + +#endif diff --git a/include/rootston/output.h b/include/rootston/output.h index a852a204..e40ad776 100644 --- a/include/rootston/output.h +++ b/include/rootston/output.h @@ -4,6 +4,7 @@  #include <pixman.h>  #include <time.h>  #include <wayland-server.h> +#include <wlr/types/wlr_box.h>  #include <wlr/types/wlr_output_damage.h>  struct roots_desktop; @@ -14,10 +15,13 @@ struct roots_output {  	struct wl_list link; // roots_desktop:outputs  	struct roots_view *fullscreen_view; +	struct wl_list layers[4]; // layer_surface::link  	struct timespec last_frame;  	struct wlr_output_damage *damage; +	struct wlr_box usable_area; +  	struct wl_listener destroy;  	struct wl_listener damage_frame;  	struct wl_listener damage_destroy; @@ -35,5 +39,9 @@ void output_damage_from_view(struct roots_output *output,  	struct roots_view *view);  void output_damage_whole_drag_icon(struct roots_output *output,  	struct roots_drag_icon *icon); +void output_damage_from_local_surface(struct roots_output *output, +	struct wlr_surface *surface, double ox, double oy, float rotation); +void output_damage_whole_local_surface(struct roots_output *output, +	struct wlr_surface *surface, double ox, double oy, float rotation);  #endif diff --git a/include/rootston/view.h b/include/rootston/view.h index 775f3d11..6e746e8c 100644 --- a/include/rootston/view.h +++ b/include/rootston/view.h @@ -1,6 +1,5 @@  #ifndef ROOTSTON_VIEW_H  #define ROOTSTON_VIEW_H -  #include <stdbool.h>  #include <wlr/config.h>  #include <wlr/types/wlr_box.h> @@ -177,6 +176,8 @@ struct roots_xdg_popup_v6 {  	struct roots_view_child view_child;  	struct wlr_xdg_popup_v6 *wlr_popup;  	struct wl_listener destroy; +	struct wl_listener map; +	struct wl_listener unmap;  	struct wl_listener new_popup;  }; @@ -184,6 +185,8 @@ struct roots_xdg_popup {  	struct roots_view_child view_child;  	struct wlr_xdg_popup *wlr_popup;  	struct wl_listener destroy; +	struct wl_listener map; +	struct wl_listener unmap;  	struct wl_listener new_popup;  }; | 
