https://github.com/ismail-yilmaz/upp-components
A collection of packages for U++ framework.
https://github.com/ismail-yilmaz/upp-components
c-plus-plus cpp ftp rapid-development sixel sixel-decoder sixel-graphics ssh terminal terminal- terminal-emulator terminal-emulators terminal-graphics ultimate upp
Last synced: about 2 months ago
JSON representation
A collection of packages for U++ framework.
- Host: GitHub
- URL: https://github.com/ismail-yilmaz/upp-components
- Owner: ismail-yilmaz
- License: other
- Created: 2017-10-19T17:40:39.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-02-04T20:28:37.000Z (over 1 year ago)
- Last Synced: 2025-04-24T07:14:25.261Z (about 2 months ago)
- Topics: c-plus-plus, cpp, ftp, rapid-development, sixel, sixel-decoder, sixel-graphics, ssh, terminal, terminal-, terminal-emulator, terminal-emulators, terminal-graphics, ultimate, upp
- Language: C
- Homepage:
- Size: 15.4 MB
- Stars: 36
- Watchers: 6
- Forks: 2
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# upp-components
This repository contains supplementary general-purpose packages for [U++](https://www.ultimatepp.org/index.html), a C++ cross-platform rapid application development framework focused on programmers productivity.
## Requirements
- U++ framework (release >= 2020.2)
- A C++ compiler that supports at least C++11. (GCC/CLANG/MinGW/MSC)## Installation
At the moment there are two ways to install `upp-components`
1. Downlad the repository and move the package folders to your local `uppsrc` directories.
2. Clone or download the repository and set it up as an U++ *assembly* or *nest*. This is the recommended method. You can find more information on Ultimate++ packages, assemblies and nests, [here](https://www.ultimatepp.org/app$ide$PackagesAssembliesAndNests$en-us.html).
## Components
`upp-components` repository is organized into directories, retaining and reflecting the crucial sections of the `uppsrc` directory structure.
### Core
These components are meant to supplement `uppsrc/Core`
|**Package** | **Description** |
|:--- |:--- |
| CoRoutines | A lightweight coroutines implementation (c++20 coroutines) |
| Ftp | File transfer protocol encapsulation with advanced capabilities. |
| Job | A lightweight and flexible multithreading tool, using promise/future mechanism. |
| HtmlToos | A powerful, yet easy-to-use html parser/sanitizer/prettifier package, based on libtidy |
| NetProxy | A network proxy class implementing SOCKS and HTTP protocols. |
| OAuth | A package encapsulating the authorization code grant flow of OAuth2 authorization protocol. |
| PtyProcess | A cross-platform (POSIX/WinPty/WIN10) pseudo-terminal process implementation. |
| PtyAgent | Agent executable for the default backend (winpty) of PtyProcess package. |
| SSH | A flexible, easy-to-use yet powerful libssh2 wrapper. |### CtrlLib
These components are meant to supplement `uppsrc/CtrlLib`|**Package** | **Description** |
|:--- |:--- |
| MessageCtrl | A passive message widget and manager implementation. |
| Terminal | A cross-platform, high-end terminal emulator widget and library with very good xterm compatibility. |
| StackCtrl | A widget stacking container where only one widget is visible at a time. |### Draw
These components are meant to supplement `uppsrc/Draw`|**Package** | **Description** |
|:--- |:--- |
| SixelRaster | A high performance, standalone sixel decoder plugin for U++'s global image decoder factory (StreamRaster interface) |
| EscPainter | A painter library for Upp's Esc scripting language. |## Examples
You can find reference examples demonstrating the usage of the above listed packages in `upp-components/Examples` directory.
## Version
`upp-components` loosely follows the release cycles of U++. Releases are tagged twice a year. Currently it is tagged as `2021.1`
## License
`upp-components` is made public with the BSD-3 Clause license.