### ----------------------------------------------------
### -- Gnome::Gtk3
### -- Licenses: Artistic-2.0
### -- Authors: Marcel Timmerman
### -- File: lib/Gnome/Gtk3/Window.rakumod
### ----------------------------------------------------
### -- Chunk 4 of 4
>.

  method handler (
    Int :$_handle_id,
    Gnome::GObject::Object :_widget($window),
    *%user-options
  );

=item $window; the window which received the signal


=comment -----------------------------------------------------------------------
=comment #TS:1:enable-debugging:
=head3 enable-debugging

The ::enable-debugging signal is a [keybinding signal][GtkBindingSignal]
which gets emitted when the user enables or disables interactive
debugging. When I<toggle> is C<True>, interactive debugging is toggled
on or off, when it is C<False>, the debugger will be pointed at the
widget under the pointer.

The default bindings for this signal are Ctrl-Shift-I
and Ctrl-Shift-D.

Return: C<True> if the key binding was handled

  method handler (
    Int $toggle,
    Int :$_handle_id,
    Gnome::GObject::Object :_widget($window),
    *%user-options
    --> Int
  );

=item $window; the window on which the signal is emitted

=item $toggle; toggle the debugger


=comment -----------------------------------------------------------------------
=comment #TS:0:keys-changed:
=head3 keys-changed

The ::keys-changed signal gets emitted when the set of accelerators
or mnemonics that are associated with I<window> changes.

  method handler (
    Int :$_handle_id,
    Gnome::GObject::Object :_widget($window),
    *%user-options
  );

=item $window; the window which received the signal


=comment -----------------------------------------------------------------------
=comment #TS:0:set-focus:
=head3 set-focus

This signal is emitted whenever the currently focused widget in
this window changes.


  method handler (
    N-GObject #`{ is widget } $widget,
    Int :$_handle_id,
    Gnome::GObject::Object :_widget($window),
    *%user-options
  );

=item $window; the window which received the signal

=item $widget; the newly focused widget (or C<undefined> for no focus)
=end pod

#-------------------------------------------------------------------------------
=begin pod
=head1 Properties

An example of using a string type property of a B<Gnome::Gtk3::Label> object. This is just showing how to set/read a property, not that it is the best way to do it. This is because a) The class initialization often provides some options to set some of the properties and b) the classes provide many methods to modify just those properties. In the case below one can use B<new(:label('my text label'))> or B<.set-text('my text label')>.

  my Gnome::Gtk3::Label $label .= new;
  my Gnome::GObject::Value $gv .= new(:init(G_TYPE_STRING));
  $label.get-property( 'label', $gv);
  $gv.set-string('my text label');

=head2 Supported properties

=comment -----------------------------------------------------------------------
=comment #TP:0:accept-focus:
=head3 Accept focus: accept-focus


Whether the window should receive the input focus.


The B<Gnome::GObject::Value> type of property I<accept-focus> is C<G_TYPE_BOOLEAN>.

=comment -----------------------------------------------------------------------
=comment #TP:0:application:
=head3 GtkApplication: application


The B<Gnome::Gtk3::Application> associated with the window.

The application will be kept alive for at least as long as it
has any windows associated with it (see C<g-application-hold()>
for a way to keep it alive without windows).

Normally, the connection between the application and the window
will remain until the window is destroyed, but you can explicitly
remove it by setting the I<application> property to C<undefined>.

   Widget type: GTK_TYPE_APPLICATION

The B<Gnome::GObject::Value> type of property I<application> is C<G_TYPE_OBJECT>.

=comment -----------------------------------------------------------------------
=comment #TP:0:attached-to:
=head3 Attached to Widget: attached-to


The widget to which this window is attached.
See C<set-attached-to()>.

Examples of places where specifying this relation is useful are
for instance a B<Gnome::Gtk3::Menu> created by a B<Gnome::Gtk3::ComboBox>, a completion
popup window created by B<Gnome::Gtk3::Entry> or a typeahead search entry
created by B<Gnome::Gtk3::TreeView>.

   Widget type: GTK_TYPE_WIDGET

The B<Gnome::GObject::Value> type of property I<attached-to> is C<G_TYPE_OBJECT>.

=comment -----------------------------------------------------------------------
=comment #TP:0:decorated:
=head3 Decorated: decorated


Whether the window should be decorated by the window manager.


The B<Gnome::GObject::Value> type of property I<decorated> is C<G_TYPE_BOOLEAN>.

=comment -----------------------------------------------------------------------
=comment #TP:0:default-height:
=head3 Default Height: default-height


The B<Gnome::GObject::Value> type of property I<default-height> is C<G_TYPE_INT>.

=comment -----------------------------------------------------------------------
=comment #TP:0:default-width:
=head3 Default Width: default-width


The B<Gnome::GObject::Value> type of property I<default-width> is C<G_TYPE_INT>.

=comment -----------------------------------------------------------------------
=comment #TP:0:deletable:
=head3 Deletable: deletable


Whether the window frame should have a close button.


The B<Gnome::GObject::Value> type of property I<deletable> is C<G_TYPE_BOOLEAN>.

=comment -----------------------------------------------------------------------
=comment #TP:0:destroy-with-parent:
=head3 Destroy with Parent: destroy-with-parent

If this window should be destroyed when the parent is destroyed
Default value: False

The B<Gnome::GObject::Value> type of property I<destroy-with-parent> is C<G_TYPE_BOOLEAN>.

=comment -----------------------------------------------------------------------
=comment #TP:0:focus-on-map:
=head3 Focus on map: focus-on-map


Whether the window should receive the input focus when mapped.


The B<Gnome::GObject::Value> type of property I<focus-on-map> is C<G_TYPE_BOOLEAN>.

=comment -----------------------------------------------------------------------
=comment #TP:0:focus-visible:
=head3 Focus Visible: focus-visible


Whether 'focus rectangles' are currently visible in this window.

This property is maintained by GTK+ based on user input
and should not be set by applications.


The B<Gnome::GObject::Value> type of property I<focus-visible> is C<G_TYPE_BOOLEAN>.

=comment -----------------------------------------------------------------------
=comment #TP:0:gravity:
=head3 Gravity: gravity


The window gravity of the window. See C<move()> and B<Gnome::Gtk3::Gravity> for
more details about window gravity.

   Widget type: GDK_TYPE_GRAVITY

The B<Gnome::GObject::Value> type of property I<gravity> is C<G_TYPE_ENUM>.

=comment -----------------------------------------------------------------------
=comment #TP:0:has-toplevel-focus:
=head3 Focus in Toplevel: has-toplevel-focus

Whether the input focus is within this GtkWindow
Default value: False

The B<Gnome::GObject::Value> type of property I<has-toplevel-focus> is C<G_TYPE_BOOLEAN>.

=comment -----------------------------------------------------------------------
=comment #TP:0:hide-titlebar-when-maximized:
=head3 Hide the titlebar during maximization: hide-titlebar-when-maximized


Whether the titlebar should be hidden during maximization.


The B<Gnome::GObject::Value> type of property I<hide-titlebar-when-maximized> is C<G_TYPE_BOOLEAN>.

=comment -----------------------------------------------------------------------
=comment #TP:0:icon:
=head3 Icon: icon

Icon for this window
Widget type: GDK-TYPE-PIXBUF

The B<Gnome::GObject::Value> type of property I<icon> is C<G_TYPE_OBJECT>.

=comment -----------------------------------------------------------------------
=comment #TP:0:icon-name:
=head3 Icon Name: icon-name


The I<icon-name> property specifies the name of the themed icon to
use as the window icon. See B<Gnome::Gtk3::IconTheme> for more details.


The B<Gnome::GObject::Value> type of property I<icon-name> is C<G_TYPE_STRING>.

=comment -----------------------------------------------------------------------
=comment #TP:0:is-active:
=head3 Is Active: is-active

Whether the toplevel is the current active window
Default value: False

The B<Gnome::GObject::Value> type of property I<is-active> is C<G_TYPE_BOOLEAN>.

=comment -----------------------------------------------------------------------
=comment #TP:0:is-maximized:
=head3 Is maximized: is-maximized

Whether the window is maximized
Default value: False

The B<Gnome::GObject::Value> type of property I<is-maximized> is C<G_TYPE_BOOLEAN>.

=comment -----------------------------------------------------------------------
=comment #TP:0:mnemonics-visible:
=head3 Mnemonics Visible: mnemonics-visible


Whether mnemonics are currently visible in this window.

This property is maintained by GTK+ based on user input,
and should not be set by applications.


The B<Gnome::GObject::Value> type of property I<mnemonics-visible> is C<G_TYPE_BOOLEAN>.

=comment -----------------------------------------------------------------------
=comment #TP:0:modal:
=head3 Modal: modal

If TRUE, the window is modal (other windows are not usable while this one is up)
Default value: False

The B<Gnome::GObject::Value> type of property I<modal> is C<G_TYPE_BOOLEAN>.

=comment -----------------------------------------------------------------------
=comment #TP:0:resizable:
=head3 Resizable: resizable

If TRUE, users can resize the window
Default value: True

The B<Gnome::GObject::Value> type of property I<resizable> is C<G_TYPE_BOOLEAN>.

=comment -----------------------------------------------------------------------
=comment #TP:0:role:
=head3 Window Role: role

Unique identifier for the window to be used when restoring a session
Default value: Any

The B<Gnome::GObject::Value> type of property I<role> is C<G_TYPE_STRING>.

=comment -----------------------------------------------------------------------
=comment #TP:0:screen:
=head3 Screen: screen

The screen where this window will be displayed
Widget type: GDK-TYPE-SCREEN

The B<Gnome::GObject::Value> type of property I<screen> is C<G_TYPE_OBJECT>.

=comment -----------------------------------------------------------------------
=comment #TP:0:skip-pager-hint:
=head3 Skip pager: skip-pager-hint

TRUE if the window should not be in the pager.
Default value: False

The B<Gnome::GObject::Value> type of property I<skip-pager-hint> is C<G_TYPE_BOOLEAN>.

=comment -----------------------------------------------------------------------
=comment #TP:0:skip-taskbar-hint:
=head3 Skip taskbar: skip-taskbar-hint

TRUE if the window should not be in the task bar.
Default value: False

The B<Gnome::GObject::Value> type of property I<skip-taskbar-hint> is C<G_TYPE_BOOLEAN>.

=comment -----------------------------------------------------------------------
=comment #TP:0:startup-id:
=head3 Startup ID: startup-id


The I<startup-id> is a write-only property for setting window's
startup notification identifier. See C<set-startup-id()>
for more details.


The B<Gnome::GObject::Value> type of property I<startup-id> is C<G_TYPE_STRING>.

=comment -----------------------------------------------------------------------
=comment #TP:1:title:
=head3 Window Title: title

The title of the window
Default value: Any

The B<Gnome::GObject::Value> type of property I<title> is C<G_TYPE_STRING>.

=comment -----------------------------------------------------------------------
=comment #TP:0:transient-for:
=head3 Transient for Window: transient-for


The transient parent of the window. See C<set-transient-for()> for
more details about transient windows.

   Widget type: GTK_TYPE_WINDOW

The B<Gnome::GObject::Value> type of property I<transient-for> is C<G_TYPE_OBJECT>.

=comment -----------------------------------------------------------------------
=comment #TP:0:type:
=head3 Window Type: type

The type of the window
Default value: False

The B<Gnome::GObject::Value> type of property I<type> is C<G_TYPE_ENUM>.

=comment -----------------------------------------------------------------------
=comment #TP:0:type-hint:
=head3 Type hint: type-hint

Hint to help the desktop environment understand what kind of window this is and how to treat it.
Default value: False

The B<Gnome::GObject::Value> type of property I<type-hint> is C<G_TYPE_ENUM>.

=comment -----------------------------------------------------------------------
=comment #TP:0:urgency-hint:
=head3 Urgent: urgency-hint

TRUE if the window should be brought to the user's attention.
Default value: False

The B<Gnome::GObject::Value> type of property I<urgency-hint> is C<G_TYPE_BOOLEAN>.

=comment -----------------------------------------------------------------------
=comment #TP:0:window-position:
=head3 Window Position: window-position

The initial position of the window
Default value: False

The B<Gnome::GObject::Value> type of property I<window-position> is C<G_TYPE_ENUM>.
=end pod


