ProductPromotion
Logo

C++ Programming

made by https://0x3d.site

GitHub - gansm/finalcut: A text-based widget toolkit
A text-based widget toolkit. Contribute to gansm/finalcut development by creating an account on GitHub.
Visit Site

GitHub - gansm/finalcut: A text-based widget toolkit

GitHub - gansm/finalcut: A text-based widget toolkit

FINAL CUT

Library for creating terminal applications with text-based widgets

FINAL CUT is a powerful and lightweight C++ library for creating terminal-based applications with numerous text-based widgets. FINAL CUT is designed for simplicity and does not require the functionality of external libraries (such as ncurses or termbox) but still offers full mouse support, Unicode compatibility, and versatile widget functions.

It provides UTF-8 character encoding, full-width character support, and the ability to display combined Unicode characters. The library helps the developer to create an easy-to-use text console application and allows handling multiple text windows on the screen.

The design of FINAL CUT's C++ class structure was inspired by the Qt framework. It provides a variety of common controls, including dialog boxes, push buttons, check boxes, radio buttons, input lines, list boxes, and status bars.

Architecture of the sub-systems of a FINAL CUT application

Building and Code Analysis

Badge
Latest release Latest Release
License LGPL v3
Class Reference documented
ARM build ARM build
FreeBSD build FreeBSD build
NetBSD build NetBSD build
OpenBSD build OpenBSD build
macOS build macOS build
Cygwin build Cygwin build
Solaris build Solaris build
CodeQL analysis CodeQL analysis
Coverity Scan Coverity Scan Status
SonarCloud Quality gate
CodeFactor CodeFactor
SIGRID sigrid-publish

Installation

Before installing FINAL CUT, check if your computer meets the requirements. You can find these in the FAQ section under "What do I need to build this library?".

> git clone https://github.com/gansm/finalcut.git
> cd finalcut
> autoreconf --install --force
> ./configure --prefix=/usr
> make
> su -c "make install"

Supported Platforms

FINAL CUT currently works on the following platforms:

  • Linux
  • FreeBSD
  • NetBSD
  • OpenBSD
  • macOS
  • Cygwin
  • GNU Hurd
  • Solaris

If your platform is not listed here, it may still be compatible with FINAL CUT. Contributions to extend the platform support are welcome!

Documentation

Read the documentation on the first steps in FINAL CUT to find out how to use the library.

Frequently Asked Questions

Check out the FINAL CUT FAQ for common questions and answers.

Screenshots

Explore the power of FINAL CUT with these examples:

FFileDialog FFileDialog widget with incremental search

FProgressbar FProgressbar widget

FTextView Scrollable text in an FTextView widget

Mandelbrot set Mandelbrot set example

FINAL CUT newfont

This project contains NewFont, a graphical text font for X11 and the Linux console:

ui example in newfont mode UI example in NewFont mode

drive symbols Drive symbols

calculator Calculator example in NewFont mode

Benchmark

Measure the terminal character output speed with the Rotozoomer example.

Virtual Terminal

FINAL CUT uses a virtual terminal to print character via an update method on the screen. It provides (as an overlying layer) virtual windows for the realization of window movements. The update methods only transfer differences to the virtual terminal or physical screen.

Class Digramm

Contributing and reporting bugs

We encourage community involvement in improving FINAL CUT. If you find bugs or issues, report them here. For contributions, please review our Contributing Guidelines.

License

FINAL CUT is licensed under the GNU Lesser General Public License v3.0. See the LGPL v3.0 license page for more details.

More Resources
to explore the angular.

mail [email protected] to add your project or resources here 🔥.

Related Articles
to learn about angular.

FAQ's
to learn more about Angular JS.

mail [email protected] to add more queries here 🔍.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory