Spotlight
Dynamic memory compression
No terminal or text editor has ever been able to dynamically compress document memory during use. But WindTerm does now!
Now you only need 100MB memory to output 100 million
lines of text for seq 1 100000000
command, or even 1GB memory to output 2 billion
lines of text for seq 1 2000000000
command.
Benchmark
None
Scheme without styling, folding, outlining etc.,Word Wrap
is disabled.
Memory Usage(MB) | WindTerm 2.3.1 | WindTerm 2.4.0 Prerelease 2 | Compression |
---|---|---|---|
seq 1 10,000,000 | 95.7MB | 89MB | 93% |
seq 1 100,000,000 | 860.1MB | 100.7MB | 11.7% |
seq 1 2,000,000,000 | Out of memory | 770.8MB | - |
Linux
Scheme with styling, folding, outlining etc.,Word Wrap
is disabled.
Memory Usage(MB) | WindTerm 2.3.1 | WindTerm 2.4.0 Prerelease 2 | Compression |
---|---|---|---|
seq 1 10,000,000 | 212MB | 143.3MB | 67.6% |
seq 1 100,000,000 | 1990.2MB | 334.8MB | 16.8% |
More performance data will be provided in the future, including comparisons with other Terminals
.
Free Type Mode Intro Video
Free type mode lets you using the mouse to quickly move the cursor, select text, and drag and drop text, either when typing shell commands, or in applications such as VI, Emacs, everything is as convenient as in a text editor.
- Move the cursor by Alt + Mouse Click.
For convenience, when the Term is xterm or xterm-256color, only a mouse click is required to move the cursor. - For the current line containing the cursor:
Drag mouse to select text.
Double-click to select a word.
Double-click to select text between matching pairs.
Triple-click to select the line.
Shift + Click to select a piece of text.
Note:
WindTerm 2.4.0 changes the upgrade method to simplify subsequent upgrades or cloud synchronization. Please read the Upgrade
to learn more.
WindTerm 2.4.0 starts integrating clink
. If you are upgrading from a previous version, please use the menu item Session Pane - Right-click Menu - Import - Shell Sessions
to regenerate cmd
and admin:cmd
sessions.
Usage:
Version | Architecture | Operating Systems |
---|---|---|
WindTerm_2.4.0_Windows_Portable_x86_32 | x86_32 | Windows 7, Windows 8, Windows 10, Windows 11 |
WindTerm_2.4.0_Windows_Portable_x86_64 | x86_64 | Windows 7, Windows 8, Windows 10, Windows 11 |
WindTerm_2.4.0_Mac_Portable_x86_64 | x86_64 | macOS 10.13, macOS 10.14, macOS 10.15, macOS 11, macOS 12 |
WindTerm_2.4.0_Linux_Portable_x86_64 | x86_64 | Generic Linux (glibc 2.17 and later) |
Installation
- Download portable packages and uncompress it.
MacOS
Please open dmg file and drag WindTerm.app to theApplications
folder.
Linux
Please use the following command to run the WindTerm after downloading.
tar -xzvf WindTerm_2.4.0_Linux_Portable_x86_64.tar.gz && cd ./WindTerm_2.4.0 && chmod +x ./WindTerm && ./WindTerm
- Scoop
scoop bucket add extras
scoop install windterm
- Chocolatey
choco install windterm
Upgrade
Versions before Version 2.4.0
- Start
WindTerm
and select theprofiles directory
and quit. - Replace the new
.wind/profiles
folder with the oldprofiles
folder. - Restart
WindTerm
and all the sessions and configuration will be restored.
Versions after Version 2.4.0
- Start
WindTerm
and select theprofiles directory
containing the old.wind
folder. - It is recommended to choose the
Home Directory
to facilitate subsequent upgrades.
If the .wind
folder needs to be moved to another system:
- Quit
WindTerm
. - Replace the new
.wind
folder with the old.wind
folder. - Restart
WindTerm
and all the sessions and configuration will be restored.
The .wind folder is cross-platform.
Known Issues:
- [ZMODEM] Only support file names contains ASCII characters in Windows, otherwise the file name of the transfered file will be garbled after transmission, but it does not affect the correctness of the file content. Linux and MacOS version does not have this problem.
Translation:
- [FRENCH] Update the language file, contributed by EvoWebFrance@github and LuxNegra@github. #499
- [CHINESE] Update the language file, contributed by Lemonawa@github. #607
Features:
- [APP] Update the third-party libraries and tools to the latest version: #48 #585
- gsudo v1.2.0
- clink v1.3.15
- [APP] Supports dynamic memory compression, typically
20%
to90%
of the working memory load can be reduced. - [APP] Supports system proxy.
- [APP] Supports global proxy, including
No Proxy
,System Proxy
,Http Proxy
andSocks v5 Proxy
. - [APP] Supports specifying the path of the
.wind
profiles folder to facilitate subsequent upgrades and cloud synchronization. #161 #411 #438 #529 #537 #541 #601 - [GUI] Add
Anything Palette
andTunnels
buttons to the menu bar. - [GUI] Add
XServer
button to the menu bar. - [GUI] Supports opening the
Profiles Directory Dialog
via menu itemFile - Preferences - Profiles Directory
. - [GUI] Supports using
Alt+1
toAlt+5
to select the first to fifth tab, andAlt+0
to select the last tab. #82 #86 #420 - [LOG] The log file name and content templates support including
%z - Time Zone
. - [SESSION] Supports setting the background color of the tab of a session.
- [SESSION] Supports using the shortcut key
Ctrl+D
to close the unconnected or disconnected session. #397 #526 - [SESSION] Supports new proxy type
ProxyCommand
. #557 - [SESSION] Supports importing "ProxyTelnetCommand" field from PuTTY configuration.
- [SESSION] Supports clearing the screen locally. #335 #447 #530 #553 #571
- [SCHEME] Added
dumb
system to support highlighting, folding, outlining andclearing the screen locally
of dumb devices. - [SESSION] Supports delayed sending of commands that are automatically executed after startup. The default delay is
1
second. #428 - [SESSION] Supports free type mode that allows the use of the mouse to move the cursor, select text and drag and drop text. #239 Intro video
- Drag mouse to select text.
Double-click
to select a word.Triple-click
to select the line.Shift + Click
to select a piece of text.- Move the cursor by
Alt + Mouse Click
. For convenience, when theTerm
isxterm
orxterm-256color
, only a mouse click is required to move the cursor.
- [SSH] Supports independent tunnels opening, stopping and management. #189 #194 #373 #444
- [SSH] When the listening port of a
tunnel
is set to 0,dynamic port allocation
is supported. - [SSH] Supports automatically opening the internal
X Server
on startup. - [SSH] Supports configuring
VcXsrv Windows X Server
, includingDisplay number
,Window mode
,Clipboard
,Keyboard
etc. - [SSH] Supports
VcXsrv Windows X Server
extensions.- XTEST
- SECURITY
- XINERAMA
- XFIXES
- XFree86-Bigfont
- RENDER
- RANDR
- COMPOSITE
- DAMAGE
- MIT-SCREEN-SAVER
- DOUBLE-BUFFER
- RECORD
- DPMS
- X-Resource
- GLX
- [SSH] Supports setting custom environment variables for
ProxyCommand
. - [SSH] Reduce the remote tunnels check time to
0.5
second to speed up the transfer. #444 - [SSH]
Tunnels
will openKeepAlive
by default to prevent being disconnected by timeout. #557 - [SSH]
JumpServer
will openKeepAlive
by default to prevent being disconnected by timeout. - [SHELL] The
cmd
andadmin:cmd
sessions support rich completion, history, and line-editing capabilities by integrating theclink
. #585 - [SCHEME] Supports highlighting
IPv6
andMAC
. - [TERM] Supports
OSC 133;A
,OSC 133;B
,OSC 133;C
,OSC 133;D
to set the start position and end position of prompts and outputs.
Improvements:
- [API] Changed api names from
Show*Dialog
toOpen*Dialog
, for example,showFocusModeDialog
is changed toopenFocusModeDialog
. - [GUI] Added new list and table widgets, and support button bar at the bottom.
- [GUI] Added
Warning
state and corresponding color to theSlipButton
widget. - [GUI] Line feeds are no longer included when selecting by line.
- [GUI] The pop-up widget of the
More
button in the toolbar is modified to a menu. - [TAB] Even when only one tab is open, the activation mark of the tab is displayed.
- [TAB] Improve the appearance of a tab by increasing the transparency of the background color and reducing its drawing area.
- [SSH]
Tunnels
will no longer be forced closed when a non-critical error occurs. - [SSH] Hide the configuration items of
X Server
in theMacOS
andLinux
systems. #649 - [SESSION] When a
SOCKS5
error occurs, more detailed error information will be provided. - [TEXT] Optimized the wrapping performance of lines that contain only ascii characters.
- [TRANSLATION] Automatically handle
mnemonic characters
in strings to be translated. - [MACOS] Use a separate menu bar for consistency with other versions.
- [MACOS] Make the application icon smaller for better looks. #463 #651
Bugs:
- [APP] When a session using
dumb system
is disconnected, executingClear Screen
will cause the application to crash. #553 #629 - [APP] When a session is disconnected, clicking the hyperlink will cause the application to crash.
- [GUI] Resizing the
Filer
pane will cause a black color block. #608 - [GUI] Switching a session from sync channel A to sync channel B causes the channel prompt message bar to disappear.
- [GUI] The environment variable of the process of the
Shell
session cannot be set to multi-line text. - [GUI] When the environment variable being typed in the
Process Environment
dialog did not exist, the variable value in the text box was incorrectly emptied. - [GUI] When the session is disconnected, the transfer items in the transfer bar cannot be manipulated. #547
- [GUI] When using the shortcut key
Ctrl+Shift+W
to close a tab, the confirm dialog will not pop up. - [GUI] The text in the input box is sometimes displayed in gray as placeholder text.
- [GUI] After modifying the name or icon of a session, reconnecting the session did not use the new name and icon correctly.
- [GUI] When the bottom dock is expanded, the tooltip of the
Expand
button should beShrink
, notExpand
. - [GUI] Supports viewing and copying the server's IP in the info popup window. #658
- [GUI] Supports viewing and copying the serial session's
Baud Rate
,Data Bits
,Parity
,Stop Bits
,Flow Control
in the info popup window. - [GUI] Supports the text in the info popup window can be selected using the mouse and keyboard.
- [LOG] Blank lines in the log are incorrectly logged as
%v
. #556 - [SSH] Unable to log in to the system with a user with blank password. #504
- [SSH] When the server does not provide any authentication method, no related error message is displayed.
- [SSH] The
ssh.ciphers
,ssh.keyExchange
,ssh.macHashes
,ssh.publicKeys
do not take effect after configuration. - [SCHEME] When the session's
system
is set to non-linux, punctuation is not colored correctly. - [SERIAL] The log folder cannot be created correctly when the session name happens to be a system reserved name, such as
CON
,NUL
,COM
,LPT
,AUX
,PRN
etc. #624 - [SESSION] When modifying
DataType
of aTcp
Session totext
and saving, the value is incorrectly saved asbinary
. - [SESSION] When the session is disconnected, some cached text may not be correctly output to the screen.
- [SESSION] When the session is logged out, no
Remote channel is closed
is reported. - [SESSION] When the session is disconnected due to a timeout, no
The remote host closed the connection
is reported. - [SESSION]
SOH
,STX
,ETX
,EOT
,ACK
,DLE
,DC1
,DC2
,DC3
,DC4
,NAK
,SYN
,ETB
,CAN
,EM
,SUB
,FS
,GS
,RS
,US
are displayed incorrectly. #539 - [SESSION] When page up and down when executing
less /etc/services
,ESC M
characters are displayed incorrectly. #621 - [TAB] The background color of the close button in the tab of the
Shell Pane
is not transparent. - [TERM] Failed to pass the test of cursor-control characters inside ESC sequences of
vttest
. - [TERM] When switching from the alternative screen to the main screen, the cursor shape is not restored. #517
- [MACOS] When creating a new session, the icon of the session cannot be selected. #618
- [MACOS] When the info window pops up, the system will ask if the application need permission to record the screen.
Roadmap of v2.5 (Late-May, for reference only)
New memory allocator and manager and garbage collector.
Improved Filer
Improved Transfer
Improved Quickbar
SSH Agent
Automatic Completion
Command Snippet Description
SSH GSSAPI Authentication (Postponed to a later version )
SSH Agent Forwaring (Postponed to a later version )
Search in sessions. (Postponed to a later version )