;; -*- scheme -*-
; object definitions ...
(define-object Terminal
  (in-module "Vte")
  (parent "GtkWidget")
  (c-name "VteTerminal")
  (gtype-id "VTE_TYPE_TERMINAL")
)

;; Enumerations and flags ...

(define-enum TerminalEraseBinding
  (in-module "Vte")
  (c-name "VteTerminalEraseBinding")
  (gtype-id "VTE_TYPE_TERMINAL_ERASE_BINDING")
  (values
    '("auto" "VTE_ERASE_AUTO")
    '("ascii-backspace" "VTE_ERASE_ASCII_BACKSPACE")
    '("ascii-delete" "VTE_ERASE_ASCII_DELETE")
    '("delete-sequence" "VTE_ERASE_DELETE_SEQUENCE")
  )
)

(define-enum TerminalAntiAlias
  (in-module "Vte")
  (c-name "VteTerminalAntiAlias")
  (gtype-id "VTE_TYPE_TERMINAL_ANTI_ALIAS")
  (values
    '("use-default" "VTE_ANTI_ALIAS_USE_DEFAULT")
    '("force-enable" "VTE_ANTI_ALIAS_FORCE_ENABLE")
    '("force-disable" "VTE_ANTI_ALIAS_FORCE_DISABLE")
  )
)

(define-enum TerminalCursorBlinkMode
  (in-module "Vte")
  (c-name "VteTerminalCursorBlinkMode")
  (gtype-id "VTE_TYPE_TERMINAL_CURSOR_BLINK_MODE")
  (values
    '("system" "VTE_CURSOR_BLINK_SYSTEM")
    '("on" "VTE_CURSOR_BLINK_ON")
    '("off" "VTE_CURSOR_BLINK_OFF")
  )
)

(define-enum TerminalCursorShape
  (in-module "Vte")
  (c-name "VteTerminalCursorShape")
  (gtype-id "VTE_TYPE_TERMINAL_CURSOR_SHAPE")
  (values
    '("block" "VTE_CURSOR_SHAPE_BLOCK")
    '("ibeam" "VTE_CURSOR_SHAPE_IBEAM")
    '("underline" "VTE_CURSOR_SHAPE_UNDERLINE")
  )
)


;; From vte.h

(define-function vte_terminal_get_type
  (c-name "vte_terminal_get_type")
  (return-type "GType")
)

(define-function vte_terminal_new
  (c-name "vte_terminal_new")
  (is-constructor-of "VteTerminal")
  (return-type "GtkWidget*")
)

(define-method fork_command
  (of-object "VteTerminal")
  (c-name "vte_terminal_fork_command")
  (return-type "pid_t")
  (parameters
    '("const-char*" "command")
    '("char**" "argv")
    '("char**" "envv")
    '("const-char*" "directory")
    '("gboolean" "lastlog")
    '("gboolean" "utmp")
    '("gboolean" "wtmp")
  )
)

(define-method forkpty
  (of-object "VteTerminal")
  (c-name "vte_terminal_forkpty")
  (return-type "pid_t")
  (parameters
    '("char**" "envv")
    '("const-char*" "directory")
    '("gboolean" "lastlog")
    '("gboolean" "utmp")
    '("gboolean" "wtmp")
  )
)

(define-method feed
  (of-object "VteTerminal")
  (c-name "vte_terminal_feed")
  (return-type "none")
  (parameters
    '("const-char*" "data")
    '("glong" "length" (default "-1"))
  )
)

(define-method feed_child
  (of-object "VteTerminal")
  (c-name "vte_terminal_feed_child")
  (return-type "none")
  (parameters
    '("const-char*" "text")
    '("glong" "length" (default "-1"))
  )
)

(define-method feed_child_binary
  (of-object "VteTerminal")
  (c-name "vte_terminal_feed_child_binary")
  (return-type "none")
  (parameters
    '("const-char*" "data")
    '("glong" "length" (default "-1"))
  )
)

(define-method copy_clipboard
  (of-object "VteTerminal")
  (c-name "vte_terminal_copy_clipboard")
  (return-type "none")
)

(define-method paste_clipboard
  (of-object "VteTerminal")
  (c-name "vte_terminal_paste_clipboard")
  (return-type "none")
)

(define-method copy_primary
  (of-object "VteTerminal")
  (c-name "vte_terminal_copy_primary")
  (return-type "none")
)

(define-method paste_primary
  (of-object "VteTerminal")
  (c-name "vte_terminal_paste_primary")
  (return-type "none")
)

(define-method select_all
  (of-object "VteTerminal")
  (c-name "vte_terminal_select_all")
  (return-type "none")
)

(define-method select_none
  (of-object "VteTerminal")
  (c-name "vte_terminal_select_none")
  (return-type "none")
)

(define-method set_size
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_size")
  (return-type "none")
  (parameters
    '("glong" "columns")
    '("glong" "rows")
  )
)

(define-method set_audible_bell
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_audible_bell")
  (return-type "none")
  (parameters
    '("gboolean" "is_audible")
  )
)

(define-method get_audible_bell
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_audible_bell")
  (return-type "gboolean")
)

(define-method set_visible_bell
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_visible_bell")
  (return-type "none")
  (parameters
    '("gboolean" "is_visible")
  )
)

(define-method get_visible_bell
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_visible_bell")
  (return-type "gboolean")
)

(define-method set_scroll_background
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_scroll_background")
  (return-type "none")
  (parameters
    '("gboolean" "scroll")
  )
)

(define-method set_scroll_on_output
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_scroll_on_output")
  (return-type "none")
  (parameters
    '("gboolean" "scroll")
  )
)

(define-method set_scroll_on_keystroke
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_scroll_on_keystroke")
  (return-type "none")
  (parameters
    '("gboolean" "scroll")
  )
)

(define-method set_color_dim
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_color_dim")
  (return-type "none")
  (parameters
    '("const-GdkColor*" "dim")
  )
)

(define-method set_color_bold
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_color_bold")
  (return-type "none")
  (parameters
    '("const-GdkColor*" "bold")
  )
)

(define-method set_color_foreground
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_color_foreground")
  (return-type "none")
  (parameters
    '("const-GdkColor*" "foreground")
  )
)

(define-method set_color_background
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_color_background")
  (return-type "none")
  (parameters
    '("const-GdkColor*" "background")
  )
)

(define-method set_color_cursor
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_color_cursor")
  (return-type "none")
  (parameters
    '("const-GdkColor*" "cursor_background")
  )
)

(define-method set_color_highlight
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_color_highlight")
  (return-type "none")
  (parameters
    '("const-GdkColor*" "highlight_background")
  )
)

(define-method set_colors
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_colors")
  (return-type "none")
  (parameters
    '("const-GdkColor*" "foreground")
    '("const-GdkColor*" "background")
    '("const-GdkColor*" "palette")
    '("glong" "palette_size")
  )
)

(define-method set_default_colors
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_default_colors")
  (return-type "none")
)

(define-method set_background_image
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_background_image")
  (return-type "none")
  (parameters
    '("GdkPixbuf*" "image")
  )
)

(define-method set_background_image_file
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_background_image_file")
  (return-type "none")
  (parameters
    '("const-char*" "path")
  )
)

(define-method set_background_tint_color
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_background_tint_color")
  (return-type "none")
  (parameters
    '("const-GdkColor*" "color")
  )
)

(define-method set_background_saturation
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_background_saturation")
  (return-type "none")
  (parameters
    '("double" "saturation")
  )
)

(define-method set_background_transparent
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_background_transparent")
  (return-type "none")
  (parameters
    '("gboolean" "transparent")
  )
)

(define-method set_opacity
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_opacity")
  (return-type "none")
  (parameters
    '("guint16" "opacity")
  )
)

(define-method set_cursor_blinks
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_cursor_blinks")
  (return-type "none")
  (parameters
    '("gboolean" "blink")
  )
)

(define-method set_cursor_blink_mode
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_cursor_blink_mode")
  (return-type "none")
  (parameters
    '("VteTerminalCursorBlinkMode" "mode")
  )
)

(define-method get_cursor_blink_mode
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_cursor_blink_mode")
  (return-type "VteTerminalCursorBlinkMode")
)

(define-method set_cursor_shape
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_cursor_shape")
  (return-type "none")
  (parameters
    '("VteTerminalCursorShape" "shape")
  )
)

(define-method get_cursor_shape
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_cursor_shape")
  (return-type "VteTerminalCursorShape")
)

(define-method set_scrollback_lines
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_scrollback_lines")
  (return-type "none")
  (parameters
    '("glong" "lines")
  )
)

(define-method im_append_menuitems
  (of-object "VteTerminal")
  (c-name "vte_terminal_im_append_menuitems")
  (return-type "none")
  (parameters
    '("GtkMenuShell*" "menushell")
  )
)

(define-method set_font
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_font")
  (return-type "none")
  (parameters
    '("const-PangoFontDescription*" "font_desc")
  )
)

(define-method set_font_full
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_font_full")
  (return-type "none")
  (parameters
    '("const-PangoFontDescription*" "font_desc")
    '("VteTerminalAntiAlias" "antialias")
  )
)

(define-method set_font_from_string
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_font_from_string")
  (return-type "none")
  (parameters
    '("const-char*" "name")
  )
)

(define-method set_font_from_string_full
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_font_from_string_full")
  (return-type "none")
  (parameters
    '("const-char*" "name")
    '("VteTerminalAntiAlias" "antialias")
  )
)

(define-method get_font
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_font")
  (return-type "const-PangoFontDescription*")
)

(define-method get_using_xft
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_using_xft")
  (return-type "gboolean")
)

(define-method set_allow_bold
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_allow_bold")
  (return-type "none")
  (parameters
    '("gboolean" "allow_bold")
  )
)

(define-method get_allow_bold
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_allow_bold")
  (return-type "gboolean")
)

(define-method get_has_selection
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_has_selection")
  (return-type "gboolean")
)

(define-method set_word_chars
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_word_chars")
  (return-type "none")
  (parameters
    '("const-char*" "spec")
  )
)

(define-method is_word_char
  (of-object "VteTerminal")
  (c-name "vte_terminal_is_word_char")
  (return-type "gboolean")
  (parameters
    '("gunichar" "c")
  )
)

(define-method set_backspace_binding
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_backspace_binding")
  (return-type "none")
  (parameters
    '("VteTerminalEraseBinding" "binding")
  )
)

(define-method set_delete_binding
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_delete_binding")
  (return-type "none")
  (parameters
    '("VteTerminalEraseBinding" "binding")
  )
)

(define-method set_mouse_autohide
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_mouse_autohide")
  (return-type "none")
  (parameters
    '("gboolean" "setting")
  )
)

(define-method get_mouse_autohide
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_mouse_autohide")
  (return-type "gboolean")
)

(define-method reset
  (of-object "VteTerminal")
  (c-name "vte_terminal_reset")
  (return-type "none")
  (parameters
    '("gboolean" "full")
    '("gboolean" "clear_history")
  )
)

(define-method get_text
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_text")
  (return-type "char*")
  (parameters
    '("gboolean(*" "is_selected")
  )
)

(define-method get_text_include_trailing_spaces
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_text_include_trailing_spaces")
  (return-type "char*")
  (parameters
    '("gboolean(*" "is_selected")
  )
)

(define-method get_text_range
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_text_range")
  (return-type "char*")
  (parameters
    '("glong" "start_row")
    '("glong" "start_col")
    '("glong" "end_row")
    '("glong" "end_col")
    '("gboolean(*" "is_selected")
  )
)

(define-method get_cursor_position
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_cursor_position")
  (return-type "none")
  (parameters
    '("glong*" "column")
    '("glong*" "row")
  )
)

(define-method match_clear_all
  (of-object "VteTerminal")
  (c-name "vte_terminal_match_clear_all")
  (return-type "none")
)

(define-method match_add
  (of-object "VteTerminal")
  (c-name "vte_terminal_match_add")
  (return-type "int")
  (parameters
    '("const-char*" "match")
  )
)

(define-method match_add_gregex
  (of-object "VteTerminal")
  (c-name "vte_terminal_match_add_gregex")
  (return-type "int")
  (parameters
    '("GRegex*" "regex")
    '("GRegexMatchFlags" "flags" (default 0))
  )
)

(define-method match_set_cursor
  (of-object "VteTerminal")
  (c-name "vte_terminal_match_set_cursor")
  (return-type "none")
  (parameters
    '("int" "tag")
    '("GdkCursor*" "cursor")
  )
)

(define-method match_set_cursor_type
  (of-object "VteTerminal")
  (c-name "vte_terminal_match_set_cursor_type")
  (return-type "none")
  (parameters
    '("int" "tag")
    '("GdkCursorType" "cursor_type")
  )
)

(define-method match_set_cursor_name
  (of-object "VteTerminal")
  (c-name "vte_terminal_match_set_cursor_name")
  (return-type "none")
  (parameters
    '("int" "tag")
    '("const-char*" "cursor_name")
  )
)

(define-method match_remove
  (of-object "VteTerminal")
  (c-name "vte_terminal_match_remove")
  (return-type "none")
  (parameters
    '("int" "tag")
  )
)

(define-method match_check
  (of-object "VteTerminal")
  (c-name "vte_terminal_match_check")
  (return-type "char*")
  (parameters
    '("glong" "column")
    '("glong" "row")
    '("int*" "tag")
  )
)

(define-method set_emulation
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_emulation")
  (return-type "none")
  (parameters
    '("const-char*" "emulation")
  )
)

(define-method get_emulation
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_emulation")
  (return-type "const-char*")
)

(define-method get_default_emulation
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_default_emulation")
  (return-type "const-char*")
)

(define-method set_encoding
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_encoding")
  (return-type "none")
  (parameters
    '("const-char*" "codeset")
  )
)

(define-method get_encoding
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_encoding")
  (return-type "const-char*")
)

(define-method get_status_line
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_status_line")
  (return-type "const-char*")
)

(define-method get_padding
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_padding")
  (return-type "none")
  (parameters
    '("int*" "xpad")
    '("int*" "ypad")
  )
)

(define-method set_pty
  (of-object "VteTerminal")
  (c-name "vte_terminal_set_pty")
  (return-type "none")
  (parameters
    '("int" "pty_master")
  )
)

(define-method get_pty
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_pty")
  (return-type "int")
)

(define-method get_adjustment
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_adjustment")
  (return-type "GtkAdjustment*")
)

(define-method get_char_width
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_char_width")
  (return-type "glong")
)

(define-method get_char_height
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_char_height")
  (return-type "glong")
)

(define-method get_char_descent
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_char_descent")
  (return-type "glong")
)

(define-method get_char_ascent
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_char_ascent")
  (return-type "glong")
)

(define-method get_row_count
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_row_count")
  (return-type "glong")
)

(define-method get_column_count
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_column_count")
  (return-type "glong")
)

(define-method get_window_title
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_window_title")
  (return-type "const-char*")
)

(define-method get_icon_title
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_icon_title")
  (return-type "const-char*")
)

(define-method get_child_exit_status
  (of-object "VteTerminal")
  (c-name "vte_terminal_get_child_exit_status")
  (return-type "int")
)



;; From vtetypebuiltins.h

(define-function vte_terminal_erase_binding_get_type
  (c-name "vte_terminal_erase_binding_get_type")
  (return-type "GType")
)

(define-function vte_terminal_anti_alias_get_type
  (c-name "vte_terminal_anti_alias_get_type")
  (return-type "GType")
)

(define-function vte_terminal_cursor_blink_mode_get_type
  (c-name "vte_terminal_cursor_blink_mode_get_type")
  (return-type "GType")
)

(define-function vte_terminal_cursor_shape_get_type
  (c-name "vte_terminal_cursor_shape_get_type")
  (return-type "GType")
)



;; From vteversion.h


