**Important: WindTerm is a partial open source project, and the source will be gradually opened.** **All released source codes (except thirdparty directory) are provided under the terms of Apache-2.0 license.** # Components Below is a list of (some) WindTerm components in alphabetical order, along with a brief description of each. ## Libssh An improved version based on libssh 0.95. Add support for pageant, external socket, and hmac-md5-96, hmac-sha1-96-etm@openssh.com, hmac-sha1-96, hmac-md5-96-etm@openssh.com. ## Onigmo An improved version based on Onigmo 5.13.5. In particular, **the addition of iterator makes it possible to match gap buffer or nonadjacent memory blocks.** Please refer to the sample files for how to use. ## Pty An improved version based on [ptyqt](https://github.com/kafeg/ptyqt). **Almost all the code was rewritten to make the pty more robust and stable.** ## Protocol/TelentProtocol.h/cpp An implementation of Telnet protocol. ## Utility/CircularBuffer.h A quick circular buffer template class. ## Utility/Cryptographic.h/cpp A very safe encryption class using the PBKDF2-algorithm as defined in RFC 8018. WindTerm uses this class together with the user's master password to protect user data, including passwords, private keys and so on. ## Utility/ScopeGuard.h A class of which the sole purpose is to run the function f in its destructor. This is useful for guaranteeing your cleanup code is executed. ## Utility/Spin.h A high-performance spin mutex and locker. ## Utility/ThreadLocal.h/cpp A high-performance thread local storage. ## Widgets/PopupWidget.h/cpp A popup widget. ## Widgets/Scrollbar.h/cpp A scrollbar supports 64-bit ranges. ## Widgets/Splitter.h/cpp A convenient splitter for showing and hiding widgets.