WebKitWindowProperties — Window properties of a WebKitWebView
| gboolean | fullscreen | Read / Write / Construct Only |
| gboolean | locationbar-visible | Read / Write / Construct Only |
| gboolean | menubar-visible | Read / Write / Construct Only |
| gboolean | resizable | Read / Write / Construct Only |
| gboolean | scrollbars-visible | Read / Write / Construct Only |
| gboolean | statusbar-visible | Read / Write / Construct Only |
| gboolean | toolbar-visible | Read / Write / Construct Only |
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 “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);
}
gboolean
webkit_window_properties_get_toolbar_visible
(WebKitWindowProperties *window_properties);
Get whether the window should have the toolbar visible or not.
gboolean
webkit_window_properties_get_statusbar_visible
(WebKitWindowProperties *window_properties);
Get whether the window should have the statusbar visible or not.
gboolean
webkit_window_properties_get_scrollbars_visible
(WebKitWindowProperties *window_properties);
Get whether the window should have the scrollbars visible or not.
gboolean
webkit_window_properties_get_menubar_visible
(WebKitWindowProperties *window_properties);
Get whether the window should have the menubar visible or not.
gboolean
webkit_window_properties_get_locationbar_visible
(WebKitWindowProperties *window_properties);
Get whether the window should have the locationbar visible or not.
gboolean
webkit_window_properties_get_resizable
(WebKitWindowProperties *window_properties);
Get whether the window should be resizable by the user or not.
gboolean
webkit_window_properties_get_fullscreen
(WebKitWindowProperties *window_properties);
Get whether the window should be shown in fullscreen state or not.
“fullscreen” property“fullscreen” gboolean
Whether window will be displayed fullscreen.
Flags: Read / Write / Construct Only
Default value: FALSE
“locationbar-visible” property“locationbar-visible” gboolean
Whether the locationbar should be visible for the window.
Flags: Read / Write / Construct Only
Default value: TRUE
“menubar-visible” property“menubar-visible” gboolean
Whether the menubar should be visible for the window.
Flags: Read / Write / Construct Only
Default value: TRUE
“resizable” property“resizable” gboolean
Whether the window can be resized.
Flags: Read / Write / Construct Only
Default value: TRUE
“scrollbars-visible” property“scrollbars-visible” gboolean
Whether the scrollbars should be visible for the window.
Flags: Read / Write / Construct Only
Default value: TRUE
“statusbar-visible” property“statusbar-visible” gboolean
Whether the statusbar should be visible for the window.
Flags: Read / Write / Construct Only
Default value: TRUE
“toolbar-visible” property“toolbar-visible” gboolean
Whether the toolbar should be visible for the window.
Flags: Read / Write / Construct Only
Default value: TRUE