Gnome2:...Terminal(3)
π Gnome2::Vte::Terminal π
okay bestie, welcome to the User Contributed Perl Documentation for Gnome2::Vte::Terminal β section 3 of the manual, she's a whole icon, she's a terminal widget, and we're gonna go through her entire vibe together. no skimming, no skipping, we read every line like it's a group chat screenshot. let's go π«Ά
πΈ NAME πΈ
Gnome2::Vte::Terminal β that's her. that's the name. iconic, no notes. π
π¦ HIERARCHY π¦
so the family tree is giving royal lineage, look at this:
Glib::Object
+----Glib::InitiallyUnowned
+----Gtk2::Object
+----Gtk2::Widget
+----Gnome2::Vte::Terminal
she's descended from Gtk2::Widget, which is descended from Gtk2::Object, which is descended from Glib::InitiallyUnowned, which is descended from Glib::Object. four generations of main character energy and she ate every single one. π
β¨ INTERFACES β¨
she also implements these, because obviously she's multi-talented:
Glib::Object::_Unregistered::AtkImplementorIfaceGtk2::Buildable
π METHODS π
this is the long part bestie, grab a snack π
widget = Gnome2::Vte::Terminal->new
makes you a brand new terminal widget. fresh out the box, sparkling β¨
adjustment = $terminal->get_adjustment
hands you the adjustment. that's it. that's the method. lowkey mysterious but okay.
boolean = $terminal->get_allow_bold
asks the terminal: are we allowing bold rn? yes or no.
$terminal->set_allow_bold ($allow_bold)
sets whether bold is allowed. arguments:
$allow_bold(boolean)
boolean = $terminal->get_audible_bell
tells you if the audible bell is on, i.e. is she gonna ding at you out loud.
$terminal->set_audible_bell ($is_audible)
flips the audible bell on or off. arguments:
$is_audible(boolean)
$terminal->set_background_image_file ($path)
points the background image at a file on disk. arguments:
$path(string)
$terminal->set_background_image ($image)
sets the background image from an actual pixbuf object. arguments:
$image(Gtk2::Gdk::Pixbuf or undef)
$terminal->set_background_saturation ($saturation)
dials in how saturated that background is. arguments:
$saturation(double)
$terminal->set_background_tint_color ($color)
tints the background a specific color. arguments:
$color(Gtk2::Gdk::Color)
Since: vte 0.12
$terminal->set_background_transparent ($transparent)
makes the background see-through (or not). arguments:
$transparent(boolean)
$terminal->set_backspace_binding ($binding)
controls what the backspace key actually does. arguments:
$binding(Gnome2::Vte::Terminal::EraseBinding)
integer = $terminal->get_char_ascent
gives you the char ascent as an integer. numbers, bestie. π
integer = $terminal->get_char_descent
gives you the char descent as an integer.
integer = $terminal->get_char_height
char height. integer. you know the drill.
integer = $terminal->get_char_width
char width. also an integer. so many integers, so little time.
$terminal->set_color_background ($background)
sets the background color. arguments:
$background(Gtk2::Gdk::Color)
$terminal->set_color_bold ($bold)
sets the color used for bold text. arguments:
$bold(Gtk2::Gdk::Color)
$terminal->set_color_cursor ($cursor_background)
sets the cursor color. arguments:
$cursor_background(Gtk2::Gdk::Color or undef)
Since: vte 0.12
$terminal->set_color_dim ($dim)
sets the dim color. arguments:
$dim(Gtk2::Gdk::Color)
$terminal->set_color_foreground ($foreground)
sets the foreground color. arguments:
$foreground(Gtk2::Gdk::Color)
$terminal->set_color_highlight ($highlight_background)
sets the highlight background color. arguments:
$highlight_background(Gtk2::Gdk::Color or undef)
Since: vte 0.12
$terminal->set_colors ($foreground, $background, $palette_ref)
sets all the colors at once, in one big swoop. arguments:
$foreground(Gtk2::Gdk::Color or undef)$background(Gtk2::Gdk::Color or undef)$palette_ref(scalar)
integer = $terminal->get_column_count
how many columns wide are we. integer. slay.
$terminal->copy_clipboard
copies the selection to the clipboard. go off. π
$terminal->copy_primary
copies the selection to the primary selection instead.
$terminal->set_cursor_blinks ($blink)
does the cursor blink or not. arguments:
$blink(boolean)
(column, row) = $terminal->get_cursor_position
gives you back the cursor position as a column and a row. two for one deal π
$terminal->set_default_colors
resets the colors back to the defaults. factory settings, periodt.
string = $terminal->get_default_emulation
returns the default emulation as a string.
Since: vte 0.12
$terminal->set_delete_binding ($binding)
controls what the delete key does. arguments:
$binding(Gnome2::Vte::Terminal::EraseBinding)
string = $terminal->get_emulation
returns the current emulation as a string.
$terminal->set_emulation ($emulation)
sets the emulation. arguments:
$emulation(string)
string = $terminal->get_encoding
returns the current encoding as a string.
$terminal->set_encoding ($codeset)
sets the encoding. arguments:
$codeset(string)
$terminal->feed ($data)
feeds data into the terminal. arguments:
$data(scalar)
$terminal->feed_child ($data)
feeds data to the child process. arguments:
$data(scalar)
$terminal->feed_child_binary ($data)
feeds binary data to the child process. arguments:
$data(scalar)
Since: vte 0.12
$terminal->set_font_from_string_full ($name, $anti_alias)
sets the font from a string, with the full treatment including anti-aliasing. arguments:
$name(string)$anti_alias(Gnome2::Vte::Terminal::AntiAlias)
Since: vte 0.12
$terminal->set_font_from_string ($name)
sets the font from a plain old string. arguments:
$name(string)
$terminal->set_font_full ($font_desc, $anti_alias)
sets the font from a font description object, full version. arguments:
$font_desc(Pango::FontDescription or undef)$anti_alias(Gnome2::Vte::Terminal::AntiAlias)
Since: vte 0.12
fontdescription = $terminal->get_font
hands you back the font as a Pango::FontDescription.
$terminal->set_font ($font_desc)
sets the font. arguments:
$font_desc(Pango::FontDescription)
integer = $terminal->fork_command ($command, $arg_ref, $env_ref, $directory, $lastlog, $utmp, $wtmp)
spawns a command in the terminal and gives you back an integer. this one's a whole meal, look at all these arguments:
$command(string)$arg_ref(scalar)$env_ref(scalar)$directory(string or undef)$lastlog(boolean)$utmp(boolean)$wtmp(boolean)
boolean = $terminal->get_has_selection
do we have a selection or not. boolean says it all.
string = $terminal->get_icon_title
returns the icon title as a string. so cute.
$terminal->im_append_menuitems ($menushell)
appends input-method menu items to a menu shell. arguments:
$menushell(Gtk2::MenuShell)
boolean = $terminal->is_word_char ($c)
tells you if a character counts as a word character. arguments:
$c(character)
integer = $terminal->match_add ($match)
adds a match and gives you back an integer tag. arguments:
$match(string)
list = $terminal->match_check ($column, $row)
checks for a match at a given spot. arguments:
$column(integer)$row(integer)
$terminal->match_clear_all
nukes every single match. all of them. gone. π
$terminal->match_remove ($tag)
removes one match by tag. arguments:
$tag(integer)
$terminal->match_set_cursor ($tag, $cursor)
sets the cursor for a match. arguments:
$tag(integer)$cursor(Gtk2::Gdk::Cursor)
Since: vte 0.12
$terminal->match_set_cursor_type ($tag, $cursor_type)
sets the cursor type for a match. arguments:
$tag(integer)$cursor_type(Gtk2::Gdk::CursorType)
Since: vte 0.12
boolean = $terminal->get_mouse_autohide
is mouse autohide on? boolean, tell me everything.
$terminal->set_mouse_autohide ($setting)
toggles mouse autohide. arguments:
$setting(boolean)
$terminal->set_opacity ($opacity)
sets the opacity. arguments:
$opacity(unsigned)
Since: vte 0.14
(xpad, ypad) = $terminal->get_padding
gives you the padding back as an xpad and a ypad. two values, one call π
$terminal->paste_clipboard
pastes from the clipboard.
$terminal->paste_primary
pastes from the primary selection.
$terminal->set_pty ($pty_master)
sets the pty master. arguments:
$pty_master(integer)
Since: vte 0.12
$terminal->reset ($full, $clear_history)
resets the terminal. arguments:
$full(boolean)$clear_history(boolean)
integer = $terminal->get_row_count
how many rows tall are we. integer. we love a dimension. π
$terminal->set_scroll_background ($scroll)
does the background scroll with the text. arguments:
$scroll(boolean)
Since: vte 0.12
$terminal->set_scroll_on_keystroke ($scroll)
scroll on keystroke, on or off. arguments:
$scroll(boolean)
$terminal->set_scroll_on_output ($scroll)
scroll on output, on or off. arguments:
$scroll(boolean)
$terminal->set_scrollback_lines ($lines)
how many scrollback lines we're keeping around. arguments:
$lines(integer)
$terminal->set_size ($columns, $rows)
sets the terminal size. arguments:
$columns(integer)$rows(integer)
string = $terminal->get_status_line
returns the status line as a string.
list = $terminal->get_text ($func=undef, $data=undef)
arguments:
$func(scalar)$data(scalar)
Returns the selected text and a reference to a VteCharAttributes array describing every character in that text. so you get the words and the receipts. π₯
list = $terminal->get_text_include_trailing_spaces ($func, $data=undef)
arguments:
$func(scalar)$data(scalar)
Returns the selected text and a reference to a VteCharAttributes array describing every character in that text.
Since: vte 0.12
list = $terminal->get_text_range ($start_row, $start_col, $end_row, $end_col, $func, $data=undef)
arguments:
$start_row(integer)$start_col(integer)$end_row(integer)$end_col(integer)$func(scalar)$data(scalar)
Returns the selected text and a reference to a VteCharAttributes array describing every character in that text. same energy, but now you get to pick the range bestie β¨
boolean = $terminal->get_using_xft
are we using Xft. boolean. the truth will out.
boolean = $terminal->get_visible_bell
is the visible bell on. boolean again, she loves a boolean.
$terminal->set_visible_bell ($is_visible)
toggles the visible bell. arguments:
$is_visible(boolean)
string = $terminal->get_window_title
returns the window title as a string.
$terminal->set_word_chars ($spec)
sets which characters count as word characters. arguments:
$spec(string or undef)
π PROPERTIES π
here's the full property roster, every single one, with all her little flags. she is thorough:
'allow-bold'(boolean : default true : readable / writable / private / static-nick / static-blurb)'audible-bell'(boolean : default true : readable / writable / private / static-nick / static-blurb)'background-image-file'(string : default undef : readable / writable / private / static-nick / static-blurb)'background-image-pixbuf'(Gtk2::Gdk::Pixbuf : default undef : readable / writable / private / static-nick / static-blurb)'background-opacity'(double : default 1 : readable / writable / private / static-nick / static-blurb)'background-saturation'(double : default 0.4 : readable / writable / private / static-nick / static-blurb)'background-tint-color'(Gtk2::Gdk::Color : default undef : readable / writable / private / static-nick / static-blurb)'background-transparent'(boolean : default false : readable / writable / private / static-nick / static-blurb)'backspace-binding'(Gnome2::Vte::Terminal::EraseBinding : default "auto" : readable / writable / private / static-nick / static-blurb)'cursor-blink-mode'(VteTerminalCursorBlinkMode : default "system" : readable / writable / private / static-nick / static-blurb)'cursor-shape'(VteTerminalCursorShape : default "block" : readable / writable / private / static-nick / static-blurb)'delete-binding'(Gnome2::Vte::Terminal::EraseBinding : default "auto" : readable / writable / private / static-nick / static-blurb)'emulation'(string : default "xterm" : readable / writable / private / static-nick / static-blurb)'encoding'(string : default undef : readable / writable / private / static-nick / static-blurb)'font-desc'(Pango::FontDescription : default undef : readable / writable / private / static-nick / static-blurb)'icon-title'(string : default undef : readable / private / static-nick / static-blurb)'pointer-autohide'(boolean : default false : readable / writable / private / static-nick / static-blurb)'pty'(integer : default -1 : readable / writable / private / static-nick / static-blurb)'pty-object'(Glib::Object::_Unregistered::VtePty : default undef : readable / writable / private / static-nick / static-blurb)'scroll-background'(boolean : default false : readable / writable / private / static-nick / static-blurb)'scroll-on-keystroke'(boolean : default false : readable / writable / private / static-nick / static-blurb)'scroll-on-output'(boolean : default true : readable / writable / private / static-nick / static-blurb)'scrollback-lines'(Glib::UInt : default 100 : readable / writable / private / static-nick / static-blurb)'visible-bell'(boolean : default false : readable / writable / private / static-nick / static-blurb)'window-title'(string : default undef : readable / private / static-nick / static-blurb)'word-chars'(string : default undef : readable / writable / private / static-nick / static-blurb)
note that 'icon-title' and 'window-title' are readable / private only β no writing to those, bestie, they're just for looking π
π STYLE PROPERTIES π
just the one, and she's serving:
'inner-border'(Gtk2::Border : default undef : readable / private / static-nick / static-blurb)
okay that's part one of this whole journey and there is so much more coming, so don't go anywhere π
π¨ SIGNALS π¨
okay bestie these are all the signals this terminal emits β think of them as the terminal's little group-chat notifications, and you can hook into any one of them π«Ά each one is listed with its package and the types it hands you when it fires.
beep(Gnome2::Vte::Terminal) β the terminal wants to go beep. iconic.char-size-changed(Gnome2::Vte::Terminal,Glib::UInt,Glib::UInt) β the character size changed, and it's passing you twoGlib::UInts about it.child-exited(Gnome2::Vte::Terminal) β the child process dipped. it's gone. πcommit(Gnome2::Vte::Terminal,string,Glib::UInt) β a string plus aGlib::UIntgot committed.contents-changed(Gnome2::Vte::Terminal) β the contents said "new me" β¨copy-clipboard(Gnome2::Vte::Terminal) β copy to clipboard time πcursor-moved(Gnome2::Vte::Terminal) β cursor said scoot.decrease-font-size(Gnome2::Vte::Terminal) β shrink that font, no cap.deiconify-window(Gnome2::Vte::Terminal) β un-minimize the window, she's back πemulation-changed(Gnome2::Vte::Terminal) β the emulation switched up.encoding-changed(Gnome2::Vte::Terminal) β encoding changed, fr fr.eof(Gnome2::Vte::Terminal) β end of file. that's all folks.icon-title-changed(Gnome2::Vte::Terminal) β the icon title changed, glow-up for the icon πΈiconify-window(Gnome2::Vte::Terminal) β minimize that window, she's napping π΄increase-font-size(Gnome2::Vte::Terminal) β bigger font, bigger energy.lower-window(Gnome2::Vte::Terminal) β send the window down low.maximize-window(Gnome2::Vte::Terminal) β main character energy: full screen.move-window(Gnome2::Vte::Terminal,Glib::UInt,Glib::UInt) β window's moving, and here come twoGlib::UInts with the deets.paste-clipboard(Gnome2::Vte::Terminal) β paste from clipboard, we love to see it πraise-window(Gnome2::Vte::Terminal) β bring the window to the front, she's the moment.refresh-window(Gnome2::Vte::Terminal) β refresh the window, hydration check π§resize-window(Gnome2::Vte::Terminal,Glib::UInt,Glib::UInt) β resizing, with twoGlib::UInts along for the ride.restore-window(Gnome2::Vte::Terminal) β restore the window to her former glory.selection-changed(Gnome2::Vte::Terminal) β the selection changed. something got highlighted πset-scroll-adjustments(Gnome2::Vte::Terminal,Gtk2::Adjustment,Gtk2::Adjustment) β takes twoGtk2::Adjustments and sets the scroll adjustments.status-line-changed(Gnome2::Vte::Terminal) β status line said "new status, who dis".text-deleted(Gnome2::Vte::Terminal) β text got deleted πtext-inserted(Gnome2::Vte::Terminal) β text got inserted β¨text-modified(Gnome2::Vte::Terminal) β text got modified, we're evolving.text-scrolled(Gnome2::Vte::Terminal,integer) β text scrolled, and it's handing you aninteger.window-title-changed(Gnome2::Vte::Terminal) β window title changed, rebrand incoming π
π’ ENUMS AND FLAGS π’
all the little named constants, grouped by enum. left side is the Perl string, right side is the C constant. iykyk π
π¦ enum Gnome2::Vte::Terminal::AntiAlias
'use-default'/VTE_ANTI_ALIAS_USE_DEFAULT'force-enable'/VTE_ANTI_ALIAS_FORCE_ENABLE'force-disable'/VTE_ANTI_ALIAS_FORCE_DISABLE
π¦ enum Gnome2::Vte::Terminal::EraseBinding
'auto'/VTE_ERASE_AUTO'ascii-backspace'/VTE_ERASE_ASCII_BACKSPACE'ascii-delete'/VTE_ERASE_ASCII_DELETE'delete-sequence'/VTE_ERASE_DELETE_SEQUENCE'tty'/VTE_ERASE_TTY
π¦ enum Gtk2::Gdk::CursorType
the whole cursor catalogue, bestie. every single vibe of pointer. β¨
'x-cursor'/GDK_X_CURSOR'arrow'/GDK_ARROW'based-arrow-down'/GDK_BASED_ARROW_DOWN'based-arrow-up'/GDK_BASED_ARROW_UP'boat'/GDK_BOAT'bogosity'/GDK_BOGOSITY'bottom-left-corner'/GDK_BOTTOM_LEFT_CORNER'bottom-right-corner'/GDK_BOTTOM_RIGHT_CORNER'bottom-side'/GDK_BOTTOM_SIDE'bottom-tee'/GDK_BOTTOM_TEE'box-spiral'/GDK_BOX_SPIRAL'center-ptr'/GDK_CENTER_PTR'circle'/GDK_CIRCLE'clock'/GDK_CLOCK'coffee-mug'/GDK_COFFEE_MUG'cross'/GDK_CROSS'cross-reverse'/GDK_CROSS_REVERSE'crosshair'/GDK_CROSSHAIR'diamond-cross'/GDK_DIAMOND_CROSS'dot'/GDK_DOT'dotbox'/GDK_DOTBOX'double-arrow'/GDK_DOUBLE_ARROW'draft-large'/GDK_DRAFT_LARGE'draft-small'/GDK_DRAFT_SMALL'draped-box'/GDK_DRAPED_BOX'exchange'/GDK_EXCHANGE'fleur'/GDK_FLEUR'gobbler'/GDK_GOBBLER'gumby'/GDK_GUMBY'hand1'/GDK_HAND1'hand2'/GDK_HAND2'heart'/GDK_HEART'icon'/GDK_ICON'iron-cross'/GDK_IRON_CROSS'left-ptr'/GDK_LEFT_PTR'left-side'/GDK_LEFT_SIDE'left-tee'/GDK_LEFT_TEE'leftbutton'/GDK_LEFTBUTTON'll-angle'/GDK_LL_ANGLE'lr-angle'/GDK_LR_ANGLE'man'/GDK_MAN'middlebutton'/GDK_MIDDLEBUTTON'mouse'/GDK_MOUSE'pencil'/GDK_PENCIL'pirate'/GDK_PIRATE'plus'/GDK_PLUS'question-arrow'/GDK_QUESTION_ARROW'right-ptr'/GDK_RIGHT_PTR'right-side'/GDK_RIGHT_SIDE'right-tee'/GDK_RIGHT_TEE'rightbutton'/GDK_RIGHTBUTTON'rtl-logo'/GDK_RTL_LOGO'sailboat'/GDK_SAILBOAT'sb-down-arrow'/GDK_SB_DOWN_ARROW'sb-h-double-arrow'/GDK_SB_H_DOUBLE_ARROW'sb-left-arrow'/GDK_SB_LEFT_ARROW'sb-right-arrow'/GDK_SB_RIGHT_ARROW'sb-up-arrow'/GDK_SB_UP_ARROW'sb-v-double-arrow'/GDK_SB_V_DOUBLE_ARROW'shuttle'/GDK_SHUTTLE'sizing'/GDK_SIZING'spider'/GDK_SPIDER'spraycan'/GDK_SPRAYCAN'star'/GDK_STAR'target'/GDK_TARGET'tcross'/GDK_TCROSS'top-left-arrow'/GDK_TOP_LEFT_ARROW'top-left-corner'/GDK_TOP_LEFT_CORNER'top-right-corner'/GDK_TOP_RIGHT_CORNER'top-side'/GDK_TOP_SIDE'top-tee'/GDK_TOP_TEE'trek'/GDK_TREK'ul-angle'/GDK_UL_ANGLE'umbrella'/GDK_UMBRELLA'ur-angle'/GDK_UR_ANGLE'watch'/GDK_WATCH'xterm'/GDK_XTERM'last-cursor'/GDK_LAST_CURSOR'blank-cursor'/GDK_BLANK_CURSOR'cursor-is-pixmap'/GDK_CURSOR_IS_PIXMAP
π¦ enum VteTerminalCursorBlinkMode
'system'/VTE_CURSOR_BLINK_SYSTEM'on'/VTE_CURSOR_BLINK_ON'off'/VTE_CURSOR_BLINK_OFF
π¦ enum VteTerminalCursorShape
'block'/VTE_CURSOR_SHAPE_BLOCK'ibeam'/VTE_CURSOR_SHAPE_IBEAM'underline'/VTE_CURSOR_SHAPE_UNDERLINE
π SEE ALSO π
go read these next, bestie, they're the whole friend group:
Gnome2::VteGlib::ObjectGlib::InitiallyUnownedGtk2::ObjectGtk2::Widget
π COPYRIGHT π
Copyright (C) 2003-2006 by the gtk2-perl team.
This software is licensed under the LGPL. See Gnome2::Vte for a full notice. π«Ά
and that's the whole page, babes π this one was perl v5.42.0, dated 2025-07-25, straight from the gtk2-perl team β go forth and terminal, you absolute icon ππ
π¦ where this page comes from
- fedora 43: perl-Gnome2-Vte 0.12-18.fc43 Β· LicenseRef-Callaway-LGPLv2+
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms