An open API service indexing awesome lists of open source software.

https://github.com/supercom32/dosktop

Create rich text-based terminal applications and games with BASIC-like syntax in Go! Abstract out low-level terminal operations and spend more time writing your own code!
https://github.com/supercom32/dosktop

ansi command-line command-line-interface hacktoberfest menus mouse-support tui tui-controls

Last synced: 5 months ago
JSON representation

Create rich text-based terminal applications and games with BASIC-like syntax in Go! Abstract out low-level terminal operations and spend more time writing your own code!

Awesome Lists containing this project

README

          

![Build](https://github.com/supercom32/dosktop/workflows/Build/badge.svg)
[![codecov](https://codecov.io/gh/supercom32/dosktop/branch/main/graph/badge.svg?token=V3RZE3B6IW)](https://codecov.io/gh/supercom32/dosktop)
![](https://tokei.rs/b1/github/supercom32/dosktop?category=code)
![](https://tokei.rs/b1/github/supercom32/dosktop?category=comments)
![](https://tokei.rs/b1/github/supercom32/dosktop?category=files)
[![Go Reference](https://pkg.go.dev/badge/github.com/supercom32/dosktop@main.svg)](https://pkg.go.dev/github.com/supercom32/dosktop@main)

# Dosktop

Dosktop is a package which allow users to easily create rich text-based terminal
applications and games. Dosktop differs from other terminal packages by
providing an extremely simple API that abstracts out all low-level terminal
operations, while avoiding complicated event-driven TUI designs.

# Features

* Straight forward BASIC-like API and syntax!
* Access to an unlimited number of independent text layers, allowing for modal dialogs, windows, parallax scrolling, forgrounds, backgrounds, and more!
* Automatic calculation of shadows and colored transparencies effects!
* High level support for buttons, selection menus, lines, frames, and other TUI controls!
* Full manual and automatic mouse support with TUI integration!
* Dialog text printing with automatic word wrapping, typewriter effects, and dynamic style markup!
* Virtual File System (ZIP & RAR) support, with password protection to ensure resource integrity!
* Automatic conversion and rendering of bitmap images directly to text layers in ansi graphics!

# Screenshots

Create windows and menus with full mouse support!

![alt text](https://raw.githubusercontent.com/supercom32/dosktop/main/docs/media/example_menu.gif)

Ability to scale and draw bitmapped images directly to terminal with dialog printing!

![alt text](https://raw.githubusercontent.com/supercom32/dosktop/main/docs/media/example_wave.gif)

Support for dynamic text layer transparencies!

![alt text](https://raw.githubusercontent.com/supercom32/dosktop/main/docs/media/example_sakura.gif)

Fully manipulable and independent text layers!

![alt text](https://raw.githubusercontent.com/supercom32/dosktop/main/docs/media/example_scope.gif)

# Project status

While Dosktop is currently being actively developed, it is at a point where practical use
will determine further areas of usability, existing gaps, and deficiency improvements. If you
like what this package has to offer, have ideas on how to improve it, or just want to
experiment, consider giving Dosktop a try!

# Future Roadmap

* More examples and documentation. (see tests for basic examples)
* More TUI controls (Progress bars, loading icons, etc).
* Bulk addition of images and selections.
* Saving and loading of terminal screenshots.
* Fully text-based sprite system.
* Digital audio and sound integration.