message(n)
β¨ message(n) β the manual page, but make it cute β¨
Bestie, gather round. This is the Tk built-in command message, and it's literally the blueprint for creating and manipulating 'message' non-interactive text widgets. No cap, it's giving "I display text but I don't do replies."
πΈ SYNOPSIS
message pathName ?options?
π STANDARD OPTIONS
Okay so these are the standard options, and you already know the vibes:
-anchor-background-borderwidth-cursor-font-foreground-highlightbackground-highlightcolor-highlightthickness-padx-pady-relief-takefocus-text-textvariable
Check the options manual entry for the deets on all the standard options, iykyk.
π WIDGET-SPECIFIC OPTIONS
These are the special ones that make the message widget the main character.
-aspect
Command-Line Name: -aspect Database Name: aspect Database Class: Aspect
This one specifies a non-negative integer value that tells you the desired aspect ratio for the text, and the aspect ratio is specified as 100*width/height. So like:
100means the text should be as wide as it is tall,200means the text should be twice as wide as it is tall,50means the text should be twice as tall as it is wide, and so on.
It's used to choose the line length for the text if the -width option is not specified. Defaults to 150. Slay.
-justify
Command-Line Name: -justify Database Name: justify Database Class: Justify
This specifies how to justify lines of text. Must be one of left, center, or right. Defaults to left.
This option works together with the -anchor, -aspect, -padx, -pady, and -width options to provide a variety of arrangements of the text within the window. The -aspect and -width options determine the amount of screen space needed to display the text. The -anchor, -padx, and -pady options determine where this rectangular area is displayed within the widget's window, and the -justify option determines how each line is displayed within that rectangular region.
For example, suppose -anchor is e and -justify is left, and that the message window is much larger than needed for the text. The text will be displayed so that the left edges of all the lines line up and the right edge of the longest line is -padx from the right side of the window; the entire text block will be centered in the vertical span of the window. Obsessed with the precision, honestly.
-width
Command-Line Name: -width Database Name: width Database Class: Width
Specifies the length of lines in the window. The value may have any of the forms acceptable to Tk_GetPixels. If this option has a value greater than zero then the -aspect option is ignored and the -width option determines the line length. If this option value is negative or zero, then the -aspect option determines the line length. Periodt.
π DESCRIPTION
The message command creates a new window (given by the pathName argument) and makes it into a message widget. Additional options, described above, may be specified on the command line or in the option database to configure aspects of the message such as its colors, font, text, and initial relief. The message command returns its pathName argument. At the time this command is invoked, there must not exist a window named pathName, but pathName's parent must exist. Like, respect the hierarchy, bestie.
A message is a widget that displays a textual string. A message widget has three special features that differentiate it from a label widget, and they're all iconic in their own way:
- Line breaking, but make it aesthetic. It breaks up its string into lines in order to produce a given aspect ratio for the window. The line breaks are chosen at word boundaries wherever possible (if not even a single word would fit on a line, then the word will be split across lines). Newline characters in the string will force line breaks; they can be used, for example, to leave blank lines in the display.
- Justification, because alignment matters. The text may be displayed left-justified (each line starts at the left side of the window), centered on a line-by-line basis, or right-justified (each line ends at the right side of the window). It's giving options.
- Control character glow-up. The third feature of a message widget is that it handles control characters and non-printing characters specially. Tab characters are replaced with enough blank space to line up on the next 8-character boundary. Newlines cause line breaks. Other control characters (ASCII code less than
0x20) and characters not defined in the font are displayed as a four-character sequence\xhhwherehhis the two-digit hexadecimal number corresponding to the character. In the unusual case where the font does not contain all of the characters in"0123456789abcdef\x"then control characters and undefined characters are not displayed at all. Ngl, that's a niche edge case but we respect it.
π¦ WIDGET COMMAND
The message command creates a new Tcl command whose name is pathName. This command may be used to invoke various operations on the widget. It has the following general form:
pathName option ?arg ...?
Option and the args determine the exact behavior of the command. The following commands are possible for message widgets:
pathName cget option
Returns the current value of the configuration option given by option. Option may have any of the values accepted by the message command. It's literally just "what's the tea on this setting?"
pathName configure ?option? ?value option value ...?
Query or modify the configuration options of the widget. If no option is specified, returns a list describing all of the available options for pathName (see Tk_ConfigureInfo for information on the format of this list). If option is specified with no value, then the command returns a list describing the one named option (this list will be identical to the corresponding sublist of the value returned if no option is specified). If one or more option-value pairs are specified, then the command modifies the given widget option(s) to have the given value(s); in this case the command returns an empty string. Option may have any of the values accepted by the message command. Chef's kiss.
π DEFAULT BINDINGS
When a new message is created, it has no default event bindings: messages are intended for output purposes only. So like, don't @ it. It's not here for a conversation.
π BUGS
Tabs do not work very well with text that is centered or right-justified. The most common result is that the line is justified wrong. Yeah, that's the tea. It's a known vibe killer. π
π SEE ALSO
π₯ KEYWORDS
message, widget
Signed, sealed, delivered with love from Tk 4.0, dated whenever this manual page decided to exist. Stay slay, bestie. π β¨
π¦ where this page comes from
- alpine 3.23: tk9-doc 9.0.3-r0 Β· TCL
- alpine 3.24: tk9-doc 9.0.3-r2 Β· TCL
- fedora 43: tk 1:9.0.2-1.fc43 Β· TCL AND HPND-Pbmplus AND CC-BY-SA-3.0 AND MIT-open-group AND MIT
- fedora 43: tk 1:9.0.2-1.fc43 Β· TCL AND HPND-Pbmplus AND CC-BY-SA-3.0 AND MIT-open-group AND MIT
- fedora 44: tk 1:9.0.2-1.fc44 Β· TCL AND HPND-Pbmplus AND CC-BY-SA-3.0 AND MIT-open-group AND MIT
- fedora 44: tk 1:9.0.2-1.fc44 Β· TCL AND HPND-Pbmplus AND CC-BY-SA-3.0 AND MIT-open-group AND MIT
- nixos 26.05: tk 9.0.3
- nixpkgs unstable: tk 9.1.0
- Copyright (c) 1990-1994 The Regents of the University of California
- Copyright (c) 1994-1996 Sun Microsystems, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms