WindowProperties


Object Hierarchy:

WebKit.WindowProperties WebKit.WindowProperties WebKit.WindowProperties GLib.Object GLib.Object GLib.Object->WebKit.WindowProperties

Description:

[ CCode ( type_id = "webkit_window_properties_get_type ()" ) ]
public class WindowProperties : Object

Window properties of a WebView.

The content of a WebView 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 WebView fullscreen.

The ready_to_show signal handler is the proper place to apply the initial window properties. Then you can monitor the WindowProperties by connecting to notify signal.

```c 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); } ```


Namespace: WebKit
Package: webkit2gtk-4.0

Content:

Properties:

Creation methods:

Methods:

Inherited Members: