Gtk.Plug

g Atk.ImplementorIface Atk.ImplementorIface Gtk.Widget Gtk.Widget Atk.ImplementorIface->Gtk.Widget GObject.GInterface GObject.GInterface GObject.GInterface->Atk.ImplementorIface Gtk.Buildable Gtk.Buildable GObject.GInterface->Gtk.Buildable GObject.InitiallyUnowned GObject.InitiallyUnowned GObject.InitiallyUnowned->Gtk.Widget GObject.Object GObject.Object GObject.Object->GObject.InitiallyUnowned Gtk.Bin Gtk.Bin Gtk.Window Gtk.Window Gtk.Bin->Gtk.Window Gtk.Buildable->Gtk.Widget Gtk.Container Gtk.Container Gtk.Container->Gtk.Bin Gtk.Plug Gtk.Plug Gtk.Widget->Gtk.Container Gtk.Window->Gtk.Plug

Subclasses:None

Properties

Inherited:Gtk.Window (33), Gtk.Container (3), Gtk.Widget (39)
Name Type Flags Short Description
embedded bool r Whether the plug is embedded
socket-window Gdk.Window r The window of the socket the plug is embedded in

Style Properties

Inherited:Gtk.Window (2), Gtk.Widget (17)

Signals

Inherited:Gtk.Window (5), Gtk.Container (4), Gtk.Widget (69), GObject.Object (1)
Name Short Description
embedded Gets emitted when the plug becomes embedded in a socket.

Fields

Inherited:Gtk.Window (5), Gtk.Container (4), Gtk.Widget (69), GObject.Object (1)
Name Type Access Description
priv Gtk.PlugPrivate r  
window Gtk.Window r  

Class Details

class Gtk.Plug(*args, **kwargs)
Bases:Gtk.Window
Abstract:No
Structure:Gtk.PlugClass

Together with Gtk.Socket, Gtk.Plug provides the ability to embed widgets from one process into another process in a fashion that is transparent to the user. One process creates a Gtk.Socket widget and passes the ID of that widget’s window to the other process, which then creates a Gtk.Plug with that window ID. Any widgets contained in the Gtk.Plug then will appear inside the first application’s window.

The communication between a Gtk.Socket and a Gtk.Plug follows the XEmbed Protocol. This protocol has also been implemented in other toolkits, e.g. Qt, allowing the same level of integration when embedding a Qt widget in GTK+ or vice versa.

The Gtk.Plug and Gtk.Socket widgets are only available when GTK+ is compiled for the X11 platform and %GDK_WINDOWING_X11 is defined. They can only be used on a #GdkX11Display. To use Gtk.Plug and Gtk.Socket, you need to include the gtk/gtkx.h header.

classmethod new(socket_id)[source]
Parameters:socket_id (int) – the window ID of the socket, or 0.
Returns:the new Gtk.Plug widget.
Return type:Gtk.Widget

Creates a new plug widget inside the Gtk.Socket identified by socket_id. If socket_id is 0, the plug is left “unplugged” and can later be plugged into a Gtk.Socket by Gtk.Socket.add_id().

classmethod new_for_display(display, socket_id)[source]
Parameters:
  • display (Gdk.Display) – the Gdk.Display on which socket_id is displayed
  • socket_id (int) – the XID of the socket’s window.
Returns:

the new Gtk.Plug widget.

Return type:

Gtk.Widget

Create a new plug widget inside the Gtk.Socket identified by socket_id.

New in version 2.2.

construct(socket_id)[source]
Parameters:socket_id (int) – the XID of the socket’s window.

Finish the initialization of self for a given Gtk.Socket identified by socket_id. This function will generally only be used by classes deriving from Gtk.Plug.

construct_for_display(display, socket_id)[source]
Parameters:

Finish the initialization of self for a given Gtk.Socket identified by socket_id which is currently displayed on display. This function will generally only be used by classes deriving from Gtk.Plug.

New in version 2.2.

get_embedded()[source]
Returns:True if the plug is embedded in a socket
Return type:bool

Determines whether the plug is embedded in a socket.

New in version 2.14.

get_id()[source]
Returns:the window ID for the plug
Return type:int

Gets the window ID of a Gtk.Plug widget, which can then be used to embed this window inside another window, for instance with Gtk.Socket.add_id().

get_socket_window()[source]
Returns:the window of the socket, or None
Return type:Gdk.Window or None

Retrieves the socket the plug is embedded in.

New in version 2.14.

do_embedded() virtual

Signal Details

Gtk.Plug.signals.embedded(plug)
Signal Name:embedded
Flags:RUN_LAST
Parameters:plug (Gtk.Plug) – The object which received the signal

Gets emitted when the plug becomes embedded in a socket.

Property Details

Gtk.Plug.props.embedded
Name:embedded
Type:bool
Default Value:False
Flags:READABLE

True if the plug is embedded in a socket.

New in version 2.12.

Gtk.Plug.props.socket_window
Name:socket-window
Type:Gdk.Window
Default Value:None
Flags:READABLE

The window of the socket the plug is embedded in.

New in version 2.14.