Gtk.PrintOperation.prototype.run
function run(action:Gtk.PrintOperationAction, parent:Gtk.Window):Gtk.PrintOperationResult {
    // Gjs wrapper for gtk_print_operation_run()
}Runs the print operation, by first letting the user modify print settings in the print dialog, and then print the document.
Normally that this function does not return until the rendering of all pages is complete. You can connect to the Gtk.status-changed signal on op to obtain some information about the progress of the print operation. Furthermore, it may use a recursive mainloop to show the print dialog.
If you call Gtk.set_allow_async or set the Gtk.allow-async property the operation will run asynchronously if this is supported on the platform. The Gtk.done signal will be emitted with the result of the operation when the it is done (i.e. when the dialog is canceled, or when the print succeeds or fails). |[ if (settings != NULL) gtk_print_operation_set_print_settings (print, settings); if (page_setup != NULL) gtk_print_operation_set_default_page_setup (print, page_setup); g_signal_connect (print, "begin-print", G_CALLBACK (begin_print), &data); g_signal_connect (print, "draw-page", G_CALLBACK (draw_page), &data); res = gtk_print_operation_run (print, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, parent, &error); if (res == GTK_PRINT_OPERATION_RESULT_ERROR) { error_dialog = gtk_message_dialog_new (GTK_WINDOW (parent), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "Error printing file:\n%s", error->message); g_signal_connect (error_dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL); gtk_widget_show (error_dialog); g_error_free (error); } else if (res == GTK_PRINT_OPERATION_RESULT_APPLY) { if (settings != NULL) g_object_unref (settings); settings = g_object_ref (gtk_print_operation_get_print_settings (print)); } ]|
Note that Gtk.PrintOperation.prototype.run can only be called once on a given Gtk.PrintOperation.
Since 2.10
- action
 the action to start
- parent
 Transient parent of the dialog
- Returns
 the result of the print operation. A return value of Gtk.PrintOperationResult.apply indicates that the printing was completed successfully. In this case, it is a good idea to obtain the used print settings with Gtk.PrintOperation.prototype.get_print_settings and store them for reuse with the next print operation. A value of Gtk.PrintOperationResult.in_progress means the operation is running asynchronously, and will emit the Gtk.done signal when done.