github kingToolbox/WindTerm 2.4.0
WindTerm 2.4.0

latest releases: 2.7-prerelease, 2.6.0, 2.6-prerelease...
2 years ago

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 the Applications 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

  1. Start WindTerm and select the profiles directory and quit.
  2. Replace the new .wind/profiles folder with the old profiles folder.
  3. Restart WindTerm and all the sessions and configuration will be restored.

Versions after Version 2.4.0

  1. Start WindTerm and select the profiles directory containing the old .wind folder.
  2. It is recommended to choose the Home Directory to facilitate subsequent upgrades.

If the .wind folder needs to be moved to another system:

  1. Quit WindTerm.
  2. Replace the new .wind folder with the old .wind folder.
  3. 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% to 90% of the working memory load can be reduced.
  • [APP] Supports system proxy.
  • [APP] Supports global proxy, including No Proxy, System Proxy, Http Proxy and Socks 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 and Tunnels buttons to the menu bar.
  • [GUI] Add XServer button to the menu bar.
  • [GUI] Supports opening the Profiles Directory Dialog via menu item File - Preferences - Profiles Directory.
  • [GUI] Supports using Alt+1 to Alt+5 to select the first to fifth tab, and Alt+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 and clearing 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 the Term is xterm or xterm-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, including Display 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 open KeepAlive by default to prevent being disconnected by timeout. #557
  • [SSH] JumpServer will open KeepAlive by default to prevent being disconnected by timeout.
  • [SHELL] The cmd and admin:cmd sessions support rich completion, history, and line-editing capabilities by integrating the clink. #585
  • [SCHEME] Supports highlighting IPv6 and MAC.
  • [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 to Open*Dialog, for example, showFocusModeDialog is changed to openFocusModeDialog.
  • [GUI] Added new list and table widgets, and support button bar at the bottom.
  • [GUI] Added Warning state and corresponding color to the SlipButton 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 the MacOS and Linux 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, executing Clear 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 be Shrink, not Expand.
  • [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 a Tcp Session to text and saving, the value is incorrectly saved as binary.
  • [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 )

Intro Videos

Don't miss a new WindTerm release

NewReleases is sending notifications on new releases.