I’d like to use gdk_wayland_monitor_get_wl_output
to get some extended information from the Wayland backend. However, the problem I’m having is that wl_output
is an incomplete type, and I can’t find a definition of it anywhere. I’m just getting to grips with the Wayland architecture so I’m sure I must be misunderstanding something somewhere.
Code snippet:
#include <gtk/gtk.h>
#include <gdk/wayland/gdkwayland.h>
static void
activate (GtkApplication *app,
gpointer user_data)
{
wl_output *output;
GdkDisplayManager *display_manager;
GdkDisplay *default_display;
GListModel *monitors;
GdkMonitor *monitor;
display_manager = gdk_display_manager_get();
default_display = gdk_display_manager_get_default_display(display_manager);
monitors = gdk_display_get_monitors(default_display);
monitor = (GdkMonitor *) g_list_model_get_item(monitors, 0);
output = gdk_wayland_monitor_get_wl_output(monitor);
printf(output->name); // fails because `wl_output` is incomplete
}
int
main (int argc,
char **argv)
{
GtkApplication *app;
int status;
app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE);
g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
status = g_application_run (G_APPLICATION (app), argc, argv);
g_object_unref (app);
return status;
}