From 8173c45ca2ed1dfe8610c43688ef0436710eba39 Mon Sep 17 00:00:00 2001
From: Thomas Wolff mintty –
+ mintty –
Cygwin terminal emulator mintty
+ mintty
[OPTION]... [ - | PROGRAM
[ARG]... ] Mintty
-is a terminal emulator for Cygwin with a native Windows user
+ Mintty is
+a terminal emulator for Cygwin with a native Windows user
interface and minimalist design. Its terminal emulation is
largely compatible with xterm, but it does not
require an X server. If a program
+ If a program
name is supplied on the command line, this is executed with
any additional arguments given. Otherwise, mintty looks for
a shell to execute in the SHELL environment variable.
@@ -78,24 +121,24 @@ mintty
INVOCATION
OPTIONS
USAGE
+Font rendering
+Bidirectional rendering
+Menus
+Text selection, copy & paste
+Drag & drop
+Opening files, directories and URLs
+Font zoom
+Drag resize
+Reflow / Line rebreaking after resize
+DPI change
+Full screen
+Default size
+Reset
+Scrolling and the scrollback buffer
+Scroll Lock handling
+Searching in the text and scrollback buffer
+Flip screen
+Switching session
+Virtual Tabs
+Horizontal scrolling of terminal view and horizontal scrollbar
+Closing a session
+Terminal Break
+Mouse tracking
+Character input
+Keyboard shortcuts
+Embedding graphics in terminal output
+Vector graphics terminal emulation
+Emoji display support
+HTML Screen dump
+Image dump of terminal contents
+Audio support
+Diagnostic support
CONFIGURATION
+Looks
+Text
+Keys
+Mouse
+Window
+Terminal
+Command line
+"Hidden" settings
SCOPE AND LIMITATIONS
+Console issue
+Termcap/terminfo
+Screen control features, DEC and xterm compatibility
SEE ALSO
LICENSE
CONTACT
@@ -42,7 +85,7 @@ NAME
-SYNOPSIS
@@ -50,7 +93,7 @@
SYNOPSIS
-DESCRIPTION
-INVOCATION
-INVOCATION
setting from /etc/passwd. As a last resort, it falls
back to /bin/sh.
If a single -dash is specified instead of a program name, the shell is -invoked as a login shell. If mintty is started from a -Windows shortcut (desktop or start menu), by default the -shell is also invoked as a login shell unless disabled by an +
If a single dash +is specified instead of a program name, the shell is invoked +as a login shell. If mintty is started from a Windows +shortcut (desktop or start menu), by default the shell is +also invoked as a login shell unless disabled by an option.
-Invocation by a +
Invocation by a name of wsl*[-distro] implies a --WSL[=distro] parameter.
-Mintty supports +
Mintty supports being started from a Windows desktop shortcut; it honours window and icon settings of the shortcut, aligns taskbar grouping with the shortcut, disables daemonizing, and sets environment variable MINTTY_SHORTCUT to its pathname.
-Before starting +
Before starting the child program, mintty trims the environment from other variables set by launchers, other terminals, or shells, that might indicate incorrect information and lead to confusing @@ -106,25 +149,25 @@
The standard -GNU option formats are accepted, with single dashes -introducing short options and double dashes introducing long +
The standard GNU +option formats are accepted, with single dashes introducing +short options and double dashes introducing long options.
-Note that +
Note that
setting ShortLongOpts enables single-dash long
options.
-c, --config FILENAME
Read settings from the +
Read settings from the specified configuration file, in addition to the default config files. Configuration changes are saved to the last file thus specified.
--C, --loadconfig +
-C, --loadconfig FILENAME
-Read settings from the +
Read settings from the specified configuration file, in addition to the default config files. The file is not taken into account for saving configuration changes. This is useful to mix-in partial @@ -132,10 +175,10 @@
--configdir +
--configdir DIRNAME
-Use the given directory to +
Use the given directory to check for resource subdirectories (themes, sounds, lang, emojis, icon, fonts, pointers); also read settings from the @@ -143,55 +186,55 @@
--dir +
--dir directory
-Change initial directory to +
Change initial directory to start in. This is especially useful for invocation of mintty from a Windows context menu via registry entry.
--e, --exec +
-e, --exec PROGRAM [ARG ...]
-Execute the specified program +
Execute the specified program in the terminal session and pass on any additional arguments.
-This option is +
This option is present for compatibility with other terminal emulators only. It can be omitted, in which case the first non-option argument, if any, is taken as the name of the program to execute.
--h, --hold +
-h, --hold never|start|error|always
-Determine whether to keep the +
Determine whether to keep the terminal window open when the command has finished and no more processes are connected to the terminal. The argument can be abbreviated to a single letter.
-By default, the +
By default, the window is closed immediately, except if the child process has exited with status 255, which is used to indicate failure to execute the shell command. (Exit status 255 is also used by ssh to indicate connection errors.)
-Alternatively, +
Alternatively, the window can be set to never stay open, to always stay open, or to stay open only if the child process terminates with an error, i.e. with a non-zero exit status or due to a signal indicating a runtime error.
--i, --icon +
-i, --icon FILE[,INDEX]
-Load the window icon from an +
Load the window icon from an executable, DLL, or icon file. The optional comma-separated index can be used to select a particular icon in a file with multiple icons.
-Note: +
Note: About interaction problems of icon, shortcut, and the Windows taskbar: In a Windows desktop shortcut, it is suggested not to use this option in the Target command line, @@ -199,44 +242,44 @@
-l, --log +
-l, --log FILE|-
-Copy all output into the +
Copy all output into the specified log file, or standard output if a dash is given instead of a file name. (Implies -o Logging=yes.)
-If FILE +
If FILE contains %d it will be substituted with the process ID. See description of equivalent option "Log file" (Log=) below for further formatting options and hints.
-Note that +
Note that logging can be toggled from the extended context menu.
---logfile +
--logfile FILE|-
-Like --log but with +
Like --log but with logging initially disabled, so just specifying a potential log file name in case logging is enabled from the extended context menu. (Equivalent to combining --log with -o Logging=no.)
--o, --option +
-o, --option NAME=VALUE
-Override the named config file +
Override the named config file option with the given value, e.g. -o ScrollbackLines=1000. Note that for option settings that are localized in the Options menu, the value in the config file or on the command line must be unlocalized.
--p, --position +
-p, --position X,Y
-Open the window with its top +
Open the window with its top left corner at the specified coordinates. Instead of coordinates, "centre" or "center" can be specified to place the window in the screen centre, and @@ -245,11 +288,11 @@
Option value +
Option value "@N" where N is a number places the window on monitor N.
-Multiple -p +
Multiple -p
options can be combined; coordinates have a different
meaning depending on other options:
– With "left", "top", or
@@ -259,17 +302,22 @@
Note: +
Note: For another option to select the monitor for a new mintty window, see the description of Alt+F2.
--s, --size +
-s, --size COLS,ROWS
-Set the default size of the +
Set the default size of the window in character columns and rows. (The xterm-like syntax COLSxROWS is accepted too.) Instead of coordinates, "maxwidth" or "maxheight" @@ -281,92 +329,91 @@
--nobidi, +
--nobidi, --nortl
-Disable bidi display +
Disable bidi display (right-to-left support). Same as -o Bidi=0.
--t, --title +
-t, --title TITLE
-Use TITLE as the initial +
Use TITLE as the initial window title. By default, the title is set to the executed command.
--T, --Title +
-T, --Title TITLE
-Use TITLE as the +
Use TITLE as the permanent window title. The title is not changeable by control sequences. This feature is only available on the command line.
--B, --Border +
-B, --Border frame|void
-Suppress window title, display +
Suppress window title, display only a frame or no border. This feature is only available on the command line. Note that frame border operations are also disabled. However, a window move can also be done with Ctrl+Alt+click-drag.
---tabbar[=level]
+--tabbar[=level]
-Activate tabbar for tab-based +
Activate tabbar for tab-based session switching among virtual tabs. This sets TabBar=1 and SessionGeomSync=level. Without given value the default window synchronization level is 2.
---newtabs
+--newtabs
-Create a new window even if +
Create a new window even if virtual tabs are enabled, so running a new tab group. Implies --tabbar (equivalent to --tabbar -o NewTabs=2).
---horbar[=mode]
+--horbar[=mode]
-Support horizontal scrolling. +
Support horizontal scrolling. Values are 3 to enable a permanent horizontal scrollbar, or 2 to display a horizontal scrollbar only while the horizontal terminal view is narrower than the actual terminal width.
--u, --utmp
+-u, --utmp
-Create a utmp entry.
+Create a utmp entry.
--w, --window +
-w, --window normal|min|max|full|hide
-Set the initial window state: +
Set the initial window state: normal, minimized, maximized, full screen, or hidden.
---class CLASS
+--class CLASS
-Use CLASS as the window +
Use CLASS as the window class name of the main window. This allows window grouping or setup of different tab sets, and it allows scripting tools to distinguish different mintty instances. The default is "mintty".
--d, ---nodaemon
+-d, --nodaemon
-Do not apply +
Do not apply "daemonizing". By default, mintty tries to detach itself from the invoking terminal when started from a Cygwin Console in order to avoid disabled signal reception, and when cloning the window (Alt+F2) in order to avoid a remaining zombie process.
--D, --daemon
+-D, --daemon
-Enforce +
Enforce "daemonizing". By default, mintty tries to detach itself from the invoking terminal only as described above. With this option, it tries to detach always. This makes a @@ -376,77 +423,81 @@
-R, --Report +
-R, --Report info/mode
-Report requested +
Report requested information.
-With values +
With values "s" or "o", mintty reports the position and size of the window when it exits. This can be used to manage last window positions and reopen mintty windows -accordingly. Reporting mode is "s" or -"o" to choose short or long option syntax for the -restored (i.e. neither maximized nor minimized) geometry; -min/max/fullscreen information is added.
+accordingly.With value +
With value "m", mintty reports the system’s monitor configuration (listing all connected monitors and their geometry and position in Windows’ virtual monitor coordinate system), and exits.
-With value +
With value "f", mintty reports the monospace fonts installed on the system as determined by mintty, and exits.
-With value +
With value "W", mintty lists installed WSL distributions and properties, and exits.
-With value +
With value "t", mintty reports the tty name of the child -process / shell. With value "p", mintty reports -the PID of the child process (e.g. the shell). With value -"P", mintty reports the cygwin PID and the Windows -PID of the mintty process (i.e. running the terminal).
- -Note also the
+process / shell.
+With value "p", mintty reports the PID of the
+child process (e.g. the shell).
+With value "P", mintty reports the cygwin PID and
+the Windows PID of the mintty process (i.e. running the
+terminal).
+With value "w", mintty reports its Windows window
+id.
Note also the invocation MINTTY_DEBUG=C mintty ...; it will list all config files loaded by mintty and whether they are also considered for saving - the last one will be saved to. (This cannot be a -R option as most config files are read before command line parameters are evaluated.)
---trace -OUTPUT
+--trace OUTPUT
-This option redirects reporting +
This option redirects reporting (and debug) output to a file.
---store-taskbar-properties
+--store-taskbar-properties
-Enable persistent storage of +
Enable persistent storage of Windows taskbar properties together with options AppName and AppLaunchCmd.
---nopin
+--nopin
-Prevent pinning of the mintty +
Prevent pinning of the mintty window to the Windows taskbar.
--P, --pcon +
-P, --pcon [on|off]
-Enforce enabling or disabling +
Enforce enabling or disabling of ConPTY support.
---wsl (preferred option: +
--wsl (preferred option: --WSL, see below)
-Adjust to WSL (the Windows +
Adjust to WSL (the Windows
Subsystem for Linux, or Bash/Ubuntu on Windows):
– When dragging a Windows file or folder into mintty,
it will be pasted using the Linux path name.
@@ -461,10 +512,10 @@
--WSL=WSL -DISTRIBUTION NAME
+--WSL=WSL DISTRIBUTION +NAME
-Run a WSL session, setting +
Run a WSL session, setting other parameters as appropriate and involving the wslbridge2 gateway implicitly (which should be installed in /bin for this purpose). If the distribution @@ -477,10 +528,10 @@
--WSLmode=WSL +
--WSLmode=WSL DISTRIBUTION NAME
-Setup a WSL session for the +
Setup a WSL session for the given distribution (like --WSL) but do not actually launch WSL which must be achieved with explicit invocation of a suitable gateway. The preferred option is --WSL @@ -489,155 +540,157 @@
--rootfs +
--rootfs ROOTFOLDER
-Provide the root filesystem +
Provide the root filesystem folder to adjust path conversion properly for the respective WSL installation.
+ |
- -~ |
-- |
+ -˜ |
++ |
Start in the user’s home directory. Affects also -WSL sessions. | + |
-H, --help
+-H, --help
-Display a brief help message +
Display a brief help message and exit.
--V, --version
+-V, --version
-Print version information and +
Print version information and exit.
-
A number of xterm-style
+
A number of xterm-style
convenience options are also available:
- | + | + |
--fg |
-- | + | + |
Sets ForegroundColour. |
-+ | |
- | + | + |
--bg |
-- | + | + |
Sets BackgroundColour. |
-+ | |
- | + | + |
--cr |
-- | + | + |
Sets CursorColour. |
-+ |
--selfg
+--selfg
-Sets +
Sets HighlightForegroundColour.
---selbg
+--selbg
-Sets +
Sets HighlightBackgroundColour.
---fn, --font
+--fn, --font
-Sets Font.
+Sets Font.
- | + | + |
--fs |
-- | + | + |
Sets FontSize. |
-+ |
--geometry +
--geometry COLSxROWS[[-+]X[-+]Y][@MONITOR]
-Sets size and position, +
Sets size and position, extending xterm syntax by an optional monitor number.
- | + | + |
--en |
-- | + | + |
Sets Charset within the current locale. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- | + | + |
--lf |
-- | + | + |
Sets Log, the log file name. Use -l to both set the log file name and enable logging. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- | + | + |
--sl |
-- | + | + |
Sets ScrollbackLines; effectively limited by @@ -649,77 +702,90 @@ USAGE-Mintty tries to + Mintty tries to adhere to both Windows and Unix usage conventions. Where they conflict, an option is usually provided. This section primarily describes the default configuration; see the CONFIGURATION section on how it can be customized. -Font
-rendering Font rendering + ++ + +Mintty uses
+Windows Uniscribe font rendering to display a wider range of
+characters; the TextOut API is automatically used instead if
+suitable. Fonts in the resource + Fonts in the resource subdirectory fonts of the config directory are installed dynamically and can be used for configured or interactively changed font selection. This is especially useful for a portable installation. +Bidirectional rendering + +-Bidirectional
-rendering In addition to +its default implicit bidirectional rendering with automatic +direction detection (according to the Unicode Bidi +algorithm), mintty supports ECMA-48 bidi modes and private +bidi modes to control switchable bidi behaviour per line and +partially per paragraph (i.e. within an auto-wrapped line), +as listed in https://github.com/mintty/mintty/wiki/CtrlSeqs#bidirectional-rendering . They follow the current status of the bidi mode model of the BiDi in Terminal Emulators recommendation ( https://terminal-wg.pages.freedesktop.org/bidi/ ). -Menus
- The context -menu and its modified variants (with Ctrl etc) can be -customized; see section on Menu configuration for -details. - -Mintty also -adds a couple of items to the window menu, which can be -accessed by clicking on the program icon or pressing + Menus + ++ + +The context menu +can be opened by right-clicking the mouse (with Shift in +case right-click has been redefined or redirected to the +application) or by pressing the Menu key that is +normally located next to the right Ctrl key. If invoked +while the Ctrl key is held down, an extended context menu +will be opened, with some additional entries. + +The context menu +and its modified variants (with Ctrl etc) can be customized; +see section on Menu configuration for details. + +Mintty also adds +a couple of items to the window menu, which can be accessed +by clicking on the program icon or pressing Alt+Space. -Both menus have + Both menus have an entry that leads to the Options dialog for changing mintty’s configuration. -Text
-selection, copy & paste By default, + Text selection, copy & paste + ++ + +Screen contents +can be selected by holding down the left mouse button and +dragging the mouse. If Alt is held down before the left +mouse button, a rectangular block instead of whole lines +will be selected. The selection can be extended by holding +down Shift while left-clicking. Double-clicking or +triple-clicking selects a whole word or line, whereby word +selection includes special characters that commonly appear +in file names and URLs. + +By default, selected text is automatically copied to the clipboard. This can be disabled on the Mouse page of the Options dialog. Selected text can also be copied manually using @@ -729,18 +795,18 @@ USAGE Ctrl+C with option CtrlExchangeShift=yes), or the middle mouse button combined with Shift. -The selected + The selected region is copied as "rich text" as well as normal text, which means it can be pasted with colours and formatting into applications that support it, e.g. word processors ("true colour" attributes are not supported). -The window -title can be copied using the Copy Title command in -the window menu. +The window title +can be copied using the Copy Title command in the +window menu. -The clipboard + The clipboard contents can be pasted using either the Paste menu command, the Shift+Ins or Ctrl+Shift+V keyboard shortcuts (the latter if enabled by setting @@ -751,20 +817,20 @@ USAGE quoting is added to file names that contain spaces or special characters. -Selection + Selection highlighting is cleared on input by default. This can be disabled with option ClearSelectionOnInput=false. -The current + The current selection size can optionally been indicated with a popup, enabled with option SelectionShowSize. -Selection can + Selection can also be managed using the keyboard. Shift+middle-keypad-key (Shift+"5") enters keyboard selecting mode (modifier configurable). -Note: If both + Note: If both settings CtrlShiftShortcuts and CtrlExchangeShift are enabled, copy & paste functions are assigned to plain (unshifted) Ctrl+C @@ -772,7 +838,7 @@ USAGE
like in Windows. |
- | + | + |
|
- | - | - | + | + | + |
The options here determine what
-effects the bell character ^G has. Default beep and
-taskbar highlighting are enabled by default. Mintty can also
-play wave sounds or frequency beeps.
+
The options here determine what
+effects the bell character ˆG has. Default beep
+and taskbar highlighting are enabled by default. Mintty can
+also play wave sounds or frequency beeps.
– Bell system sound (BellType=1): Preferred
system sound, values:
-1 : Simple Beep
+
-1 : Simple Beep
0 : No Beep (overrides BellFile and BellFreq)
1 : Default Beep
2 : Critical Stop
@@ -2883,7 +3107,7 @@ CONFIGURATION
4
: Exclamation
5 : Asterisk
– Wave +
– Wave (BellFile=): The popup menu offers wave files as stored in a resource subdirectory sounds for selection. The option can also be set to a filename (like @@ -2904,7 +3128,7 @@
1 : Flash the window +
1 : Flash the window
frame (using Windows)
2 : Flash the outer character cells; not recommended;
@@ -2917,7 +3141,7 @@
– Highlight in +
– Highlight in taskbar (BellTaskbar=yes): Change the colour of mintty’s taskbar entry if the mintty window is not active. (Corresponds to the xterm resource @@ -2930,7 +3154,7 @@
A simple +
A simple
frequency beep can be configured in the configuration
file or on the command line:
– (BellFreq=0): Beep sound frequency (overrides system
@@ -2938,19 +3162,19 @@
Play Sound tone
+
Play Sound tone
(PlayTone=2)
This setting preselects the +
This setting preselects the sound tone used for the DECPS "Play Sound" note playing escape sequence. Tones 1 to 5 are currently defined, 1 is a sine waveform. These are only effective if the audio output library libao is installed. Value 0 (also the fallback) resorts to the Windows Beep function.
-
Printer (Printer=)
Printer (Printer=)
The ANSI standard defines +
The ANSI standard defines control sequences ("Media Copy") for sending text to a printer, which are used by some terminal applications such as the mail reader pine. The Windows printer to @@ -2960,10 +3184,10 @@
Prompt about running
+
Prompt about running
processes on close (ConfirmExit=yes)
If enabled, ask for +
If enabled, ask for confirmation when the close button or Alt+F4 is pressed and the command invoked by mintty still has child processes. This is intended to help avoid closing programs @@ -2971,10 +3195,17 @@
Suppress properties and
+
Prompt to confirm
+interactive reset (ConfirmReset=no)
If enabled, ask for +confirmation when a terminal reset is requested +interactively via Alt+F8 or from the menu.
+ +
Suppress properties and
features controlled by escape sequences
Using these options, the listed +
Using these options, the listed feature numbers are suppressed. Each option may contain a comma-separated list of respective numbers. Usage of these options is discouraged; users are not entitled to complain @@ -2988,7 +3219,7 @@
See +
See
https://github.com/mintty/mintty/wiki/Tips#text-attributes-and-rendering
for an overview of SGR attributes.
See
@@ -3003,10 +3234,10 @@
Suppress mouse wheel
+
Suppress mouse wheel
(SuppressMouseWheel=)
With this setting, certain +
With this setting, certain
effects of mouse wheel rolling can be disabled. The option
is a list of action tags:
– scrollwin do not mouse-scroll the scrollback
@@ -3018,14 +3249,18 @@
Command
-line
-The settings here are config file versions of command line
-options described in the OPTIONS section. They do not appear
-in the Options dialog.
+
The settings
+here are config file versions of command line options
+described in the OPTIONS section. They do not appear in the
+Options dialog.
Holding the window open (Hold=start)
The Hold setting +
The Hold setting
determines whether to keep the terminal window open when the
command has finished and no more processes are connected to
the terminal. It takes the following values:
@@ -3038,26 +3273,26 @@
Window icon (Icon=)
Window icon (Icon=)
The Icon setting with +
The Icon setting with format FILE[,INDEX] allows to load the window icon from an executable, DLL, or icon file. The optional comma-separated index can be used to select a particular icon in a file with multiple icons.
-If the setting +
If the setting is empty, as it is by default, mintty’s program icon is used, unless mintty was invoked from a desktop shortcut in which case it uses the shortcut icon.
-For interaction +
For interaction problems of icon, shortcut, and the Windows taskbar, see the note for the -i option above.
-
Log file (Log=)
Log file (Log=)
The Log setting can be +
The Log setting can be used to specify a log file that all output is copied into. If it is empty, as it is by default, no logging is done. If it contains %d it will be substituted with the @@ -3066,9 +3301,9 @@
If the log file +
If the log file name is a relative path name, it is relative from the working directory mintty was started in. To avoid failure to create a log file (especially when starting from the Start @@ -3080,64 +3315,65 @@
Note: If the +
Note: If the requested log file exists already, mintty does not overwrite it but reports an error. To configure logging in the config file, use some % placeholders to create distinct log files. Note that logging can be toggled from the extended context menu.
-See also the +
See also the script(1) utility for a more flexible logging solution.
-
Logging initially
+
Logging initially
enabled (Logging=yes)
Disabling this setting disables +
Disabling this setting disables logging initially. If a log file name is specified with Log=... and Logging=no, logging can be enabled (and toggled) from the extended context menu.
-
Filenames for screen
+
Filenames for screen
saving (SaveFilename=mintty.%Y-%m-%d_%H-%M-%S)
This setting selects the +
This setting selects the
location and filename pattern (which is expanded with the
strftime(3) function) for .html and .png screen dumps. An
initial home prefix or environment variable prefix is
expanded (POSIX path and variable syntax needs to be used in
this case). Examples:
-– SaveFilename=~/mintty.%Y-%m-%d_%H-%M-%S
+– SaveFilename=˜/mintty.%Y-%m-%d_%H-%M-%S
+
–
SaveFilename=$USERPROFILE/Pictures/mintty/%Y-%m-%d_%H-%M-%S
Note that if +
Note that if the filename pattern is a relative pathname (as is the default), it will be taken as relative to the working directory mintty was started in, with some tweaks as described above for the Log file.
-
Window title
+
Window title
(Title=)
The Title setting can be +
The Title setting can be used to determine the initial window title. If it is empty, as it is by default, the title is set to the command being run.
-
Utmp record
+
Utmp record
(Utmp=no)
If enabled, an entry for the +
If enabled, an entry for the session is written into the system’s utmp file for recording logins, so that the session appears for example in the output of the who(1) utility.
-
Initial window state
+
Initial window state
(Window=normal)
This setting determines how the +
This setting determines how the
terminal window should be shown at startup:
– normal (default)
– min (minimized)
@@ -3145,51 +3381,55 @@
Window position (X=,
+
Window position (X=,
Y=)
X and Y are +
X and Y are integer settings that can be used to determine the initial coordinates of the top left corner of the terminal window. By default, these are unset, which means that the position suggested by the window manager is used. Setting only one of -X, Y is not supported.
+X, Y is not supported. See command-line option -p for +further positioning options. -
Window class name
+
Window class name
(Class=mintty)
The Class setting +
The Class setting determines the name of the window class of the terminal window. It can be used to distinguish or group different mintty windows, or tab sets, e.g. for the mintty session switcher, or for Windows scripting tools such as AutoHotKey.
-For a flexible +
For a flexible grouping configuration, the Class option supports the same %s placeholder parameters as the AppID option.
+"Hidden"
-settings
-The following settings appear neither in the Options dialog
-nor as command line options, which means they can only be
-set in config files or using the --option or
--o command line option.
+
The following
+settings appear neither in the Options dialog nor as command
+line options, which means they can only be set in config
+files or using the --option or -o command line
+option.
Options dialog custom font and size (OptionsFont=,
OptionsFontHeight=0)
These settings change the font +
These settings change the font and fontsize in the Options dialog. (Note that scaling a custom font in the Options dialog when changing the screen resolution does not work, so Options is closed in this case.)
-
Customize Options
-dialog (OldOptions=)
Customize Options dialog
+(OldOptions=)
Listing comma-separated tags in +
Listing comma-separated tags in
this setting will disable extended or enhanced parts of the
Options dialog.
– bold Disable "Show bold" section
@@ -3201,88 +3441,88 @@
Accelerate display
-speed (DisplaySpeedup=6)
Accelerate display speed
+(DisplaySpeedup=6)
If mintty processes high volume +
If mintty processes high volume of output, it will skip up to the given number of refresh intervals (of 16ms each) in order to save output that is visually scrolled off right away, so effectively increasing output speed. The maximum value is 9.
-
Decelerate display speed to
+
Decelerate display speed to
virtual serial transmission rate (Baud=0)
This setting can demonstrate a +
This setting can demonstrate a legacy feeling of a serial terminal connection. Typical baud rates (as supported by DEC VT420) were 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 56700, 76800, 115200.
-
Bloom effect around
+
Bloom effect around
characters (Bloom=0)
This setting enables a rough +
This setting enables a rough simulation of old CRT terminals’ bloom effect.
-
Visualize terminal
+
Visualize terminal
margins (DimMargins=false)
This setting dims margin areas +
This setting dims margin areas (mainly for testing); origin mode is not considered. A user-definable menu function can also toggle this feature.
-
Clear selection
-highlighting on input (ClearSelectionOnInput=true)
Clear selection highlighting
+on input (ClearSelectionOnInput=true)
When this is disabled, keyboard +
When this is disabled, keyboard input or pasting does not clear selection highlighting.
-
Erase top lines into
+
Erase top lines into
scrollback buffer (EraseToScrollback=true)
With this setting, lines +
With this setting, lines cleared in the top part of the screen are scrolled into the scrollback buffer, so they can be restored. (Corresponds roughly to the xterm resource cdXtraScroll.)
-
Suspend output while
+
Suspend output while
selecting (SuspendWhileSelecting=8080)
During drag-selects, the user +
During drag-selects, the user may want the screen to hold still to be selected from. Mintty can suspend processing of terminal output for a while; if the buffer exceeds the size configured with this parameter (in bytes), output is flushed. Setting it to 0 disables the feature.
-
Trim trailing space from
+
Trim trailing space from
selection on copy (TrimSelection=true)
When this is disabled, trailing +
When this is disabled, trailing space that was written to the terminal in a line is included in the selection buffer. (Corresponds to the xterm resource trimSelection.)
-
Selection size
+
Selection size
indication (SelectionShowSize=0)
The current text selection size +
The current text selection size can optionally be indicated with a popup, with a value between 1 and 12, setting the popup position by clock hour.
-
Show hyperlink in window
+
Show hyperlink in window
title when hovering (HoverTitle=true)
With this setting, display of +
With this setting, display of an explicit hyperlink (OSC 8 attribute) in the window title when hovering can be disabled.
-
Show automatic progress
+
Show automatic progress
bar (ProgressBar=0)
This setting initially enables +
This setting initially enables a progress indication on the taskbar icon, based on automatic progress detection (according to setting ProgressScan). The detected progress will be notified via @@ -3292,10 +3532,10 @@
Show automatic progress
+
Show automatic progress
bar (ProgressScan=1)
This setting selects the scan +
This setting selects the scan
method to determine progress when automatic progress
detection is enabled:
– 1: single-line progress detection: if the
@@ -3308,24 +3548,24 @@
The detected +
The detected progress will be notified via progress bar according to option ProgressBar or its dynamic setting. Progress scan mode can also be switched by an escape sequence, see https://github.com/mintty/mintty/wiki/CtrlSeqs#progress-bar .
-
Single-dash long
-options (ShortLongOpts=false)
Single-dash long options
+(ShortLongOpts=false)
This settings enables names +
This settings enables names options ("long options") on the command line to be given with only one dash rather than a double dash.
-
Display control
+
Display control
characters (PrintableControls=0)
Controls characters are +
Controls characters are non-printing by default and as specified by the locale width. Setting PrintableControls=1 enables visual indication of "C1" control characters (range U+80...U+9F); @@ -3334,16 +3574,16 @@
Warning: +
Warning: With this option, control character display is inconsistent with width assumptions of the wcwidth function, which may confuse screen applications (such as editors) that rely on wcwidth information.
-
Character narrowing
+
Character narrowing
factor (CharNarrowing=75)
Depending on the font and font +
Depending on the font and font fallback (either by Windows means or via option FontChoice), some glyphs may be too wide for the character cell grid. Mintty applies automatic narrowing @@ -3352,10 +3592,10 @@
Bidirectional rendering
+
Bidirectional rendering
(Bidi=2)
With this option, bidi +
With this option, bidi rendering support can be disabled conditionally or completely. Note that this can also be changed by an escape sequence. Also there is another escape sequence to disable @@ -3365,10 +3605,10 @@
Application ID
+
Application ID
(AppID=)
Windows 7 and above use the +
Windows 7 and above use the application ID for grouping taskbar items. By default this setting is empty, in which case Windows groups taskbar items automatically based on their icon and command line. This can @@ -3376,7 +3616,7 @@
The AppID +
The AppID option supports up to 5 %s placeholder parameters for a flexible grouping configuration, also supporting positional parameters %N$s (N = 1..5), to be replaced @@ -3388,7 +3628,7 @@
The special +
The special value AppID=@ causes mintty to derive an implicit AppID from the WSL system name, in order to achieve WSL distribution-specific taskbar grouping. This resolves @@ -3396,14 +3636,14 @@
Warning: +
Warning: Using this option for a mintty window started from a Windows shortcut (desktop, taskbar, start menu) may cause trouble with taskbar grouping behaviour. If you need to do that, the shortcut itself should also get attached with the same AppId.
-Note: +
Note: Since 2.9.6, if mintty is started via a Windows shortcut which has its own AppID, it is reused for the new mintty window in order to achieve proper taskbar icon grouping. @@ -3411,7 +3651,7 @@
Explanation: +
Explanation: Note that Windows shortcut files have their own AppID. Hence, if an AppID is specified in the mintty settings, but not on a taskbar-pinned shortcut for invoking mintty, @@ -3419,7 +3659,7 @@
Hint: To +
Hint: To avoid AppID inconsistence and thus ungrouped taskbar icons, the shortcut’s AppID should to be set to the same string as the mintty AppID, which can be done using the @@ -3429,29 +3669,29 @@
Application Taskbar
-Shortcut Title (AppName=)
Application Taskbar Shortcut
+Title (AppName=)
The title of the taskbar +
The title of the taskbar shortcut (since Windows 7). If the shortcut is pinned, the title is kept only if it was made persistent as described for AppLaunchCmd.
-
Application Taskbar
-Shortcut Launch Command (AppLaunchCmd=)
Application Taskbar Shortcut
+Launch Command (AppLaunchCmd=)
The command to use if a +
The command to use if a shortcut pinned to the Windows taskbar is invoked. This is only effective if combined with an AppName option and the command-line option --store-taskbar-properties to make it persistent. It should also be combined with an explicit and unique AppID.
-Note: +
Note: The command must be given in Windows pathname syntax (e.g. AppLaunchCmd='C:\cygwin\bin\mintty -T mytitle -').
-Note: An +
Note: An explicit icon supplied with the -i option can also be stored with the persistent properties; note, however, that for this purpose, it must be given in Windows pathname syntax and it @@ -3463,7 +3703,7 @@
Example: mintty +
Example: mintty -o AppID=Mintty.PinTest.1 -o AppName=Mintty.PinTest -o AppLaunchCmd="C:\cygwin\bin\mintty -i /cygdrive/c/Windows/System32/calc.exe -" -i @@ -3471,53 +3711,53 @@
Warning: +
Warning: Once made persistent, the stored properties associated with a specific AppID cannot be removed or even modified again with normal means. For this reason, it is advisable to use temporary AppIDs for testing (like MyMintty.1).
-
Start shell in login mode
-if run from shortcut (LoginFromShortcut=yes)
Start shell in login mode if
+run from shortcut (LoginFromShortcut=yes)
By default, mintty since +
By default, mintty since version 347 will start its shell in login mode if invoked via a Windows desktop or start menu shortcut unless this setting is disabled.
-
Control ConPTY support
+
Control ConPTY support
(ConPTY=)
Setting this on or off enforces +
Setting this on or off enforces enabled or disabled support of pseudo console for native Windows programs. The default is to leave it up to the default of the system environment (cygwin or MSYS2).
-
Word selection
+
Word selection
characters (WordChars=)
By default, this string setting +
By default, this string setting is empty, in which case double-click word selection uses the default algorithm that is geared towards picking out file names and URLs.
-If a string is +
If a string is specified here, word selection only picks out characters in the string along with alphanumeric characters. For example, specifying just the underscore character (WordChars=_) would allow selecting identifiers in many programming languages.
-
Word selection exclusion
+
Word selection exclusion
characters (WordCharsExcl=)
This string can list characters +
This string can list characters that are to be excluded from word selection.
-
Filtering pasted text
+
Filtering pasted text
(FilterPasteControls=)
With this setting, pasted text +
With this setting, pasted text can be filtered for selected control characters which are then replaced by space. Filtering is not applied when Control is held while pasting. The option is a @@ -3534,10 +3774,10 @@
Line splitting in bracketed
+
Line splitting in bracketed
paste mode (BracketedPasteByLine=0)
In bracketed paste mode (which +
In bracketed paste mode (which embeds pasted contents in bracketing escape sequences), it can be considered a security issue for the command line if bracket embedding is applied only for the whole paste @@ -3549,16 +3789,16 @@
Note: +
Note: This is meanwhile handled better by shell versions which highlight and hold back the pasted text until confirmed, so for consistent and uniform appearance, the default is 0 from mintty 3.5.2.
-
Special key remapping
+
Special key remapping
[DEPRECATED, see KeyFunctions]
These options can attach a +
These options can attach a specific string to some special keys. If the string is a number, a corresponding Escape sequence will be generated, applying Shift/Ctrl/Alt modifiers, following the pattern of @@ -3570,24 +3810,24 @@
Examples:
+
Examples:
Key_Menu=29 would make the Menu key send the same escape
sequence as in xterm
Key_Break=2 would turn the Break key into an Insert key
Key_Break=_BRK_ would assign the simulated terminal line
Break function
User-defined shortcuts
+
User-defined shortcuts
(KeyFunctions=)
With this setting, function +
With this setting, function keys, modified function keys, and Ctrl+Shift+key and other modified combinations of plain character keys can be mapped to invoke specific functions or generate user-defined input. @@ -3595,18 +3835,18 @@
Note that +
Note that Win+key combinations are often reserved by Windows.
-Note that +
Note that Shift+char combinations of plain character keys can not be remapped as they have a character assigned already within the basic keyboard layout. Likewise, Ctrl+char and Alt+char @@ -3616,13 +3856,13 @@
Note that the +
Note that the setting string must not be terminated with a Windows lineend, as its CR would be considered part of the last item; this can be prevented with a final semicolon separator.
-Supported keys +
Supported keys
are described as follows:
– function keys F1...F24
– modified function keys or special keys (see below),
@@ -3667,17 +3907,17 @@
Note: A +
Note: A key that needs a modifier already to be sent (e.g. Break which is often Ctrl+Pause) also needs that modifier in the key definition to be matched.
-Note: +
Note: Like in xterm, a key redefinition takes precedence over modifyOtherKeys mode (ESC sequence). Shortcut override mode however disables key redefinitions.
-Note: +
Note: For the "any character, with Ctrl and Shift" option, the definition is ignored if the Ctrl+Shift+key combination would generate a valid input character already. @@ -3688,18 +3928,18 @@
Supported +
Supported
actions are described as follows:
– "string" or
'string': enters the literal string
-– ^char: enters a control char
+– ˆchar: enters a control char
(’@’...’_’ or ’?’ for
DEL)
– `command` (**): enters the
output of the command
– number (***): enters the escape sequence
-CSInumber[;mod]~
+CSInumber[;mod]˜
– fullscreen (*): switches to fullscreen mode
– toggle-fullscreen (*): toggles fullscreen
@@ -3776,12 +4016,12 @@
– +
–
switch-prev: switch to previous virtual tab
– switch-next: switch to next virtual tab
– switch-visible-prev: switch to previous
@@ -3842,7 +4083,7 @@
– +
–
hor-left-1: horizontal scrolling left by 1 column
– hor-right-1: horizontal scrolling right by 1
@@ -3868,11 +4109,11 @@
Note +
Note (*): The exact behaviour of some actions depends on the state of the Shift key.
-Note +
Note (**): For external commands as key functions, the same additional functionality is provided as for context menu user commands (option UserCommands): environment @@ -3880,28 +4121,28 @@
Note +
Note (***): An unquoted number causes mintty to form a function key sequence, applying all modifiers.
-Note: To +
Note: To just disable the built-in shortcut (and not override it with a user-defined one), but further process the key as normal input, leave the action empty, but include the colon.
-Note: To +
Note: To disable the built-in shortcut and not process the key either, use the "void" dummy action.
-Note: An +
Note: An invalid action (like "foo") will make mintty beep on the key.
-Note: If +
Note: If an assignment to any of the Lock keys is defined, mintty will compensate for its implicit state change effect.
-Examples:
+
Examples:
– KeyFunctions=d:`echo -n
`date``;A+F4:;CA+F12:break;-:"minus" will
input the current date on Ctrl+Shift+d, disable window
@@ -3915,10 +4156,10 @@
- | + | + | - | + |
– KeyFunctions=A+Left:switch-prev;A+Right:switch-next;\ | |
- | + | + | - | + |
@@ -3958,19 +4199,19 @@ CONFIGURATION the "editing keypad" (prefix KP_ for the numeric keypad) | |
- | + | + | - | + |
– KeyFunctions=S+KP_Prior:scroll_pgup;C+KP_Prior:scroll_pgup;\ | |
- | + | + | - | + |
C+KP_Next:scroll_pgdn;S+KP_Next:scroll_pgdn @@ -3978,34 +4219,34 @@ CONFIGURATION modifiers |
– +
– KeyFunctions=ScrollLock:toggle-no-scroll enables NoScroll key
- | + | + | - | + |
– KeyFunctions=C+Left:hor-left-1;C+Right:hor-right-1;\ | |
- | + | + | - | + |
CS+Left:hor-out-1;CS+Right:hor-in-1;\ | |
- | + | + | - | + |
S+Left:hor-narrow-1;S+Right:hor-wide-1 enables @@ -4014,10 +4255,10 @@ CONFIGURATION keypad) |
Enable overriding of basic
+
Enable overriding of basic
key mappings (ShootFoot=no)
With this setting, basic +
With this setting, basic characters of the keyboard layout as modified with Control or Alt can be remapped to user-defined functions with option KeyFunctions. The usage of this option is discouraged @@ -4025,10 +4266,10 @@
Manage keyboard LEDs
+
Manage keyboard LEDs
(ManageLEDs=7)
Mintty manages the keyboard +
Mintty manages the keyboard indicator lights (LEDs) for the CapsLock, Numlock, and ScrollLock state in order to achieve consistent indication. If any of these keys have a user-defined function attached, @@ -4041,52 +4282,52 @@
Use system colours
+
Use system colours
(UseSystemColours=no)
If this is set, the +
If this is set, the Windows-wide colour settings are used instead of the foreground, background, and cursor colours chosen on the Looks page of the Options dialog.
-
IME cursor colour
+
IME cursor colour
(IMECursorColour=)
The cursor colour can be set to +
The cursor colour can be set to change when the Input Method Editor (IME) for entering characters not available directly on the keyboard is active. The setting is a RGB triplet such as 255,0,0 for bright red.
-By default, +
By default, this is unset, which means that the cursor colour does not change.
-
ANSI colours
ANSI colours
The sixteen ANSI colours can be +
The sixteen ANSI colours can be chosen with the settings below. Colours are represented as comma-separated RGB triples with decimal 8-bit values ranging from 0 to 255.
-X11-style +
X11-style hexadecimal colour specifications such as #RRGGBB, rgb:RR/GG/BB, rgb:RRRR/GGGG/BBBB, cmy:C.C/M.M/Y.Y or cmyk:C.C/M.M/Y.Y/K.K, as well as X11 colour names, can be used as well.
-The ANSI +
The ANSI colours can have different values for foreground and background use. These need to be separated by a semicolon, for example 127,127,127;85,85,85 for different shades of grey. If only one value is specified, it is used for both foreground and background.
-For the default +
For the default values, please see the ’helmholtz’ theme in directory /usr/share/mintty/themes.
-– +
–
Black=
– Red=
– Green=
@@ -4104,10 +4345,10 @@
Tektronix mode
+
Tektronix mode
colours
For Tektronix 4014 emulation, +
For Tektronix 4014 emulation,
colours can be overridden; TekWriteThruColour and
TekDefocusedColour can be used to visualize
Write-Thru and Defocused modes.
@@ -4117,47 +4358,47 @@
Tektronix mode font
+
Tektronix mode font
(TekFont=)
For Tektronix 4014 emulation, a +
For Tektronix 4014 emulation, a dedicated font can be selected. The terminal default font is used otherwise.
-
Tektronix mode effect
+
Tektronix mode effect
(TekGlow=1)
The Tektronix drawing beam glow +
The Tektronix drawing beam glow can be switched with this setting.
-
Tektronix "strap
+
Tektronix "strap
option" (TekStrap=0)
Number of characters appended +
Number of characters appended
after GIN mode address reports; valid values are 0, 1 (CR)
-and 2 (CR ^C).
+and 2 (CR ˆC).
(Corresponds to the xterm resource
ginTerminator.)
Downloaded colour
-scheme (ColourScheme=)
Downloaded colour scheme
+(ColourScheme=)
This setting is not intended +
This setting is not intended for manual configuration. It can store a colour scheme as downloaded from the Color Scheme Configurator or from a theme file on the web via drag-and-drop to the Theme of the Options menu. After the colour scheme is stored to a colour scheme file, this setting is not used anymore.
-See the Tips +
See the Tips wiki page https://github.com/mintty/mintty/wiki/Tips#using-colour-schemes-themes about this mechanism.
-
Selection highlight
+
Selection highlight
colours
The highlighting colours of +
The highlighting colours of
selected text can be configured.
– HighlightBackgroundColour= selected text
background (corresponds to the xterm resource
@@ -4167,22 +4408,22 @@
Scrollback search
+
Scrollback search
colours
The highlighting colours of +
The highlighting colours of
search matches can be configured.
– SearchForegroundColour=black
– SearchBackgroundColour=light yellow
– SearchCurrentColour=bright yellow
Background image or
+
Background image or
texture (Background=)
With this option, an image can +
With this option, an image can
be chosen as background. With an image file name, absolute
-(with an optional ~ prefix) or relative to the
+(with an optional ˜ prefix) or relative to the
current terminal foreground process, the option uses the
image as a background picture, with variations as indicated
by a prefix character to the filename:
@@ -4198,21 +4439,21 @@ CONFIGURATION
applicable if desktop wallpaper is set as being
"tiled" and unscaled)
The background +
The background can be changed with an OSC 11 escape sequence, instead of a colour using a background specification prefixed with either of _, %, *, +, =.
-If the +
If the background filename is followed by a comma and a number between 1 and 254, the background image will be dimmed towards the background colour; with a value of 255, the alpha transparency values of the image will be used.
-
Scrollback search bar
+
Scrollback search bar
(SearchBar=)
This string option can +
This string option can customize the order of items in the search bar. Use x (close button), </> (previous/next buttons), s (search string) to select the order of these fields in the search @@ -4225,37 +4466,37 @@
Scrollback search
+
Scrollback search
context (SearchContext=0)
This option will place the +
This option will place the search result at the given distance from the terminal top/bottom border when scrolling to the result location. If the value is negative, it will also keep the result at the (positive) distance if the result is already visible.
-
Write if exited
+
Write if exited
(ExitWrite=no)
Together with a hold option +
Together with a hold option that keeps the terminal open after its child process terminated, this option always writes an exit indication to the screen. By default, only an error exit code is displayed.
-
Change title if exited
+
Change title if exited
(ExitTitle=)
Together with a hold option +
Together with a hold option that keeps the terminal open after its child process terminated, this option prefixes the window title with its string, for example -o ExitTitle="TERMINATED: ".
-
Mouse pointer styles
+
Mouse pointer styles
(MousePointer=ibeam, AppMousePointer=arrow)
This setting defines the mouse +
This setting defines the mouse position indicator (i.e. not the text cursor) from the given resource. Note that mintty maintains two different mouse pointer shapes, to distinguish application mouse reporting @@ -4267,51 +4508,51 @@
Configure document opening
+
Configure document opening
by mouse click (OpeningClicks=1)
Enabling opening files, +
Enabling opening files, directories or URLs with mouse clicking, in addition to the context menu. Values 1, 2, or 3 require Ctrl+mouse-click, double-click, or triple-click, respectively, to invoke the document opening. Value 0 disables click-opening.
-
Control key and shortcut
+
Control key and shortcut
Shift exchange (CtrlExchangeShift=no)
Exchange the range of Control +
Exchange the range of Control characters with the range of Ctrl+Shift shortcuts, so that for example Ctrl+V will paste and Ctrl+Shift+V will enter a Control+V character.
-
Mouse zooming
+
Mouse zooming
(ZoomMouse=yes)
Enabling font zooming with +
Enabling font zooming with Ctrl+mouse-wheel/middle-mouse-click.
-
Scroll lines per mouse
-wheel notch (LinesPerMouseWheelNotch=0)
Scroll lines per mouse wheel
+notch (LinesPerMouseWheelNotch=0)
With this setting, the number +
With this setting, the number of lines counted per notch of the mouse wheel can be set to a maximum of the terminal height - 1. This applies to scrollback scrolling as well as to mousewheel reporting but not to mouse tracking reports. The default is to take the value from a system setting, typically 3.
-
Disable Shift-coupled
+
Disable Shift-coupled
implicit font zooming (ZoomFontWithWindow=yes)
If this option is set to false, +
If this option is set to false, implicit font zooming coupled with window zooming by the Shift key is disabled, except for the keyboard zoom functions Shift+Alt+Enter and the Shift+menu function.
-
Handling of DPI changes
+
Handling of DPI changes
(HandleDPI=2)
When the window is moved to +
When the window is moved to another monitor that has a different DPI value ("scaling factor") configured, newer Windows 10 versions support semi-automatic compensation by appropriate @@ -4319,36 +4560,36 @@
Check availability of
-mintty version update (CheckVersionUpdate=0)
Check availability of mintty
+version update (CheckVersionUpdate=0)
If non-zero (e.g. 900), mintty +
If non-zero (e.g. 900), mintty checks whether there is a version update available whenever the Options dialog is opened and this was not checked within the last given number of seconds.
-
Sixel image clipboard
+
Sixel image clipboard
substitution (SixelClipChars=space)
Characters to copy to clipboard +
Characters to copy to clipboard as a substitute for Sixel image graphics, to indicate their positions. With an empty value, U+FFFC will be used. Double-width characters should not be used here.
-
Drag-and-drop
+
Drag-and-drop
application-targetted commands (DropCommands=)
With this setting, a set of +
With this setting, a set of string patterns can be configured for paste insertion, in dependence of the program running in the terminal foreground.
-Note: +
Note: Detection of terminal foreground processes works only locally; this features does not work with WSL or after remote login.
-The value is a +
The value is a series of semicolon-separated, colon-combined pairs of program name and drop pattern. The pattern is pasted; a single placeholder "%s" is replaced with the @@ -4359,19 +4600,19 @@
Note that the +
Note that the setting string must not be terminated with a Windows lineend, as its CR would be considered part of the last item; this can be prevented with a final semicolon separator.
-Note: +
Note: This feature potentially makes mintty vulnerable against command injection. Be careful what commands you configure! For shell commands, it is advisable to embed the @@ -4380,96 +4621,98 @@
Examples:
+
Examples:
– DropCommands=bash:cd
-'%s'^M;mined:^[fo^M%s^M;vim:^[:e %s^M
-– DropCommands=^_bash:cd '%s';echo $PWD^M^_vim:^[:e
-%s^M^_
-– DropCommands=cmd:cd /D %W^M
Note: An +
Note: An "Enter" key has to be specified with the CR character code, control characters need to be embedded -verbatim (indicated above as "^M" or -"^["); there is no escape notation.
+verbatim (indicated above as "ˆM" or +"ˆ["); there is no escape notation. -Note: If +
Note: If different actions for directories/folders or even different command invocations depending on file name pattern are desired, this should be handled by a suitable cooperating shell function.
-
Exit application-targetted
+
Exit application-targetted
commands (ExitCommands=)
With this setting, a set of +
With this setting, a set of strings can be configured to be sent to respective applications, in dependence of the program running in the terminal foreground, if the window is instructed to "Close" from its menu or close button.
-Note: +
Note: Detection of terminal foreground processes works only locally; this features does not work with WSL or after remote login.
-The value is a +
The value is a series of semicolon-separated, colon-combined pairs of program name and (control) string. The string is sent to the client application. If a semicolon shall be embedded into any of the drop patterns, a non-whitespace control character -(i.e. none of ^I^J^K^L^M) can be specified as an -alternative separator by starting the whole setting with it. -The definition list can be split over multiple lines if a -separator is followed by a backslash, newline, and optional -whitespace indentation.
+(i.e. none of ˆIˆJˆKˆLˆM) +can be specified as an alternative separator by starting the +whole setting with it. The definition list can be split over +multiple lines if a separator is followed by a backslash, +newline, and optional whitespace indentation. -Note that the +
Note that the setting string must not be terminated with a Windows lineend, as its CR would be considered part of the last item; this can be prevented with a final semicolon separator.
-Note: +
Note: This feature potentially makes mintty vulnerable against command injection. Be careful what strings you configure!
-Example:
+
Example:
–
-ExitCommands=bash:exit^M;mined:^[q;emacs:^X^C
Note: An +
Note: An "Enter" key has to be specified with the CR character code, control characters need to be embedded -verbatim (indicated above as "^M", "^[", -"^X", "^C"); there is no escape -notation.
+verbatim (indicated above as "ˆM", +"ˆ[", "ˆX", +"ˆC"); there is no escape notation. -
User commands
+
User commands
(UserCommands=) [DEPRECATED, see
CtxMenuFunctions]
This setting lists user-defined +
This setting lists user-defined commands for the extended context menu. The value is a series of semicolon-separated, colon-combined pairs of menu item label and command pattern; the command is invoked and its standard output is pasted into the terminal, applying bracketed-paste mode if enabled. If a semicolon shall be embedded into any of the command patterns, a non-whitespace -control character (i.e. none of ^I^J^K^L^M) can be -specified as an alternative separator by starting the whole -setting with it. The definition list can be split over -multiple lines if a separator is followed by a backslash, -newline, and optional whitespace indentation.
+control character (i.e. none of +ˆIˆJˆKˆLˆM) can be specified +as an alternative separator by starting the whole setting +with it. The definition list can be split over multiple +lines if a separator is followed by a backslash, newline, +and optional whitespace indentation. -Note that the +
Note that the setting string must not be terminated with a Windows lineend, as its CR would be considered part of the last item; this can be prevented with a final semicolon separator.
-Mintty provides +
Mintty provides
useful information in environment variables:
MINTTY_SELECT for the current selection
MINTTY_BUFFER for the complete terminal contents including
@@ -4486,37 +4729,37 @@
Note: +
Note: Menu item labels are subject to localization if they are added to the localization file of the selected UI localization language (in subdirectory lang of a mintty resource directory).
-Note: +
Note: Menu item labels can contain a & sign to indicate a key shortcut for menu item selection.
-Note: +
Note: The previous command can be detected if prompt lines are -marked with the escape sequence ^[[?7711h. See the Control -Sequences wiki page +marked with the escape sequence ˆ[[?7711h. See the +Control Sequences wiki page https://github.com/mintty/mintty/wiki/CtrlSeqs#scroll-markers .
-Note: +
Note: The PATH environment for the external command can be set up with option UserCommandsPath.
-Note: +
Note: This is an experimental feature, with an experimental configuration format.
-Note: +
Note: Normal terminal interaction continues after the invoked commands have terminated. Be careful not to configure commands that can stall or block!
-Note: +
Note: This feature potentially makes mintty vulnerable against command injection. Be careful what commands you configure! Especially do not embed environment variable parameters @@ -4524,31 +4767,31 @@
Examples:
+
Examples:
– UserCommands=Paste capital:echo -n
"$MINTTY_SELECT" | tr 'a-z' 'A-Z';Paste small:echo
-n "$MINTTY_SELECT" | tr 'A-Z' 'a-z'
– UserCommands=google:cygstart
https://www.google.de/search?q="$MINTTY_SELECT"
Note: +
Note: Control characters need to be embedded verbatim; there is no escape notation.
-
User commands PATH
+
User commands PATH
expansion (UserCommandsPath=/bin:%s)
This setting defines the PATH +
This setting defines the PATH environment for user-defined external commands, applicable to extended context menu commands (UserCommands=...:...) and key-attached external commands (KeyFunctions=...:`...`). If the value contains a single %s placeholder, the current environment PATH is substituted for it.
-
System menu user
+
System menu user
commands (CtxMenuFunctions=)
This setting lists user-defined +
This setting lists user-defined functions or commands for the context menus (right mouse click in text area). If it is configured, it is by default included in the extended context menu (Control+right-click) @@ -4557,55 +4800,57 @@
The value is a +
The value is a series of semicolon-separated, colon-combined pairs of key and action descriptors (if a semicolon shall be embedded into any of the action descriptors, a non-whitespace control -character (i.e. none of ^I^J^K^L^M) can be specified +character (i.e. none of +ˆIˆJˆKˆLˆM) can be specified as an alternative separator by starting the whole setting with it). The definition list can be split over multiple lines if a separator is followed by a backslash, newline, and optional whitespace indentation.
-The +
The configuration is similar to the UserCommands setting with respect to menu labels, and to KeyFunctions setting with respect to function designations; respective notes and warnings apply.
-Note that the +
Note that the setting string must not be terminated with a Windows lineend, as its CR would be considered part of the last item; this can be prevented with a final semicolon separator.
-
System menu user
+
System menu user
commands (SysMenuFunctions=)
This setting lists user-defined +
This setting lists user-defined functions or commands for the system menu (right mouse click on title bar or left click on title bar icon). If it is configured, the middle items of the menu (including Options... and New) are replaced by the configured functions.
-The value is a +
The value is a series of semicolon-separated, colon-combined pairs of key and action descriptors (if a semicolon shall be embedded into any of the action descriptors, a non-whitespace control -character (i.e. none of ^I^J^K^L^M) can be specified +character (i.e. none of +ˆIˆJˆKˆLˆM) can be specified as an alternative separator by starting the whole setting with it). The definition list can be split over multiple lines if a separator is followed by a backslash, newline, and optional whitespace indentation.
-Note that the +
Note that the setting string must not be terminated with a Windows lineend, as its CR would be considered part of the last item; this can be prevented with a final semicolon separator.
-The +
The configuration is similar to the UserCommands setting with respect to menu labels, and to KeyFunctions setting with respect to function designations; respective @@ -4616,14 +4861,14 @@
Examples:
+
Examples:
– SysMenuFunctions=&Lock Title:lock-title;Copy
&Title:copy-title;&Options...:options;Ne&w:new-window
Session launcher
+
Session launcher
commands (SessionCommands=)
This setting lists mintty +
This setting lists mintty invocation parameters for the session launcher. The value is a series of semicolon-separated, colon-combined pairs of session launch names (used as menu item labels) and @@ -4631,38 +4876,38 @@
Note that the +
Note that the setting string must not be terminated with a Windows lineend, as its CR would be considered part of the last item; this can be prevented with a final semicolon separator.
-Note: +
Note: Session launch names are subject to localization if they are added to the localization file of the selected UI localization language (in subdirectory lang of a mintty resource directory).
-Examples:
+
Examples:
– SessionCommands=big:-w
max;Ubuntu:--WSL=Ubuntu;mybox:ssh mybox
– SessionCommands=mycolours:-C
-~/.minttyrc.mycolours
Note: +
Note: Control characters need to be embedded verbatim; there is no escape notation.
-
Taskbar commands
+
Taskbar commands
(TaskCommands=)
This setting lists mintty +
This setting lists mintty invocation parameters for the "Tasks" list in the taskbar icon, also known as "jump list". The value is a series of semicolon-separated, colon-combined pairs of @@ -4670,25 +4915,26 @@
Note that the +
Note that the setting string must not be terminated with a Windows lineend, as its CR would be considered part of the last item; this can be prevented with a final semicolon separator.
-Note: +
Note: This feature only works in combination with a parameter -o AppID=.... If the taskbar icon is "pinned" to the taskbar, the task list is retained with it, initially...
-Note: To +
Note: To make the jump list persistent, it is necessary to carefully apply additional tricks to satisfy the insane taskbar configuration paradigm of Windows. First, also configure a @@ -4698,32 +4944,32 @@
Note: +
Note: Task names are subject to localization if they are added to the localization file of the selected UI localization language (in subdirectory lang of a mintty resource directory).
-Note: If +
Note: If the parameter list contains "--WSL", mintty will try to determine a suitable WSL distribution icon for the jump list, or use the WSLtty default icon from the mintty resource subdirectory icon, or from the WSLtty package if installed.
-Examples:
+
Examples:
– TaskCommands=big:-w
max;Ubuntu:--WSL=Ubuntu;mybox:ssh mybox
– TaskCommands=mycolours:-C
-~/.minttyrc.mycolours
Note: +
Note: Control characters need to be embedded verbatim; there is no escape notation.
-
Menu configuration
Menu configuration
These settings allow to +
These settings allow to
customize the context menu as opened in various ways.
– Mouse (MenuMouse=b); the normal
mouse-right-click context menu
@@ -4740,7 +4986,7 @@
Menu contents +
Menu contents
can be configured by a sequence of characters with the
following meaning:
– b: basic context menu
@@ -4761,20 +5007,20 @@
Note: +
Note: With empty values for MenuTitleCtrlLeft/Right the default session launcher for Ctrl+left/right-click on title bar can be disabled.
-Note: In +
Note: In multi-column layout (using a | vertical separator), a Windows bug causes fallback to a default theme, affecting colours and icons.
-
Session geometry
+
Session geometry
synchronization / Virtual tabs (SessionGeomSync=0)
This setting defines the level +
This setting defines the level
of approximation of "tabbed" window operation
within the Virtual Tabs feature:
– 0: no geometry handling; terminal session
@@ -4787,25 +5033,25 @@
Tabbar and tab
+
Tabbar and tab
synchronization (TabBar=0)
Setting +
Setting TabBar=level enables an interactive tabbar as an alternative session switcher. It raises the effective window position synchronization to the given level as if also setting SessionGeomSync=level. It is recommended to use level 3 or higher.
-Note: +
Note: The tabbar can also be switched dynamically with the user-definable function toggle-tabbar assigned to a hotkey or configured into the context menu.
-
Tabbar grouping
+
Tabbar grouping
(NewTabs=0)
Setting NewTabs=1 is +
Setting NewTabs=1 is applicable to mintty if started from a desktop shortcut. It will start a new window, i.e. a new tab group (if tabbar is enabled) in this case. (Adding command-line option @@ -4815,9 +5061,9 @@
Tabbar highlighting
Tabbar highlighting
With these settings, colour +
With these settings, colour
highlighting of the active tab in the tabbar can be
configured.
– TabForegroundColour=
@@ -4828,33 +5074,44 @@
Console
-issue
-Mintty, like xterm and rxvt and other terminals,
-communicates with the child process through a pseudo
-terminal device, which Cygwin emulates using Windows pipes,
-causing issues with native Windows command line programs.
-Cygwin 3.1.0 compensates for this issue via the ConPTY API
-of Windows 10. MSYS2, however, did not enable this support
-by default until end of 2022. See
+
Mintty, like +xterm and rxvt and other terminals, communicates with the +child process through a pseudo terminal device, which Cygwin +emulates using Windows pipes, causing issues with native +Windows command line programs. Cygwin 3.1.0 compensates for +this issue via the ConPTY API of Windows 10. MSYS2, however, +did not enable this support by default until end of 2022. +See https://github.com/mintty/mintty/wiki/Tips#inputoutput-interaction-with-alien-programs for further hints, also on the winpty wrapper for older systems.
+Termcap/terminfo
-
-Mintty has two termcap or terminfo entries,
-mintty and mintty-direct (the latter
-reflecting true-colour capability). However, it sets the
-environment variable TERM to xterm by default
-in order to provide maximal seamless compatibility also in
-case of remote login.
Screen
-control features, DEC and xterm compatibility
-Mintty is compatible with xterm screen control. It supports
-DEC terminal screen features up to the VT500 series except
+
+
Mintty has two +termcap or terminfo entries, mintty and +mintty-direct (the latter reflecting true-colour +capability). However, it sets the environment variable +TERM to xterm by default in order to provide +maximal seamless compatibility also in case of remote +login.
+ +Mintty is +compatible with xterm screen control. It supports DEC +terminal screen features up to the VT500 series except DECRLM (right-to-left cursor motion), also supporting VT52 mode, thus being fully VT100-compatible, and VT320 status lines. It also includes most other xterm-specific control @@ -4862,7 +5119,7 @@
In addition, +
In addition, mintty supports a maximum of ANSI and ECMA-48 character attribute controls (including RGB and CMYK true-colour support, italic, overline, strikeout, rapid blinking, @@ -4879,20 +5136,20 @@
For +
For mintty-specific private escape sequences and extensions, see https://github.com/mintty/mintty/wiki/CtrlSeqs .
-Mintty also +
Mintty also provides emulation of the Tektronix 4014 vector graphics terminal, including "writethru" and "defocused" beam modes (for which colour indication can be configured), write beam glow and GIN mode, and APL character mode.
-Mintty is not -as configurable as xterm; it offers essential configuration +
Mintty is not as +configurable as xterm; it offers essential configuration features, many of which are "hidden settings", i.e. they do not appear in the interactive "Options" configuration dialog. Of xterm’s @@ -4905,7 +5162,7 @@
Additional +
Additional information can be found on the wiki on the mintty project page https://github.com/mintty/mintty/wiki @@ -4916,16 +5173,16 @@
Copyright (C) +
Copyright (C) 2022 Thomas Wolff, Andy Koppe
-Mintty is +
Mintty is released under the terms of the the GNU General Public License version 3. See http://gnu.org/licenses/gpl for the license text.
-There is NO +
There is NO WARRANTY, to the extent permitted by law.
Please report +
Please report bugs or suggest enhancements via the issue tracker at https://github.com/mintty/mintty/issues . Questions can be sent to the Cygwin mailing list at diff --git a/src/appinfo.h b/src/appinfo.h index 6eb51164..fe22b67c 100644 --- a/src/appinfo.h +++ b/src/appinfo.h @@ -6,7 +6,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 6 -#define PATCH_NUMBER 4 +#define PATCH_NUMBER 5 #define BUILD_NUMBER 0 // needed for res.rc diff --git a/src/composed.t b/src/composed.t index c4110ced..6e81dee2 100644 --- a/src/composed.t +++ b/src/composed.t @@ -5,6 +5,7 @@ {{0x0020, 0x002E}, " "}, {{0x0020, 0x003C}, "ˇ"}, {{0x0020, 0x003E}, "^"}, + {{0x0020, 0x005F}, "¯"}, {{0x0021, 0x0021}, "¡"}, {{0x0021, 0x002B, 0x004F}, "Ợ"}, {{0x0021, 0x002B, 0x0055}, "Ự"}, @@ -538,6 +539,8 @@ {{0x002D, 0x002D, 0x0020}, ""}, {{0x002D, 0x002D, 0x002D}, "—"}, {{0x002D, 0x002D, 0x002E}, "–"}, + {{0x002D, 0x002E, 0x0045}, "Ė̄"}, + {{0x002D, 0x002E, 0x0065}, "ė̄"}, {{0x002D, 0x002F}, "⌿"}, {{0x002D, 0x003A}, "÷"}, {{0x002D, 0x003E}, "→"}, @@ -551,6 +554,7 @@ {{0x002D, 0x0059}, "¥"}, {{0x002D, 0x005C}, "⍀"}, {{0x002D, 0x005E}, "¯"}, + {{0x002D, 0x005F}, "−"}, {{0x002D, 0x0061}, "ā"}, {{0x002D, 0x0064}, "đ"}, {{0x002D, 0x0065}, "ē"}, @@ -621,6 +625,7 @@ {{0x002F, 0x002F}, "\\"}, {{0x002F, 0x003C}, "\\"}, {{0x002F, 0x003D}, "≠"}, + {{0x002F, 0x0042}, "Ƀ"}, {{0x002F, 0x0043}, "₡"}, {{0x002F, 0x0044}, "Đ"}, {{0x002F, 0x0047}, "Ǥ"}, @@ -834,6 +839,7 @@ {{0x0043, 0x002F}, "₡"}, {{0x0043, 0x003C}, "Č"}, {{0x0043, 0x003D}, "€"}, + {{0x0043, 0x0043}, "ℂ"}, {{0x0043, 0x0045}, "₠"}, {{0x0043, 0x004F}, "©"}, {{0x0043, 0x006F}, "©"}, @@ -867,7 +873,6 @@ {{0x0047, 0x002E}, "Ġ"}, {{0x0047, 0x0054}, ">"}, {{0x0047, 0x0055}, "Ğ"}, - {{0x0047, 0x0075}, "Ğ"}, {{0x0047, 0x02D8}, "Ğ"}, {{0x0048, 0x002C}, "Ḩ"}, {{0x0049, 0x0022}, "Ï"}, @@ -901,6 +906,7 @@ {{0x004E, 0x003C}, "Ň"}, {{0x004E, 0x003D}, "₦"}, {{0x004E, 0x0047}, "Ŋ"}, + {{0x004E, 0x004E}, "ℕ"}, {{0x004E, 0x004F}, "№"}, {{0x004E, 0x006F}, "№"}, {{0x004E, 0x007E}, "Ñ"}, @@ -932,11 +938,13 @@ {{0x0050, 0x003D}, "₽"}, {{0x0050, 0x0050}, "¶"}, {{0x0050, 0x0074}, "₧"}, + {{0x0051, 0x0051}, "ℚ"}, {{0x0052, 0x0027}, "Ŕ"}, {{0x0052, 0x002C}, "Ŗ"}, {{0x0052, 0x003C}, "Ř"}, {{0x0052, 0x003D}, "₹"}, {{0x0052, 0x004F}, "®"}, + {{0x0052, 0x0052}, "ℝ"}, {{0x0052, 0x006F}, "®"}, {{0x0052, 0x0073}, "₨"}, {{0x0053, 0x0021}, "§"}, @@ -948,7 +956,6 @@ {{0x0053, 0x004D}, "℠"}, {{0x0053, 0x004F}, "§"}, {{0x0053, 0x0053}, "ẞ"}, - {{0x0053, 0x006D}, "℠"}, {{0x0054, 0x002C}, "Ţ"}, {{0x0054, 0x002D}, "Ŧ"}, {{0x0054, 0x002E}, "Ṫ"}, @@ -957,7 +964,6 @@ {{0x0054, 0x003C}, "Ť"}, {{0x0054, 0x0048}, "Þ"}, {{0x0054, 0x004D}, "™"}, - {{0x0054, 0x006D}, "™"}, {{0x0055, 0x0020, 0x002C, 0x0045}, "Ḝ"}, {{0x0055, 0x0020, 0x002C, 0x0065}, "ḝ"}, {{0x0055, 0x0021, 0x0041}, "Ặ"}, @@ -1020,6 +1026,7 @@ {{0x005A, 0x0027}, "Ź"}, {{0x005A, 0x002E}, "Ż"}, {{0x005A, 0x003C}, "Ž"}, + {{0x005A, 0x005A}, "ℤ"}, {{0x005B, 0x005D}, "⌷"}, {{0x005C, 0x002D}, "⍀"}, {{0x005C, 0x003F}, "☭"}, @@ -1033,7 +1040,7 @@ {{0x005E, 0x0028}, "⁽"}, {{0x005E, 0x0029}, "⁾"}, {{0x005E, 0x002B}, "⁺"}, - {{0x005E, 0x002D}, "¯"}, + {{0x005E, 0x002D}, "⁻"}, {{0x005E, 0x002E}, "·"}, {{0x005E, 0x002F}, "|"}, {{0x005E, 0x0030}, "⁰"}, @@ -1098,6 +1105,7 @@ {{0x005E, 0x043E}, "о̂"}, {{0x005E, 0x0440}, "р̂"}, {{0x005E, 0x0443}, "у̂"}, + {{0x005F, 0x0020}, "¯"}, {{0x005F, 0x0021, 0x004C}, "Ḹ"}, {{0x005F, 0x0021, 0x0052}, "Ṝ"}, {{0x005F, 0x0021, 0x006C}, "ḹ"}, @@ -1112,9 +1120,12 @@ {{0x005F, 0x0028}, "₍"}, {{0x005F, 0x0029}, "₎"}, {{0x005F, 0x002B}, "₊"}, + {{0x005F, 0x002D}, "₋"}, {{0x005F, 0x002E, 0x0041}, "Ǡ"}, + {{0x005F, 0x002E, 0x0045}, "Ė̄"}, {{0x005F, 0x002E, 0x004F}, "Ȱ"}, {{0x005F, 0x002E, 0x0061}, "ǡ"}, + {{0x005F, 0x002E, 0x0065}, "ė̄"}, {{0x005F, 0x002E, 0x006F}, "ȱ"}, {{0x005F, 0x0030}, "₀"}, {{0x005F, 0x0031}, "₁"}, @@ -1432,7 +1443,6 @@ {{0x0067, 0x002E}, "ġ"}, {{0x0067, 0x0055}, "ğ"}, {{0x0067, 0x0074}, ">"}, - {{0x0067, 0x0075}, "ğ"}, {{0x0067, 0x02D8}, "ğ"}, {{0x0068, 0x002C}, "ḩ"}, {{0x0069, 0x0022}, "ï"}, @@ -1508,7 +1518,6 @@ {{0x0073, 0x002E}, "ṡ"}, {{0x0073, 0x003B}, "ș"}, {{0x0073, 0x003C}, "š"}, - {{0x0073, 0x004D}, "℠"}, {{0x0073, 0x006D}, "℠"}, {{0x0073, 0x006F}, "§"}, {{0x0073, 0x0073}, "ß"}, @@ -1519,7 +1528,6 @@ {{0x0074, 0x002F}, "ŧ"}, {{0x0074, 0x003B}, "ț"}, {{0x0074, 0x003C}, "ť"}, - {{0x0074, 0x004D}, "™"}, {{0x0074, 0x0068}, "þ"}, {{0x0074, 0x006D}, "™"}, {{0x0075, 0x0022}, "ü"}, diff --git a/wiki/Changelog.md b/wiki/Changelog.md index c6c22f1f..ccff4ed1 100644 --- a/wiki/Changelog.md +++ b/wiki/Changelog.md @@ -1,3 +1,5 @@ +### 3.6.5 (3 September 2023) ### + Pathname handling * Fix file link detection (#1208), tweak URL detection (#1209). * Restore opening of Windows path names (#1219; broken since 2.8.1).