WindowProperties

class WindowProperties(pointer: <Error class: unknown class><<Error class: unknown class>>)

Window properties of a #WebKitWebView.

The content of a #WebKitWebView can request to change certain properties of the window containing the view. This can include the x, y position of the window, the width and height but also if a toolbar, scrollbar, statusbar, locationbar should be visible to the user, and the request to show the #WebKitWebView fullscreen.

The #WebKitWebView::ready-to-show signal handler is the proper place to apply the initial window properties. Then you can monitor the #WebKitWindowProperties by connecting to ::notify signal.

static void ready_to_show_cb (WebKitWebView *web_view, gpointer user_data)
{
GtkWidget *window;
WebKitWindowProperties *window_properties;
gboolean visible;

// Create the window to contain the WebKitWebView.
window = browser_window_new ();
gtk_container_add (GTK_CONTAINER (window), GTK_WIDGET (web_view));
gtk_widget_show (GTK_WIDGET (web_view));

// Get the WebKitWindowProperties of the web view and monitor it.
window_properties = webkit_web_view_get_window_properties (web_view);
g_signal_connect (window_properties, "notify::geometry",
G_CALLBACK (window_geometry_changed), window);
g_signal_connect (window_properties, "notify::toolbar-visible",
G_CALLBACK (window_toolbar_visibility_changed), window);
g_signal_connect (window_properties, "notify::menubar-visible",
G_CALLBACK (window_menubar_visibility_changed), window);

// Apply the window properties before showing the window.
visible = webkit_window_properties_get_toolbar_visible (window_properties);
browser_window_set_toolbar_visible (BROWSER_WINDOW (window), visible);
visible = webkit_window_properties_get_menubar_visible (window_properties);
browser_window_set_menubar_visible (BROWSER_WINDOW (window), visible);

if (webkit_window_properties_get_fullscreen (window_properties)) {
gtk_window_fullscreen (GTK_WINDOW (window));
} else {
GdkRectangle geometry;

gtk_window_set_resizable (GTK_WINDOW (window),
webkit_window_properties_get_resizable (window_properties));
webkit_window_properties_get_geometry (window_properties, &geometry);
gtk_window_move (GTK_WINDOW (window), geometry.x, geometry.y);
gtk_window_resize (GTK_WINDOW (window), geometry.width, geometry.height);
}

gtk_widget_show (window);
}

Skipped during bindings generation

  • method geometry: Property has no getter nor setter

Constructors

Link copied to clipboard
constructor(pointer: <Error class: unknown class><<Error class: unknown class>>)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

Whether window will be displayed fullscreen.

Link copied to clipboard

Whether the locationbar should be visible for the window.

Link copied to clipboard

Whether the menubar should be visible for the window.

Link copied to clipboard

Whether the window can be resized.

Link copied to clipboard

Whether the scrollbars should be visible for the window.

Link copied to clipboard

Whether the statusbar should be visible for the window.

Link copied to clipboard

Whether the toolbar should be visible for the window.

Link copied to clipboard
val webkitWindowPropertiesPointer: <Error class: unknown class><<Error class: unknown class>>

Functions

Link copied to clipboard
fun getGeometry(geometry: <Error class: unknown class>)

Get the geometry the window should have on the screen when shown.