All Projects → dundalek → notcurses-zig-example

dundalek / notcurses-zig-example

Licence: Unlicense license
Demo showing how to use Notcurses library for building terminal UIs with Zig

Programming Languages

Zig
133 projects
clojure
4091 projects
Nix
1067 projects

Projects that are alternatives of or similar to notcurses-zig-example

lipgloss
Style definitions for nice terminal layouts 👄
Stars: ✭ 5,453 (+16940.63%)
Mutual labels:  tui
inquire
A Rust library for building interactive prompts
Stars: ✭ 419 (+1209.38%)
Mutual labels:  tui
p2p-forwarder
P2P Forwarder - a tool for farwarding tcp/udp ports. Made using libp2p.
Stars: ✭ 31 (-3.12%)
Mutual labels:  tui
rgb-tui
Create and get colors code from the terminal using a nice interface.
Stars: ✭ 57 (+78.13%)
Mutual labels:  tui
octotui
🐙🐱🖥️ GitHub stats in your terminal
Stars: ✭ 202 (+531.25%)
Mutual labels:  tui
cursive-tabs
Tabs for gyscos/cursive views 🖥️
Stars: ✭ 21 (-34.37%)
Mutual labels:  tui
templa-rs
One-Stop Solution for all boilerplate needs!
Stars: ✭ 27 (-15.62%)
Mutual labels:  tui
awesome-fetch
Command-line fetch tools for system/other information
Stars: ✭ 177 (+453.13%)
Mutual labels:  tui
titik
A cross platform minimalistic text user interface
Stars: ✭ 112 (+250%)
Mutual labels:  tui
ScoreboardUI
Pseudo console GUI for .NET
Stars: ✭ 20 (-37.5%)
Mutual labels:  tui
tt
Practicing touch typing, and monitor your typing speed using your own text files
Stars: ✭ 68 (+112.5%)
Mutual labels:  tui
vent
Vent is a light-weight platform built to automate network collection and analysis pipelines using a flexible set of popular open source tools and technologies. Vent is python-based, extensible, leverages docker containers, and provides both an API and CLI.
Stars: ✭ 73 (+128.13%)
Mutual labels:  tui
rustpad
Multi-threaded Padding Oracle attacks against any service. Written in Rust.
Stars: ✭ 75 (+134.38%)
Mutual labels:  tui
lntop
⚡ LN terminal dashboard 📊
Stars: ✭ 170 (+431.25%)
Mutual labels:  tui
mauview
A Go TUI library based on tcell.
Stars: ✭ 40 (+25%)
Mutual labels:  tui
wordle-tui
Play WORDLE game in your terminal.
Stars: ✭ 61 (+90.63%)
Mutual labels:  tui
dflat20
D-Flat Windowing System (SAA/CUA Interface) Version 20
Stars: ✭ 42 (+31.25%)
Mutual labels:  tui
textual
Textual is a TUI (Text User Interface) framework for Python inspired by modern web development.
Stars: ✭ 16,180 (+50462.5%)
Mutual labels:  tui
lemmy-terminal-viewer
a terminal user interface for lemmy
Stars: ✭ 21 (-34.37%)
Mutual labels:  tui
console engine
A simple terminal framework to draw things and manage user input
Stars: ✭ 144 (+350%)
Mutual labels:  tui

Notcurses Zig example

Notcurses is a moderm library for building terminal UIs with advanced graphics support.

This is a demo showing how to use it with Zig programming language.
Thanks to Zig's seamless C interop the library can be used directly without wrapper bindings.

Notcurses Zig demo

Dependencies

  • Install Notcurses dependencies
    • using Nix:
      nix-shell
    • for Debian/Ubuntu:
      sudo apt-get install build-essential cmake libncurses-dev libreadline-dev libunistring-dev libqrcodegen-dev zlib1g-dev
  • Install Zig (version 0.9.1+)
  • Get Notcurses to compile from sources (since distributions don't often package latest versions):
git clone https://github.com/dankamongmen/notcurses.git deps/notcurses
cd deps/notcurses
mkdir build && cd build
cmake -DUSE_MULTIMEDIA=none DUSE_PANDOC=OFF ..
# We just need `cmake` to generate some headers, no need to actually `make` since rest will be handled by Zig
# In case of errors, try `git checkout v3.0.8` and re-run cmake as I tested it with this version.

Build and run

Build and run the demo:

zig build run

Or build and run the binary separately:

zig build
./zig-cache/run/demo

Liz source

The source of this demo is actually written in Liz, which is Zig dialect with lispy syntax that transpiles down to Zig code. If you feel adventurous to explore land of parentheses you can download Liz and compile sources with:

liz src/*.liz && zig build

Related

See also the demo implemented in Clojure.

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].