Skip to content

WindTerm 2.6.1

Latest
Compare
Choose a tag to compare
@kingToolbox kingToolbox released this 23 Jan 00:52
3dc9041

Spotlight

Rainbow Brackets

Rainbow Brackets supports assigning a unique color to each pair of opening and closing brackets to make it very easy to identify them and their scope.

Highlight Text

Highlight Text supports marking text with specified font color, background color, line type, and line color, which makes it very convenient to highlight the output text that needs attention.

Manage sessions

With the newly added features of drag and drop and move to, session management has become more convenient and easy.

OneKey

OneKey enables automatic login by using the preset login settings. When a large number of servers share the same login settings, this feature can greatly facilitate their management. Especially when login settings change, it is easy to make all servers switch to the new login settings by simply modifying the corresponding OneKey.

OneKey supports:

Trigger

A trigger is an action that is automatically executed when the output received from a server matches specified text or regular expressions. Triggers help automate and streamline workflows in the terminal, increasing efficiency and reducing the need for manual intervention.

Trigger types:

Build-in Triggers:

Sync Terminal Folder

Sync Terminal Folder supports syncing the current working directory between filer and terminal. When you change directories in the terminal, filer should follow automatically and optionally, vice versa, the working directory of the filer can be quickly copied to the terminal.

Sync Terminal Folder supports:

  • Copy directory path from filer to terminal.
  • Manually sync terminal folder.
  • Automatically sync terminal folder.

Note that not all local or remote systems support Sync Terminal Folder.

Sysmon

Sysmon allows you to monitor the usage of system resources such as the time, uptime, CPU, memory, network, etc. of the local machine or remote server.

Sysmon supports:

  • Linux (SSH, Shell)
  • macOS (SSH, Shell)
  • Cmd
  • PowerShell
  • Windows Subsystem for Linux

Performance

Terminal

The redesigned Log module, combined with further code optimization, allows WindTerm to run several times faster than other terminals, regardless of whether logging is enabled or not.

benchmark

Sftp Transfer

The redesigned Sftp Transfer module enables the fastest possible transfer speeds for both large files and a large number of small files. In some cases, the speed can even be up to ten times faster than professional tools.

benchmark
benchmark
benchmark

Local Transfer

The redesigned Local Transfer module allows for file copying and deletion at speeds that can rival or even surpass those of the system itself.

benchmark
benchmark
benchmark

Usage:

Systems

Version Architecture Operating Systems
WindTerm_2.6.0_Windows_Portable_x86_32 x86_32 Windows 7, Windows 8, Windows 10, Windows 11
WindTerm_2.6.0_Windows_Portable_x86_64 x86_64 Windows 7, Windows 8, Windows 10, Windows 11
WindTerm_2.6.0_Mac_Portable_x86_64 x86_64 macOS 10.13, macOS 10.14, macOS 10.15, macOS 11, macOS 12
WindTerm_2.6.0_Linux_Portable_x86_64 x86_64 Generic Linux (glibc 2.17 and later)

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:

Features:

  • [EXPLORER] When the state of the session changes, the session nodes in the Explorer Pane also adjust the color and style of the text, such as displaying a strikethrough when a session is deleted.
  • [FILER] Supports Sync Terminal Folder. #132 #193 #304 #331 #450 #814 #823 #856 #937 #1047
  • [FILER] Supports specifying default editors for systems Windows, macOS and Linux respectively.
  • [FILER] Support the display, execution, and transmission of macOS bundles.
  • [FILER] Supports Preserve original file modification time, selected by default, and Preserve original folder modification time, not selected by default.
  • [GUI] Enables bracket pair colorization, enhancing text readability by visually highlighting paired brackets.
  • [GUI] Strictly differentiate between the left and right Alt keys, reserving the right Alt key for use as the Altgr key.
  • [GUI] Record and automatically use the previously activated tab in the login wizard dialog.
  • [GUI] The Session tree in the Session Pane supports moving nodes through drag and drop.
  • [GUI] Added Move To... to the context menu of the Session tree in the Session Pane to support moving selected nodes.
  • [GUI] Supports duplicating the selected group nodes and their child session nodes in the Session Pane.
  • [GUI] Supports Copy text if selected, otherwise paste text when right-clicking the mouse.
  • [GUI] Change Select Fold to Select Command in the right-click menu and add the shortcut key Ctrl+Shift+/.
  • [GUI] Change Goto Folder Header and Goto Next Folder Header to Goto Previous Command and Goto Next Command in the right-click menu and enhance the reliability of jumping to commands.
  • [GUI] Display the scanning progress of files and folders during the transfer preparation phase.
  • [GUI] Supports highlighting text manually.
  • [GUI] Supports instant highlighting of all instances of the current selection.
  • [GUI] Added Duplicate SSH channel to the custom mouse actions of the tab.
  • [GUI] Use Paste Selected Text instead of Copy And Paste to avoid overriding the system clipboard.
  • [GUI] The Sync Input dialog box supports deleting an item in the synchronization list by double-clicking it.
  • [GUI] The tab uses a font with strikethrough enabled to draw a nonexistent session name.
  • [GUI] Hides the ? button on Windows.
  • [GUI] Supports clicking on hyperlinks, such as http, https, mail, ftp, ftps, file, scp, sftp, etc.
  • [LOG] Change the default maximum size of the log file from 10MB to 0MB, meaning the log file size is no longer limited by default.
  • [OUTLINE] Add the option Enable symbol preview to allow the preview window not to be displayed when hovering with the mouse.
  • [SCHEME] Supports syntax pairing on the alt screen.
  • [SCHEME] Unless the server-side specifies attributes such as foreground color, background color, italics, or inverse color for the font, semantic coloring is used for text rendering to display more diverse content.
  • [SCHEME] Supports syntax highlighting on the alt screen.
  • [SCHEME] Highlight words such as don't, doesn't, can't, couldn't, true, false etc.
  • [SCHEME] Highlights command options connected by multiple hyphens, such as -fno-access-control.
  • [SESSION] Support SSH OneKey and Expect OneKey.
  • [SESSION] Support the recognition of scenarios requiring username and password input, and use the usernames and passwords from OneKeys as the autocomplete list.
  • [SESSION] Supports multiple types of triggers.
  • [SESSION] Built-in with multiple useful triggers.
  • [SESSION] When no node is selected, the right-click menu adds the menu item New Session. #2083
  • [SESSION] Supports Sysmon for easy monitoring of system resources usage, such as CPU, memory, network, etc. By default, Sysmon is no longer enabled. Continuous execution of commands required by Sysmon can cause immediate disconnection of some devices, such as routers and switches. #65 #163 #488 #671 #803 #1077
  • [SESSION] Supports specifying the identity files for sessions in systems Windows, macOS and Linux respectively.
  • [SESSION] In Free Type mode, pressing the Ctrl key allows the copying of the dragged text.
  • [SFTP] The new congestion algorithm can utilize the network's transmission capacity as much as possible for file transfer.
  • [SFTP] Add logging of transmission parameters in debug mode.
  • [SFTP] Removed the use of the SCP protocol because it is no longer secure.
  • [SFTP] Removed Use high speed transfer because it is no longer needed.
  • [SFTP] Try to delete the partially transferred files when file transfer fails.
  • [SSH] Support for viewing automatically logged-in information recorded for sessions, including usernames, passwords, interactive questions, etc.
  • [TERM] Supports CSI ?0c, CSI ?1c, CSI ?8c to set the visibility of the cursor.
  • [TERM] Supports CSI 4:0m, CSI 4:1m, ..., CSI 4:5m to set the underline style.
  • [TERM] Supports CSI 58;2;INDEXm, CSI 58;5;R;G;Bm, CSI 59m to set the underline color.
  • [TERM] Supports OSC 697, which is the private control sequences of Fig.
  • [TERM] Supports OSC 1337, which is the private control sequences of iTerm2.
  • [TERM] According to the ECMA-48 3rd edition, consider CSI 21m as drawing underline instead of removing bold font style.
  • [TERM] According to the ECMA-48 3rd edition, consider CSI 22m as removing bold and faint font styles instead of removing faint font style.
  • [TERM] According to the ECMA-48 5th edition, support using CSI 38:2:INDEXm, CSI 38:2::R:G:Bm, CSI 48:2:INDEXm, CSI 48:2::R:G:Bm, CSI 58:2:INDEXm, CSI 58:2::R:G:Bm to set the foreground and background colors.
  • [TERM] The alt screen prohibits clearing the current screen.

Improvement:

  • [FILER] Hide the unnecessary Permissions column in Windows and the unnecessary Owner and Group columns in macOS to improve speed.
  • [FILER] In Windows, the tooltips for files or folders no longer display Permissions to improve speed.
  • [FILER] Cached file type, modification time, file size, and other data to avoid repeated real-time retrieval during display.
  • [FILER] Optimize the drawing of the file list by caching icons and recalculating layout only when necessary.
  • [FILER] Improve the speed of obtaining file icons.
  • [FILER] Display file sizes in GB, MB, or KB, and when the file size is less than 1 KB, display the byte count directly.
  • [FILER] Use the icon of the file being transferred as the task icon when transferring a single file.
  • [FILER] Move the Link to line to display below the Type line.
  • [FILER] The input boxes in the dialog for creating new files, folders, and file links no longer allow the input of illegal characters, such as \, /, :, *, ?, ", <, >, |.
  • [FILER] Remove the unused ... button from the input boxes in the dialog for creating new files, folders, and file links.
  • [FILER] When displaying the local file system, add a ... button to the input box in the Move To dialog to facilitate the selection of the target folder.
  • [FILER] When displaying the local file system, add a ... button to the input box in the New Link dialog to facilitate the selection of the target file.
  • [FILER] Significantly improve the speed of copying and deleting local files, as well as the speed of opening folders.
  • [FILER] In Windows, use \ as the separators that are appropriate for the underlying operating system in the address input box.
  • [FILER] Change Refresh... to Refresh in the right-click menu, as this operation does not require further interaction.
  • [GUI] Add tooltip Requires server support to slip buttons Sftp and Sysmon in the session settings dialog.
  • [GUI] Disable autocomplete in the alt screen.
  • [GUI] Change the shortcut keys for Find... from Alt+F to Ctrl+Shift+F to avoid being unable to use Alt+F in specific systems, applications, or keyboard layouts.
  • [GUI] When clearing the screen, if the last line is a command prompt line, it should be retained.
  • [GUI] Render text aligned by column, including CJK characters.
  • [GUI] Improved the performance of generating timestamp text in the text margin.
  • [GUI] Use GiB, MiB and KiB instead of GB, MB and KB as the unit for transfer speed.
  • [GUI] Swap the images in icons Visible and Invisible in the safe input box to better match their literal meanings.
  • [GUI] Transfer time of files displayed in milliseconds precision.
  • [GUI] When creating a new session in the Session Pane, the new session's group should default to the currently selected node's group, rather than being blank.
  • [GUI] Reduce the margin for drawing control characters such as ESC to make it more compact.
  • [GUI] Improve the Master Password dialog box to display more rich information.
  • [GUI] Improve the Explore Pane to avoid drawing defects caused by resolution issues.
  • [GUI] Reduce the right-side margin of the Session Settings and Terminal Settings dialog boxes.
  • [GUI] Reduce the margins and size of the slip button.
  • [GUI] Improve the drawing performance of markers in the scrollbar.
  • [GUI] Improve the display size of the dialog to better fit the monitor. #942
  • [GUI] The autocomplete list better supports for high DPI displays. #1021
  • [GUI] When near the bottom of the screen, the autocomplete list is displayed above the line of text to show more items.
  • [GUI] Whether or not to beep is customizable when a message is received.
  • [LOG] Improved the generation of log text and the writing of log files, resulting in a performance improvement of several times and reduced memory consumption.
  • [OUTLINE] The text in the preview window has not been adapted for high DPI.
  • [SCHEME] Improve the performance of text highlighting by using a faster regular expression engine.
  • [SCHEME] Identify command prompt lines with greater accuracy.
  • [SCHEME] The command options are rendered in regular font instead of italics.
  • [SESSION] Increase the session connection timeout to 20 seconds to better accommodate poor network conditions. #2076
  • [SESSION] Improve the responsiveness of command input during file transfer processes.
  • [SESSION] Optimized the read and write operations of the internal socket, resulting in a 3% speed increase.
  • [SESSION] Improved the performance of network packet transmission and parsing by using a memory pool.
  • [SFTP] Significantly improve the speed of downloading, uploading and deleting sftp files, as well as the speed of opening folders.
  • [SFTP] Use larger packet sizes for receiving and sending data to improve file transfer speed.
  • [SFTP] Support setting the buffer size for options SO_RCVBUF and SO_SNDBUF to improve transfer performance, with the default size for SO_RCVBUF being 1048576 and for SO_SNDBUF being 262144.
  • [SSH] When authentication fails, the number of attempts to re-authenticate has been reduced from 6 to 2, and the interval between attempts has been decreased from 500 milliseconds to 200 milliseconds to prevent prolonged unresponsiveness in the interface.
  • [SSH] Adjusted the order of ciphers, giving higher priority to aes256-gcm@openssh.com and aes128-gcm@openssh.com than chacha20-poly1305@openssh.com.
  • [TERM] Deprecate the control sequences CSI 10m, CSI 11m, ..., CSI 19m for setting alternative fonts, as alternative fonts are rarely used anymore.
  • [TRANSFER] When transferring files, ensure that the progress is updated at least once per second to prevent the progress bar from not being updated for a long time when transferring a large number of files.

Bugs:

  • [APP] Unable to automatically create the folder when writing the configuration file if it does not exist.
  • [APP] The application sometimes crashes when closing session tabs quickly. #922
  • [FILER] Unable to open a folder with the \ character in the name.
  • [FILER] In the macOS system, the file list does not support making non-contiguous selections.
  • [FILER] When dragging and dropping a large number of files into the Filer Pane, the interface responds very slowly.
  • [FILER] In Windows, entering the root directory, such as c:, and then clicking on the disk nodes in the autocomplete list or pressing enter, does not correctly display the contents of the root directory.
  • [FILER] Unable to open network path, such as \\10.0.0.2\sample.
  • [FILER] Browsing empty folders may lead to memory leaks.
  • [FILER] The Upload file dialog cannot correctly display file names containing < and > characters.
  • [GUI] When filtering the list of Sessions, the matching items are not being highlighted.
  • [GUI] When filtering the lists of the Session pane and the Outline pane, the matching items are not being highlighted.
  • [GUI] When performing the open operation on a group node in the Session Pane, it is not possible to open session nodes that are not direct children, and the New Session dialog is erroneously popped up.
  • [GUI] When deleting nested child nodes of a group node in the Session Pane, the group node should be deleted if it no longer has any session nodes after the deletion.
  • [GUI] In Free Type mode, Alt+Double-click and Alt+Shift+Click are unable to select the correct text in vim.
  • [GUI] When setting the session configuration SFTP / Default file creation permissions, the displayed permissions may not match the actual permissions. For example, when deleting the last two digits of the permissions, the displayed value is 600, but the actual stored value is 6.
  • [GUI] The calculation for paired brackets is not strictly limited to the range of the current command prompt line.
  • [GUI] After decreasing the font size and restarting, when increasing the font size again, some of the text does not zoom in correctly.
  • [GUI] If the right-click action is set to Copy text if selected, otherwise paste text, then after completing the copy operation by right-clicking, the free type mode is not exited, and the cursor remains invisible.
  • [GUI] When dragging and dropping files onto session Cmd or Powershell, the generated path should use the system's default separator \. #2021
  • [GUI] When only one session is left after filtering in the Session pane, deleting that session may cause the interface to freeze. #2029
  • [GUI] When filtering in the Session pane results in only one session remaining in a certain group, deleting that session may cause all sessions in that group to be deleted.
  • [GUI] When the character spacing is set to one character width, the actual spacing displayed is too large.
  • [GUI] When the Highlight the current fold option is not set, the display of the fold margin is abnormal.
  • [GUI] When the DPI scaling in Windows is set to 125%, the icons are not displayed properly.
  • [GUI] When managing thousands of servers, the session combobox loads too slowly.
  • [GUI] When opening a new window, the quickbar does not load correctly in the new window.
  • [GUI] When opening a new window, the layout of the new window is inconsistent with the currently active window.
  • [GUI] When drawing text with non-monospaced fonts, the highlighted word's background color width is smaller than its actual width.
  • [GUI] Word boundaries were not correctly recognized in a string of consecutive punctuation marks based on word separators.
  • [GUI] Hyperlinks that include percent-encoded characters (e.g. %20) are not automatically converted to their corresponding characters.
  • [GUI] Cannot correctly use the regular expression \w+ to match UTF-8 strings.
  • [GUI] When selecting by lines, the selection area will erroneously expand to both ends at the same time.
  • [GUI] After searching, pressing "Esc" to cancel the search does not clear the search information in the status bar.
  • [LOG] When Log all session output is set, the timestamps of some SSH log entries are incorrect, such as [-- ::00] or [2023-12-05 11:51:-1701748260].
  • [LOG] When the specified log file path is an absolute path, the log is still being created in the .wind configuration directory.
  • [MACOS] The autocomplete list in full-screen mode pops up in a new screen instead of the current screen.
  • [MACOS] When floating a pane in full-screen mode, the floating pane pops up in a new screen instead of the current screen.
  • [MACOS] On a French keyboard, It is not possible to use the Shift+Option+L key to input the pipe character |. #587
  • [MACOS] ~ cannot be resolved correctly as the home path. #872 #1871
  • [SCHEME] The command options are not rendered in the preset font, resulting in a narrower width.
  • [SCHEME] When clicking on the email address, the mailto URL does not use the correct scheme mailto.
  • [SCHEME] When highlighting the URL, it does not include the trailing / at the end of the URL.
  • [SCHEME] admin:cmd cannot recognize the command prompt symbol # correctly, and functions such as syntax highlighting, folding, and auto-completion fail to work properly.
  • [SCHEME] when an email username contains punctuation marks, only the text following the punctuation mark is highlighted.
  • [SCHEME] Repeatedly pressing Ctrl+C may cause failure to correctly recognize the command prompt.
  • [SESSION] The session cannot be reconnected using the Enter key or Reconnect button after it has timed out and been disconnected.
  • [SESSION] Even when setting the Alt key to send Characters preceded by ESC, it is not possible to use the Alt+B or Alt+F shortcut keys to jump to the previous or next word.
  • [SESSION] The Send Line By Line button in the Paste dialog box failed to pass the text to the Send pane for line-by-line sending, instead it sent directly to the server.
  • [SESSION] When multiple lines of text are selected, the Paste Selected Text operation failed to pass the text to the Paste dialog, but instead sent it directly to the server.
  • [SFTP] Unable to download files due to insufficient permissions, and may even cause the application to crash.
  • [SFTP] Closing the application during file transfer may cause the application to crash.
  • [SFTP] Unable to correctly retrieve the attributes of symlink files in /ect/alternatives.
  • [SFTP] During file transfer, it is possible to miscalculate the number of file errors and progress.
  • [SSH] When the x11 fails to open, the connection will be terminated instead of just displaying the error message.
  • [SSH] When the OpenSSH server does not have the Keyboard Interactive authentication method enabled, the connection will enter into a loop and result in connection failure.
  • [SSH] Unable to connect to certain devices such as routers, switches, etc. These devices usually use DropBear as an SSH server.
  • [SSH] After updating the password, automatic login repeatedly requests the new password and does not update the old password.
  • [TERM] After executing a command to view binary, such as echo -n 'CjoO9aI4UWo' | base64 -d, all subsequent text displays as garbled.
  • [TERM] When drawing faint font (CSI 2m), the font color is incorrect.
  • [TERM] Ctrl+L cannot clear the screen properly.
  • [TEXT] Not using \G correctly caused the regex engine to match too much text, significantly reducing the scanning performance of Number Convertor trigger, etc.
  • [ZMODEM] When canceling the ZModem transmission by clicking the cancel button, it is not possible to input any commands afterward.

Security Bugs:

  • [LOCK SCREEN] In Windows systems, by pressing the Alt key on the lock screen to activate the menu bar, one can bypass the locked screen and execute commands.

Intro Videos

Bug Fixes in Version 2.6.1 (2024-4-2):

  • [FILER] Downloading a file larger than 2MB may result in file corruption.

Version 2.7.0 Prerelease 1 (2024-4-2)

If you want, you can try WindTerm 2.7.0 Prerelease 1 now. Currently only the Windows x86_64 version is available.