Skip to content

crramirez/casciian

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

141 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Casciian - Java Text User Interface library

This library implements a text-based windowing system loosely reminiscent of Borland's Turbo Vision system for Xterm-like terminals.

Casciian can be run inside its own terminal window, with support for all of its features including mouse, and of course more terminals.

Casciian has seen inspiration from several other projects:

  • Translucent windows were inspired by notcurses. Translucent windows and layered images generally look as one would expect in a modern graphical environment...but it's mostly text.

  • Pulsing button text, window effects, and desktop effects were inspired by vtm's incredibly slick game-like aesthetic.

image

Getting Started

If you want to start your own Casciian-based application, there is a project template ready to use as a repository seed.

License

This project is distributed under the Apache License, Version 2.0.

Provenance

Casciian is derived from a codebase originally written by Autumn Lamonte and dedicated to the public domain via CC0. https://codeberg.org/AutumnMeowMeow/casciian

The original public-domain dedication remains in effect for the historical code. Subsequent modifications, maintenance, and releases of this distribution are provided under the Apache License, Version 2.0.

Nothing in this license restricts the original public-domain status of the upstream code.

Copyright Status

Copyright © 2013–2025 Autumn Lamonte
Copyright © 2025 Carlos Rafael Ramirez

Maintained by Carlos Rafael Ramirez.

Running The Demo

src/demo contains official demos showing all of the stock UI controls. The demos can be run as follows:

Note for Windows users: When running on Windows, you may need to add the --enable-native-access=ALL-UNNAMED flag to enable native terminal support. For example: java --enable-native-access=ALL-UNNAMED -jar casciian-demo.jar

  • java -jar casciian-demo.jar . This will use System.in/out with Xterm-like sequences.

  • java -cp casciian-demo.jar demo.Demo2 PORT (where PORT is a number to run the TCP daemon on). This will use the Xterm backend on a telnet server that will update with screen size changes.

  • java -cp casciian-demo.jar demo.Demo3 . This will use System.in/out with Xterm-like sequences. One can see in the code how to pass a different InputReader and OutputReader to TApplication, permitting a different encoding than UTF-8; in this case, code page 437.

  • java -cp casciian-demo.jar demo.Demo4 . This demonstrates hidden windows and a custom TDesktop.

  • java -cp casciian-demo.jar demo.Demo7 . This demonstrates the BoxLayoutManager, achieving a similar result as the javax.swing.BoxLayout apidocs example.

  • java -cp casciian-demo.jar demo.Demo8 PORT (where PORT is a number to run the TCP daemon on). This will use the Xterm backend on a telnet server to share one screen to many terminals.

Editing the Wiki

The GitHub Wiki lives in a separate repository (crramirez/casciian.wiki). Changes made in this source repository do not modify the wiki. To propose wiki updates, clone the wiki repository directly:

git clone https://github.com/crramirez/casciian.wiki.git

Submit your changes there (or share patches with the maintainer) to update the published wiki pages.

About

Text User Interface Library

Topics

Resources

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
COPYING

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •  

Languages