diff options
| author | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2024-03-12 14:09:35 +0100 |
|---|---|---|
| committer | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2024-03-12 14:09:35 +0100 |
| commit | 70a9c4d40768a1221dcc8fd9614aec55f0496394 (patch) | |
| tree | cb265c9afc67f58e64f8a2b54478805f23c02c79 /libdecor/src/libdecor.h | |
| parent | 38af0c823b6338637bccf7d0b70c88d3a861fe6a (diff) | |
Update libdecor to upstream commit 09875530 dated March 3, 2024
Diffstat (limited to 'libdecor/src/libdecor.h')
| -rw-r--r-- | libdecor/src/libdecor.h | 50 |
1 files changed, 48 insertions, 2 deletions
diff --git a/libdecor/src/libdecor.h b/libdecor/src/libdecor.h index af67e2fd5..e52ced0cd 100644 --- a/libdecor/src/libdecor.h +++ b/libdecor/src/libdecor.h @@ -82,6 +82,7 @@ enum libdecor_window_state { LIBDECOR_WINDOW_STATE_TILED_TOP = 1 << 5, LIBDECOR_WINDOW_STATE_TILED_BOTTOM = 1 << 6, LIBDECOR_WINDOW_STATE_SUSPENDED = 1 << 7, + LIBDECOR_WINDOW_STATE_RESIZING = 1 << 8, }; enum libdecor_resize_edge { @@ -104,6 +105,13 @@ enum libdecor_capabilities { LIBDECOR_ACTION_CLOSE = 1 << 4, }; +enum libdecor_wm_capabilities { + LIBDECOR_WM_CAPABILITIES_WINDOW_MENU = 1 << 0, + LIBDECOR_WM_CAPABILITIES_MAXIMIZE = 1 << 1, + LIBDECOR_WM_CAPABILITIES_FULLSCREEN = 1 << 2, + LIBDECOR_WM_CAPABILITIES_MINIMIZE = 1 << 3 +}; + struct libdecor_interface { /** * An error event @@ -185,7 +193,27 @@ libdecor_unref(struct libdecor *context); */ struct libdecor * libdecor_new(struct wl_display *display, - struct libdecor_interface *iface); + const struct libdecor_interface *iface); + +/** + * Create a new libdecor context for the given wl_display and attach user data. + */ +struct libdecor * +libdecor_new_with_user_data(struct wl_display *display, + const struct libdecor_interface *iface, + void *user_data); + +/** + * Get the user data associated with this libdecor context. + */ +void * +libdecor_get_user_data(struct libdecor *context); + +/** + * Set the user data associated with this libdecor context. + */ +void +libdecor_set_user_data(struct libdecor *context, void *user_data); /** * Get the file descriptor used by libdecor. This is similar to @@ -218,7 +246,7 @@ libdecor_dispatch(struct libdecor *context, struct libdecor_frame * libdecor_decorate(struct libdecor *context, struct wl_surface *surface, - struct libdecor_frame_interface *iface, + const struct libdecor_frame_interface *iface, void *user_data); /** @@ -235,6 +263,18 @@ void libdecor_frame_unref(struct libdecor_frame *frame); /** + * Get the user data associated with this libdecor frame. + */ +void * +libdecor_frame_get_user_data(struct libdecor_frame *frame); + +/** + * Set the user data associated with this libdecor frame. + */ +void +libdecor_frame_set_user_data(struct libdecor_frame *frame, void *user_data); + +/** * Set the visibility of the frame. * * If an application wants to be borderless, it can set the frame visibility to @@ -498,6 +538,12 @@ struct xdg_toplevel * libdecor_frame_get_xdg_toplevel(struct libdecor_frame *frame); /** + * Get the supported window manager capabilities for the window. + */ +enum libdecor_wm_capabilities +libdecor_frame_get_wm_capabilities(struct libdecor_frame *frame); + +/** * Create a new content surface state. */ struct libdecor_state * |
