All Projects → migueldeicaza → Termkit

migueldeicaza / Termkit

Licence: mit
Terminal Kit - Console UI toolkit for Swift applications

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Termkit

Gui.cs
Console-based user interface toolkit for .NET applications.
Stars: ✭ 5,879 (+2196.48%)
Mutual labels:  terminal, curses, toolkit, gui
Brick
A declarative Unix terminal UI programming library written in Haskell
Stars: ✭ 1,070 (+317.97%)
Mutual labels:  terminal, curses
C Sharp Console Gui Framework
A GUI framework for C# console applications
Stars: ✭ 838 (+227.34%)
Mutual labels:  terminal, gui
Dte
A small, configurable console text editor (moved to https://gitlab.com/craigbarnes/dte)
Stars: ✭ 98 (-61.72%)
Mutual labels:  terminal, curses
Ltui
🍖 A cross-platform terminal ui library based on Lua
Stars: ✭ 624 (+143.75%)
Mutual labels:  terminal, curses
Python Progressbar
Progressbar 2 - A progress bar for Python 2 and Python 3 - "pip install progressbar2"
Stars: ✭ 682 (+166.41%)
Mutual labels:  terminal, gui
Zui
⬢ Zsh User Interface library – CGI+DHTML-like rapid application development with Zsh
Stars: ✭ 95 (-62.89%)
Mutual labels:  terminal, curses
Picotui
Lightweight, pure-Python Text User Interface (TUI) widget toolkit with minimal dependencies. Dedicated to the Pycopy project.
Stars: ✭ 547 (+113.67%)
Mutual labels:  terminal, curses
Kubebox
⎈❏ Terminal and Web console for Kubernetes
Stars: ✭ 1,855 (+624.61%)
Mutual labels:  terminal, gui
Mobile Toolkit
📱 Shell scripts for Android and iOS device management
Stars: ✭ 161 (-37.11%)
Mutual labels:  terminal, toolkit
Tuicss
Text-based user interface CSS library
Stars: ✭ 167 (-34.77%)
Mutual labels:  terminal, curses
Sauron Native
Truly cross platform, truly native. multiple backend GUI for rust
Stars: ✭ 587 (+129.3%)
Mutual labels:  terminal, gui
Musikcube
a cross-platform, terminal-based music player, audio engine, metadata indexer, and server in c++
Stars: ✭ 2,663 (+940.23%)
Mutual labels:  terminal, curses
Vim Quickui
The missing UI extensions for Vim 8.2 (and NeoVim 0.4) !! 😎
Stars: ✭ 714 (+178.91%)
Mutual labels:  terminal, gui
Clui
Command Line User Interface (Console UI inspired by TurboVision)
Stars: ✭ 561 (+119.14%)
Mutual labels:  terminal, gui
Rubiks cube
rubik's cube that runs in your terminal!
Stars: ✭ 73 (-71.48%)
Mutual labels:  terminal, curses
Pulsemixer
CLI and curses mixer for PulseAudio
Stars: ✭ 441 (+72.27%)
Mutual labels:  terminal, curses
Rtv
Browse Reddit from your terminal
Stars: ✭ 4,558 (+1680.47%)
Mutual labels:  terminal, curses
Mylittledom
High-level DOM-like terminal interface library
Stars: ✭ 116 (-54.69%)
Mutual labels:  terminal, gui
Bashsimplecurses
A simple curses library made in bash to draw terminal interfaces
Stars: ✭ 182 (-28.91%)
Mutual labels:  terminal, curses

Build Status

TermKit - Terminal UI Toolkit for Swift

This is a simple UI Toolkit for Swift, a port of my gui.cs library for .NET. While I originally wrote gui.cs, it has evolved significantly by the contributions of Charlie Kindel (@tig), @BDisp and various other contributors - this port is bringing their work.

This toolkit contains various controls for build text user interfaces using Swift.

You can checkout the documentation

Screen Shot 2021-03-13 at 12 44 05 PM

Running this

From the command line:

$ swift build
$ swift run

From Xcode, if you want to debug, it is best to make sure that the application that you want to Debug (in this project, the "Example" target is what you want) has its Scheme for Running configured like this:

 * Run/Info: Launch "Wait for Executable to be launched"

Then, when you run, switch to a console, and run the executable, I have my global settings for DerivedData to be relative to the current directory, so I can run it like this:

$ DerivedData/TermKit/Build/Products/Debug/Example

The location for where your executable is produced is configured in Xcode/Preferences/Locations, I just happen to like project-relative output like the example above shows.

Debugging

While debugging is useful, sometimes it can be obnoxious to single step or debug over code that is called too many times in a row, so printf-like debugging is convenient.

Except that prints go to the same console where your application is running, making this experience painful.

In that case, you can call Application.log with a message, and this message will use MacOS os_log, which you can then either look for in the Console.app, or you can monitor from a terminal window like this:

$ log stream --style compact --predicate 'subsystem == "termkit"'
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].