[digesting_libdecor] eliminate libdecor_plugin,libdecor_plugin_gtk, and the functions from the fallback plugin
parent
6c6f116885
commit
af182961cc
|
|
@ -72,9 +72,6 @@ const struct wl_callback_listener init_wl_display_callback_listener;
|
|||
const struct wl_buffer_listener buffer_listener;
|
||||
const struct wl_callback_listener shm_callback_listener;
|
||||
|
||||
struct libdecor_plugin_interface gtk_plugin_iface;
|
||||
struct libdecor_plugin_interface fallback_plugin_iface;
|
||||
|
||||
const struct wl_shm_listener shm_listener;
|
||||
const struct wl_seat_listener seat_listener;
|
||||
const struct wl_pointer_listener pointer_listener;
|
||||
|
|
@ -768,8 +765,7 @@ frame_get_window_size_for(struct libdecor_frame *frame,
|
|||
|
||||
if (frame_has_visible_client_side_decoration(frame)) {
|
||||
int left, right, top, bottom;
|
||||
if (!libdecor_plugin_gtk_frame_get_border_size(0, frame, NULL,
|
||||
&left, &right, &top, &bottom)){
|
||||
if (!libdecor_plugin_gtk_frame_get_border_size(frame, NULL, &left, &right, &top, &bottom)){
|
||||
return false;
|
||||
}
|
||||
*window_width += left + right;
|
||||
|
|
@ -787,8 +783,7 @@ frame_set_window_geometry(struct libdecor_frame *frame,
|
|||
int left, right, top, bottom;
|
||||
|
||||
if (frame_has_visible_client_side_decoration(frame) &&
|
||||
libdecor_plugin_gtk_frame_get_border_size(0, frame, NULL,
|
||||
&left, &right, &top, &bottom)) {
|
||||
libdecor_plugin_gtk_frame_get_border_size(frame, NULL, &left, &right, &top, &bottom)) {
|
||||
x = -left;
|
||||
y = -top;
|
||||
width = content_width + left + right;
|
||||
|
|
@ -825,7 +820,7 @@ libdecor_configuration_get_content_size(struct libdecor_configuration *configura
|
|||
|
||||
/* Update window state for correct border size calculation */
|
||||
frame->priv->window_state = configuration->window_state;
|
||||
if (!libdecor_plugin_gtk_frame_get_border_size(0, frame, configuration, &left, &right, &top, &bottom)){
|
||||
if (!libdecor_plugin_gtk_frame_get_border_size(frame, configuration, &left, &right, &top, &bottom)){
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -984,8 +979,7 @@ xdg_toplevel_configure_bounds(void *user_data,
|
|||
int left = 0, top = 0, right = 0, bottom = 0;
|
||||
|
||||
if (frame_has_visible_client_side_decoration(frame)) {
|
||||
libdecor_plugin_gtk_frame_get_border_size(0, frame, NULL,
|
||||
&left, &right, &top, &bottom);
|
||||
libdecor_plugin_gtk_frame_get_border_size(frame, NULL, &left, &right, &top, &bottom);
|
||||
}
|
||||
|
||||
width -= left + right;
|
||||
|
|
@ -1124,7 +1118,7 @@ libdecor_decorate(struct wl_surface *wl_surface, void *user_data){
|
|||
return NULL;
|
||||
}
|
||||
|
||||
frame = libdecor_plugin_gtk_frame_new(0);
|
||||
frame = libdecor_plugin_gtk_frame_new();
|
||||
if (!frame){
|
||||
return NULL;
|
||||
}
|
||||
|
|
@ -1185,7 +1179,7 @@ libdecor_frame_unref(struct libdecor_frame *frame)
|
|||
if (frame_priv->xdg_surface)
|
||||
xdg_surface_destroy(frame_priv->xdg_surface);
|
||||
|
||||
libdecor_plugin_gtk_frame_free(0, frame);
|
||||
libdecor_plugin_gtk_frame_free(frame);
|
||||
|
||||
free(frame_priv->state.title);
|
||||
free(frame_priv->state.app_id);
|
||||
|
|
@ -1240,10 +1234,10 @@ libdecor_frame_set_visibility(struct libdecor_frame *frame,
|
|||
/* enable/disable decorations that are managed by a plugin */
|
||||
if (frame_has_visible_client_side_decoration(frame)) {
|
||||
/* show client-side decorations */
|
||||
libdecor_plugin_gtk_frame_commit(0, frame, NULL, NULL);
|
||||
libdecor_plugin_gtk_frame_commit(frame, NULL, NULL);
|
||||
} else {
|
||||
/* destroy client-side decorations */
|
||||
libdecor_plugin_gtk_frame_free(0, frame);
|
||||
libdecor_plugin_gtk_frame_free(frame);
|
||||
}
|
||||
|
||||
frame_set_window_geometry(frame,
|
||||
|
|
@ -1290,7 +1284,7 @@ libdecor_frame_set_title(struct libdecor_frame *frame,
|
|||
|
||||
xdg_toplevel_set_title(frame_priv->xdg_toplevel, title);
|
||||
|
||||
libdecor_plugin_gtk_frame_property_changed(0, frame);
|
||||
libdecor_plugin_gtk_frame_property_changed(frame);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1328,7 +1322,7 @@ notify_on_capability_change(struct libdecor_frame *frame,
|
|||
frame->priv->content_height == 0)
|
||||
return;
|
||||
|
||||
libdecor_plugin_gtk_frame_property_changed(0, frame);
|
||||
libdecor_plugin_gtk_frame_property_changed(frame);
|
||||
|
||||
if (!libdecor_frame_has_capability(frame, LIBDECOR_ACTION_RESIZE)) {
|
||||
frame->priv->interactive_limits = frame->priv->state.content_limits;
|
||||
|
|
@ -1384,13 +1378,13 @@ libdecor_frame_has_capability(struct libdecor_frame *frame, enum libdecor_capabi
|
|||
void
|
||||
libdecor_frame_popup_grab(struct libdecor_frame *frame, const char *seat_name){
|
||||
struct libdecor_frame_private *frame_priv = frame->priv;
|
||||
libdecor_plugin_gtk_frame_popup_grab(0, frame, seat_name);
|
||||
libdecor_plugin_gtk_frame_popup_grab(frame, seat_name);
|
||||
}
|
||||
|
||||
void
|
||||
libdecor_frame_popup_ungrab(struct libdecor_frame *frame, const char *seat_name){
|
||||
struct libdecor_frame_private *frame_priv = frame->priv;
|
||||
libdecor_plugin_gtk_frame_popup_ungrab(0, frame, seat_name);
|
||||
libdecor_plugin_gtk_frame_popup_ungrab(frame, seat_name);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
@ -1435,8 +1429,7 @@ libdecor_frame_translate_coordinate(struct libdecor_frame *frame,
|
|||
|
||||
if (frame_has_visible_client_side_decoration(frame)){
|
||||
int left, top;
|
||||
libdecor_plugin_gtk_frame_get_border_size(0, frame, NULL,
|
||||
&left, NULL, &top, NULL);
|
||||
libdecor_plugin_gtk_frame_get_border_size(frame, NULL, &left, NULL, &top, NULL);
|
||||
*frame_x += left;
|
||||
*frame_y += top;
|
||||
}
|
||||
|
|
@ -1707,10 +1700,10 @@ libdecor_frame_commit(struct libdecor_frame *frame,
|
|||
|
||||
/* switch between decoration modes */
|
||||
if (frame_has_visible_client_side_decoration(frame)) {
|
||||
libdecor_plugin_gtk_frame_commit(0, frame, state,
|
||||
libdecor_plugin_gtk_frame_commit(frame, state,
|
||||
configuration);
|
||||
} else {
|
||||
libdecor_plugin_gtk_frame_free(0, frame);
|
||||
libdecor_plugin_gtk_frame_free(frame);
|
||||
}
|
||||
|
||||
frame_set_window_geometry(frame,
|
||||
|
|
@ -1816,7 +1809,7 @@ notify_error(enum libdecor_error error, const char *message)
|
|||
{
|
||||
ctx.has_error = true;
|
||||
libdecorevent__error(error, message);
|
||||
libdecor_plugin_gtk_destroy(0);
|
||||
libdecor_plugin_gtk_destroy();
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
@ -1828,9 +1821,8 @@ finish_init(void){
|
|||
}
|
||||
|
||||
int
|
||||
libdecor_dispatch(int timeout)
|
||||
{
|
||||
return libdecor_plugin_gtk_dispatch(0, timeout);
|
||||
libdecor_dispatch(int timeout){
|
||||
return libdecor_plugin_gtk_dispatch(timeout);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
@ -1868,7 +1860,7 @@ libdecor_notify_plugin_error(enum libdecor_error error,
|
|||
|
||||
void
|
||||
cleanup(void){
|
||||
libdecor_plugin_gtk_destroy(0);
|
||||
libdecor_plugin_gtk_destroy();
|
||||
if (ctx.wl_subcompositor != 0){
|
||||
wl_subcompositor_destroy(ctx.wl_subcompositor);
|
||||
}
|
||||
|
|
@ -1883,160 +1875,6 @@ cleanup(void){
|
|||
}
|
||||
}
|
||||
|
||||
//#include "libdecor-fallback.c"
|
||||
static void
|
||||
libdecor_plugin_fallback_destroy(struct libdecor_plugin *plugin)
|
||||
{}
|
||||
|
||||
static int
|
||||
libdecor_plugin_fallback_get_fd(struct libdecor_plugin *plugin)
|
||||
{
|
||||
struct libdecor_plugin_fallback *plugin_fallback =
|
||||
(struct libdecor_plugin_fallback *) plugin;
|
||||
|
||||
return wl_display_get_fd(ctx.wl_display);
|
||||
}
|
||||
|
||||
static int
|
||||
libdecor_plugin_fallback_dispatch(struct libdecor_plugin *plugin,
|
||||
int timeout)
|
||||
{
|
||||
struct libdecor_plugin_fallback *plugin_fallback =
|
||||
(struct libdecor_plugin_fallback *) plugin;
|
||||
struct wl_display *wl_display = ctx.wl_display;
|
||||
struct pollfd fds[1];
|
||||
int ret;
|
||||
int dispatch_count = 0;
|
||||
|
||||
while (wl_display_prepare_read(wl_display) != 0)
|
||||
dispatch_count += wl_display_dispatch_pending(wl_display);
|
||||
|
||||
if (wl_display_flush(wl_display) < 0 &&
|
||||
errno != EAGAIN) {
|
||||
wl_display_cancel_read(wl_display);
|
||||
return -errno;
|
||||
}
|
||||
|
||||
fds[0] = (struct pollfd) { wl_display_get_fd(wl_display), POLLIN };
|
||||
|
||||
ret = poll(fds, ARRAY_LENGTH(fds), timeout);
|
||||
if (ret > 0) {
|
||||
if (fds[0].revents & POLLIN) {
|
||||
wl_display_read_events(wl_display);
|
||||
dispatch_count += wl_display_dispatch_pending(wl_display);
|
||||
return dispatch_count;
|
||||
} else {
|
||||
wl_display_cancel_read(wl_display);
|
||||
return dispatch_count;
|
||||
}
|
||||
} else if (ret == 0) {
|
||||
wl_display_cancel_read(wl_display);
|
||||
return dispatch_count;
|
||||
} else {
|
||||
wl_display_cancel_read(wl_display);
|
||||
return -errno;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
libdecor_plugin_fallback_set_handle_application_cursor(struct libdecor_plugin *plugin,
|
||||
bool handle_cursor)
|
||||
{
|
||||
}
|
||||
|
||||
static struct libdecor_frame *
|
||||
libdecor_plugin_fallback_frame_new(struct libdecor_plugin *plugin)
|
||||
{
|
||||
struct libdecor_frame *frame;
|
||||
|
||||
frame = calloc(1, sizeof *frame);
|
||||
|
||||
return frame;
|
||||
}
|
||||
|
||||
static void
|
||||
libdecor_plugin_fallback_frame_free(struct libdecor_plugin *plugin,
|
||||
struct libdecor_frame *frame)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
libdecor_plugin_fallback_frame_commit(struct libdecor_plugin *plugin,
|
||||
struct libdecor_frame *frame,
|
||||
struct libdecor_state *state,
|
||||
struct libdecor_configuration *configuration)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
libdecor_plugin_fallback_frame_property_changed(struct libdecor_plugin *plugin,
|
||||
struct libdecor_frame *frame)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
libdecor_plugin_fallback_frame_popup_grab(struct libdecor_plugin *plugin,
|
||||
struct libdecor_frame *frame,
|
||||
const char *seat_name)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
libdecor_plugin_fallback_frame_popup_ungrab(struct libdecor_plugin *plugin,
|
||||
struct libdecor_frame *frame,
|
||||
const char *seat_name)
|
||||
{
|
||||
}
|
||||
|
||||
static bool
|
||||
libdecor_plugin_fallback_frame_get_border_size(struct libdecor_plugin *plugin,
|
||||
struct libdecor_frame *frame,
|
||||
struct libdecor_configuration *configuration,
|
||||
int *left,
|
||||
int *right,
|
||||
int *top,
|
||||
int *bottom)
|
||||
{
|
||||
if (left)
|
||||
*left = 0;
|
||||
if (right)
|
||||
*right = 0;
|
||||
if (top)
|
||||
*top = 0;
|
||||
if (bottom)
|
||||
*bottom = 0;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
struct libdecor_plugin_interface fallback_plugin_iface = {
|
||||
.destroy = libdecor_plugin_fallback_destroy,
|
||||
.get_fd = libdecor_plugin_fallback_get_fd,
|
||||
.dispatch = libdecor_plugin_fallback_dispatch,
|
||||
|
||||
.set_handle_application_cursor = libdecor_plugin_fallback_set_handle_application_cursor,
|
||||
|
||||
.frame_new = libdecor_plugin_fallback_frame_new,
|
||||
.frame_free = libdecor_plugin_fallback_frame_free,
|
||||
.frame_commit = libdecor_plugin_fallback_frame_commit,
|
||||
.frame_property_changed = libdecor_plugin_fallback_frame_property_changed,
|
||||
.frame_popup_grab = libdecor_plugin_fallback_frame_popup_grab,
|
||||
.frame_popup_ungrab = libdecor_plugin_fallback_frame_popup_ungrab,
|
||||
.frame_get_border_size = libdecor_plugin_fallback_frame_get_border_size,
|
||||
};
|
||||
|
||||
struct libdecor_plugin *
|
||||
libdecor_fallback_plugin_new(void){
|
||||
struct libdecor_plugin_fallback *plugin;
|
||||
|
||||
plugin = calloc(1, sizeof *plugin);
|
||||
plugin->context = 0;
|
||||
|
||||
libdecor_notify_plugin_ready();
|
||||
|
||||
return &plugin->plugin;
|
||||
}
|
||||
|
||||
//#include "libdecor-cairo-blur.c"
|
||||
int
|
||||
blur_surface(cairo_surface_t *surface, int margin)
|
||||
|
|
@ -2561,7 +2399,7 @@ static bool
|
|||
update_local_cursor(struct seat *seat);
|
||||
|
||||
static void
|
||||
libdecor_plugin_gtk_destroy(struct libdecor_plugin *plugin)
|
||||
libdecor_plugin_gtk_destroy(void)
|
||||
{
|
||||
struct seat *seat, *seat_tmp;
|
||||
struct output *output, *output_tmp;
|
||||
|
|
@ -2635,20 +2473,12 @@ libdecor_frame_gtk_new(void){
|
|||
}
|
||||
|
||||
static int
|
||||
libdecor_plugin_gtk_get_fd(struct libdecor_plugin *plugin)
|
||||
{
|
||||
struct libdecor_plugin_gtk *plugin_gtk =
|
||||
(struct libdecor_plugin_gtk *) plugin;
|
||||
struct wl_display *wl_display = ctx.wl_display;
|
||||
|
||||
return wl_display_get_fd(wl_display);
|
||||
libdecor_plugin_gtk_get_fd(void){
|
||||
return wl_display_get_fd(ctx.wl_display);
|
||||
}
|
||||
|
||||
static int
|
||||
libdecor_plugin_gtk_dispatch(struct libdecor_plugin *plugin, int timeout)
|
||||
{
|
||||
struct libdecor_plugin_gtk *plugin_gtk =
|
||||
(struct libdecor_plugin_gtk *) plugin;
|
||||
libdecor_plugin_gtk_dispatch(int timeout){
|
||||
struct wl_display *wl_display = ctx.wl_display;
|
||||
struct pollfd fds[1];
|
||||
int ret;
|
||||
|
|
@ -2687,21 +2517,14 @@ libdecor_plugin_gtk_dispatch(struct libdecor_plugin *plugin, int timeout)
|
|||
}
|
||||
|
||||
static void
|
||||
libdecor_plugin_gtk_set_handle_application_cursor(struct libdecor_plugin *plugin,
|
||||
bool handle_cursor)
|
||||
{
|
||||
libdecor_plugin_gtk_set_handle_application_cursor(bool handle_cursor){
|
||||
ctx.handle_cursor = handle_cursor;
|
||||
}
|
||||
|
||||
static struct libdecor_frame *
|
||||
libdecor_plugin_gtk_frame_new(struct libdecor_plugin *plugin)
|
||||
{
|
||||
struct libdecor_plugin_gtk *plugin_gtk =
|
||||
(struct libdecor_plugin_gtk *) plugin;
|
||||
libdecor_plugin_gtk_frame_new(void){
|
||||
struct libdecor_frame_gtk *frame_gtk;
|
||||
|
||||
frame_gtk = libdecor_frame_gtk_new();
|
||||
|
||||
return &frame_gtk->frame;
|
||||
}
|
||||
|
||||
|
|
@ -2734,10 +2557,8 @@ const struct wl_buffer_listener buffer_listener = {
|
|||
buffer_release
|
||||
};
|
||||
|
||||
struct libdecor_plugin_gtk;
|
||||
static struct buffer *
|
||||
create_shm_buffer(struct libdecor_plugin_gtk *plugin_gtk,
|
||||
int width,
|
||||
create_shm_buffer(int width,
|
||||
int height,
|
||||
bool opaque,
|
||||
int scale)
|
||||
|
|
@ -2826,9 +2647,7 @@ free_border_component(struct border_component *border_component)
|
|||
}
|
||||
|
||||
static void
|
||||
libdecor_plugin_gtk_frame_free(struct libdecor_plugin *plugin,
|
||||
struct libdecor_frame *frame)
|
||||
{
|
||||
libdecor_plugin_gtk_frame_free(struct libdecor_frame *frame){
|
||||
struct libdecor_frame_gtk *frame_gtk =
|
||||
(struct libdecor_frame_gtk *) frame;
|
||||
|
||||
|
|
@ -2908,10 +2727,7 @@ redraw_scale(struct libdecor_frame_gtk *frame_gtk,
|
|||
}
|
||||
|
||||
static bool
|
||||
add_surface_output(struct libdecor_plugin_gtk *plugin_gtk,
|
||||
struct wl_output *wl_output,
|
||||
struct wl_list *list)
|
||||
{
|
||||
add_surface_output(struct wl_output *wl_output, struct wl_list *list){
|
||||
struct output *output;
|
||||
struct surface_output *surface_output;
|
||||
|
||||
|
|
@ -2944,7 +2760,7 @@ surface_enter(void *data,
|
|||
if (cmpnt == NULL)
|
||||
return;
|
||||
|
||||
if (!add_surface_output(0, wl_output, &cmpnt->output_list))
|
||||
if (!add_surface_output(wl_output, &cmpnt->output_list))
|
||||
return;
|
||||
|
||||
if (redraw_scale(frame_gtk, cmpnt))
|
||||
|
|
@ -3492,8 +3308,7 @@ draw_border_component(struct libdecor_frame_gtk *frame_gtk,
|
|||
}
|
||||
|
||||
if (!buffer)
|
||||
buffer = create_shm_buffer(0,
|
||||
component_width,
|
||||
buffer = create_shm_buffer(component_width,
|
||||
component_height,
|
||||
border_component->opaque,
|
||||
border_component->scale);
|
||||
|
|
@ -3635,8 +3450,7 @@ window_state_to_decoration_type(enum libdecor_window_state window_state)
|
|||
}
|
||||
|
||||
static void
|
||||
libdecor_plugin_gtk_frame_commit(struct libdecor_plugin *plugin,
|
||||
struct libdecor_frame *frame,
|
||||
libdecor_plugin_gtk_frame_commit(struct libdecor_frame *frame,
|
||||
struct libdecor_state *state,
|
||||
struct libdecor_configuration *configuration)
|
||||
{
|
||||
|
|
@ -3685,8 +3499,7 @@ libdecor_plugin_gtk_frame_commit(struct libdecor_plugin *plugin,
|
|||
}
|
||||
|
||||
static void
|
||||
libdecor_plugin_gtk_frame_property_changed(struct libdecor_plugin *plugin,
|
||||
struct libdecor_frame *frame)
|
||||
libdecor_plugin_gtk_frame_property_changed(struct libdecor_frame *frame)
|
||||
{
|
||||
struct libdecor_frame_gtk *frame_gtk =
|
||||
(struct libdecor_frame_gtk *) frame;
|
||||
|
|
@ -3825,8 +3638,7 @@ synthesize_pointer_leave(struct seat *seat)
|
|||
}
|
||||
|
||||
static void
|
||||
libdecor_plugin_gtk_frame_popup_grab(struct libdecor_plugin *plugin,
|
||||
struct libdecor_frame *frame,
|
||||
libdecor_plugin_gtk_frame_popup_grab(struct libdecor_frame *frame,
|
||||
const char *seat_name)
|
||||
{
|
||||
struct libdecor_frame_gtk *frame_gtk =
|
||||
|
|
@ -3850,8 +3662,7 @@ libdecor_plugin_gtk_frame_popup_grab(struct libdecor_plugin *plugin,
|
|||
}
|
||||
|
||||
static void
|
||||
libdecor_plugin_gtk_frame_popup_ungrab(struct libdecor_plugin *plugin,
|
||||
struct libdecor_frame *frame,
|
||||
libdecor_plugin_gtk_frame_popup_ungrab(struct libdecor_frame *frame,
|
||||
const char *seat_name)
|
||||
{
|
||||
struct libdecor_frame_gtk *frame_gtk =
|
||||
|
|
@ -3876,8 +3687,7 @@ libdecor_plugin_gtk_frame_popup_ungrab(struct libdecor_plugin *plugin,
|
|||
}
|
||||
|
||||
static bool
|
||||
libdecor_plugin_gtk_frame_get_border_size(struct libdecor_plugin *plugin,
|
||||
struct libdecor_frame *frame,
|
||||
libdecor_plugin_gtk_frame_get_border_size(struct libdecor_frame *frame,
|
||||
struct libdecor_configuration *configuration,
|
||||
int *left,
|
||||
int *right,
|
||||
|
|
@ -3924,24 +3734,6 @@ libdecor_plugin_gtk_frame_get_border_size(struct libdecor_plugin *plugin,
|
|||
return true;
|
||||
}
|
||||
|
||||
struct libdecor_plugin_interface gtk_plugin_iface = {
|
||||
.destroy = libdecor_plugin_gtk_destroy,
|
||||
.get_fd = libdecor_plugin_gtk_get_fd,
|
||||
.dispatch = libdecor_plugin_gtk_dispatch,
|
||||
|
||||
.set_handle_application_cursor = libdecor_plugin_gtk_set_handle_application_cursor,
|
||||
|
||||
.frame_new = libdecor_plugin_gtk_frame_new,
|
||||
.frame_free = libdecor_plugin_gtk_frame_free,
|
||||
.frame_commit = libdecor_plugin_gtk_frame_commit,
|
||||
.frame_property_changed = libdecor_plugin_gtk_frame_property_changed,
|
||||
|
||||
.frame_popup_grab = libdecor_plugin_gtk_frame_popup_grab,
|
||||
.frame_popup_ungrab = libdecor_plugin_gtk_frame_popup_ungrab,
|
||||
|
||||
.frame_get_border_size = libdecor_plugin_gtk_frame_get_border_size,
|
||||
};
|
||||
|
||||
static void
|
||||
cursor_surface_enter(void *data,
|
||||
struct wl_surface *wl_surface,
|
||||
|
|
@ -4794,10 +4586,6 @@ output_removed(struct output *output)
|
|||
free(output);
|
||||
}
|
||||
|
||||
static struct libdecor_plugin_priority priorities[] = {
|
||||
{ NULL, LIBDECOR_PLUGIN_PRIORITY_HIGH }
|
||||
};
|
||||
|
||||
//#include "desktop-settings.c"
|
||||
|
||||
static bool
|
||||
|
|
|
|||
|
|
@ -114,62 +114,11 @@ enum libdecor_wm_capabilities {
|
|||
// libdecor-plugin.h
|
||||
|
||||
struct libdecor_frame_private;
|
||||
|
||||
struct libdecor_frame {
|
||||
struct libdecor_frame_private *priv;
|
||||
struct wl_list link;
|
||||
};
|
||||
|
||||
struct libdecor_plugin_private;
|
||||
|
||||
struct libdecor_plugin {
|
||||
struct libdecor_plugin_private *priv;
|
||||
};
|
||||
|
||||
#define LIBDECOR_PLUGIN_PRIORITY_HIGH 1000
|
||||
#define LIBDECOR_PLUGIN_PRIORITY_MEDIUM 100
|
||||
#define LIBDECOR_PLUGIN_PRIORITY_LOW 0
|
||||
|
||||
struct libdecor_plugin_priority {
|
||||
const char *desktop;
|
||||
int priority;
|
||||
};
|
||||
|
||||
struct libdecor_plugin_interface {
|
||||
void (* destroy)(struct libdecor_plugin *plugin);
|
||||
|
||||
int (* get_fd)(struct libdecor_plugin *plugin);
|
||||
int (* dispatch)(struct libdecor_plugin *plugin,
|
||||
int timeout);
|
||||
|
||||
void (* set_handle_application_cursor)(struct libdecor_plugin *plugin,
|
||||
bool handle_cursor);
|
||||
|
||||
struct libdecor_frame * (* frame_new)(struct libdecor_plugin *plugin);
|
||||
void (* frame_free)(struct libdecor_plugin *plugin,
|
||||
struct libdecor_frame *frame);
|
||||
void (* frame_commit)(struct libdecor_plugin *plugin,
|
||||
struct libdecor_frame *frame,
|
||||
struct libdecor_state *state,
|
||||
struct libdecor_configuration *configuration);
|
||||
void (*frame_property_changed)(struct libdecor_plugin *plugin,
|
||||
struct libdecor_frame *frame);
|
||||
void (* frame_popup_grab)(struct libdecor_plugin *plugin,
|
||||
struct libdecor_frame *frame,
|
||||
const char *seat_name);
|
||||
void (* frame_popup_ungrab)(struct libdecor_plugin *plugin,
|
||||
struct libdecor_frame *frame,
|
||||
const char *seat_name);
|
||||
|
||||
bool (* frame_get_border_size)(struct libdecor_plugin *plugin,
|
||||
struct libdecor_frame *frame,
|
||||
struct libdecor_configuration *configuration,
|
||||
int *left,
|
||||
int *right,
|
||||
int *top,
|
||||
int *bottom);
|
||||
};
|
||||
|
||||
// #include "libdecor.c"
|
||||
|
||||
struct libdecor_state {
|
||||
|
|
@ -237,17 +186,6 @@ struct libdecor_frame_private {
|
|||
bool visible;
|
||||
};
|
||||
|
||||
struct libdecor_plugin_private {
|
||||
struct libdecor_plugin_interface *iface;
|
||||
};
|
||||
|
||||
// #include "libdecor-fallback.c"
|
||||
|
||||
struct libdecor_plugin_fallback {
|
||||
struct libdecor_plugin plugin;
|
||||
struct libdecor *context;
|
||||
};
|
||||
|
||||
// #include "desktop-settings.h"
|
||||
|
||||
enum libdecor_color_scheme {
|
||||
|
|
@ -543,12 +481,6 @@ int libdecor_state_get_content_height(struct libdecor_state *state);
|
|||
|
||||
enum libdecor_window_state libdecor_state_get_window_state(struct libdecor_state *state);
|
||||
|
||||
void libdecor_plugin_release(struct libdecor_plugin *plugin);
|
||||
|
||||
// #include "libdecor-fallback.h"
|
||||
|
||||
struct libdecor_plugin * libdecor_fallback_plugin_new(void);
|
||||
|
||||
// #include "libdecor-cairo-blur.h"
|
||||
|
||||
int blur_surface(cairo_surface_t *surface, int margin);
|
||||
|
|
@ -572,7 +504,6 @@ static void finish_init(void);
|
|||
|
||||
//#include "plugins/gtk/libdecor-gtk.c"
|
||||
|
||||
static void libdecor_plugin_gtk_destroy(struct libdecor_plugin *plugin);
|
||||
|
||||
static void init_wl_output( uint32_t id, uint32_t version);
|
||||
|
||||
|
|
@ -580,19 +511,18 @@ static void output_removed(struct output *output);
|
|||
|
||||
static const char *libdecor_gtk_proxy_tag = "libdecor-gtk";
|
||||
|
||||
static void libdecor_plugin_gtk_destroy(struct libdecor_plugin *plugin);
|
||||
static int libdecor_plugin_gtk_get_fd(struct libdecor_plugin *plugin);
|
||||
static int libdecor_plugin_gtk_get_fd(struct libdecor_plugin *plugin);
|
||||
static int libdecor_plugin_gtk_dispatch(struct libdecor_plugin *plugin, int timeout);
|
||||
static void libdecor_plugin_gtk_set_handle_application_cursor(struct libdecor_plugin *plugin, bool handle_cursor);
|
||||
static struct libdecor_frame * libdecor_plugin_gtk_frame_new(struct libdecor_plugin *plugin);
|
||||
static void libdecor_plugin_gtk_frame_free(struct libdecor_plugin *plugin, struct libdecor_frame *frame);
|
||||
static void libdecor_plugin_gtk_frame_commit(struct libdecor_plugin *plugin, struct libdecor_frame *frame, struct libdecor_state *state, struct libdecor_configuration *configuration);
|
||||
static void libdecor_plugin_gtk_frame_property_changed(struct libdecor_plugin *plugin, struct libdecor_frame *frame);
|
||||
static void libdecor_plugin_gtk_frame_popup_grab(struct libdecor_plugin *plugin, struct libdecor_frame *frame, const char *seat_name);
|
||||
static void libdecor_plugin_gtk_frame_popup_ungrab(struct libdecor_plugin *plugin, struct libdecor_frame *frame, const char *seat_name);
|
||||
static bool libdecor_plugin_gtk_frame_get_border_size(struct libdecor_plugin *plugin, struct libdecor_frame *frame, struct libdecor_configuration *configuration,
|
||||
int *left, int *right, int *top, int *bottom);
|
||||
static void libdecor_plugin_gtk_destroy(void);
|
||||
static int libdecor_plugin_gtk_get_fd(void);
|
||||
static int libdecor_plugin_gtk_get_fd(void);
|
||||
static int libdecor_plugin_gtk_dispatch(int timeout);
|
||||
static void libdecor_plugin_gtk_set_handle_application_cursor(bool handle_cursor);
|
||||
static struct libdecor_frame * libdecor_plugin_gtk_frame_new(void);
|
||||
static void libdecor_plugin_gtk_frame_free(struct libdecor_frame *frame);
|
||||
static void libdecor_plugin_gtk_frame_commit(struct libdecor_frame *frame, struct libdecor_state *state, struct libdecor_configuration *configuration);
|
||||
static void libdecor_plugin_gtk_frame_property_changed(struct libdecor_frame *frame);
|
||||
static void libdecor_plugin_gtk_frame_popup_grab(struct libdecor_frame *frame, const char *seat_name);
|
||||
static void libdecor_plugin_gtk_frame_popup_ungrab(struct libdecor_frame *frame, const char *seat_name);
|
||||
static bool libdecor_plugin_gtk_frame_get_border_size(struct libdecor_frame *frame, struct libdecor_configuration *configuration, int *left, int *right, int *top, int *bottom);
|
||||
|
||||
// digesting_libdecor
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue