All Projects → FedericoCeratto → nim-dashing

FedericoCeratto / nim-dashing

Licence: LGPL-3.0 license
Terminal dashboards for Nim

Programming Languages

nim
578 projects

Projects that are alternatives of or similar to nim-dashing

fpga-virtual-console
VT220-compatible console on Cyclone IV EP4CE55F23I7
Stars: ✭ 33 (-68.57%)
Mutual labels:  console
spinnies
Node.js module to create and manage multiple spinners in command-line interface programs
Stars: ✭ 111 (+5.71%)
Mutual labels:  console
manakin
🐦 Prime colors for your Node.js console — quick & safe.
Stars: ✭ 29 (-72.38%)
Mutual labels:  console
kingslayer
A text-based adventure written in Rust
Stars: ✭ 28 (-73.33%)
Mutual labels:  text-based
tinker-zero
Bridge laravel/tinker for your laravel-zero applications
Stars: ✭ 39 (-62.86%)
Mutual labels:  console
Get-MediaInfo
Get-MediaInfo is a PowerShell MediaInfo solution
Stars: ✭ 50 (-52.38%)
Mutual labels:  console
xplr
A hackable, minimal, fast TUI file explorer
Stars: ✭ 2,271 (+2062.86%)
Mutual labels:  console
portera
Remote logs
Stars: ✭ 22 (-79.05%)
Mutual labels:  console
django-admin-shell
Django/Python shell for django admin site.
Stars: ✭ 62 (-40.95%)
Mutual labels:  console
concolor
Colouring template strings using tags with annotations 🎨
Stars: ✭ 35 (-66.67%)
Mutual labels:  console
ansicolor
A JavaScript ANSI color/style management. ANSI parsing. ANSI to CSS. Small, clean, no dependencies.
Stars: ✭ 91 (-13.33%)
Mutual labels:  console
console-subscriber
Subscribe to the browser's console output.
Stars: ✭ 14 (-86.67%)
Mutual labels:  console
webpack-log
A logger for the Webpack ecosystem
Stars: ✭ 18 (-82.86%)
Mutual labels:  console
pytermgui
Python TUI framework with mouse support, modular widget system, customizable and rapid terminal markup language and more!
Stars: ✭ 1,270 (+1109.52%)
Mutual labels:  console
qbittorrentui
text user interface for qbittorrent
Stars: ✭ 19 (-81.9%)
Mutual labels:  console
alerta-webui
Alerta Web UI 7.0
Stars: ✭ 84 (-20%)
Mutual labels:  console
shiba
Display a random Shiba from your terminal whenever you feel the need to. Because why not?
Stars: ✭ 16 (-84.76%)
Mutual labels:  console
cpuwhat
Nim utilities for advanced CPU operations: CPU identification, ISA extension detection, bindings to assorted intrinsics
Stars: ✭ 25 (-76.19%)
Mutual labels:  nim-lang
tinydownloader
a tiny downloader with console panel.
Stars: ✭ 80 (-23.81%)
Mutual labels:  console
paper-terminal
Print Markdown to a paper in your terminal
Stars: ✭ 33 (-68.57%)
Mutual labels:  console

badge badge License

Dashing is a library to quickly create terminal-based dashboards in Nim.

Example

Dashing provides high-level components: vertical and horizontal charts, gauges, log panes, text windows and screen splitting. It’s built on top of the terminal module.

Similar libraries for other languages: dashing termui blessed blessed-contrib

Installation

Use packages from your Linux distribution, or:

nimble install dashing

Usage

import terminal
from os import sleep

import dashing

proc demo() =
  erase_screen()
  var ui = Tile(kind:HSplit, title:"foo", border_color:"f00", items: @[
    Tile(kind:VSplit, items: @[
      Tile(kind:HGauge, val:50, title:"only title", border_color:"f88"),
      Tile(kind:HGauge, label:"only label", val:20, border_color:"f88"),
      Tile(kind:HGauge, label:"only label", val:30, border_color:"f88"),
      Tile(kind:HGauge, label:"only label", val:50, border_color:"f88"),
      Tile(kind:HGauge, label:"only label", val:80, border_color:"f88"),
      Tile(kind:HGauge, val:20),
      Tile(kind:HGauge, label:"label, no border", val:55),
      Tile(kind:HSplit, items: @[
        Tile(kind:VGauge, val:0),
        Tile(kind:VGauge, val:5),
        Tile(kind:VGauge, val:30),
        Tile(kind:VGauge, val:50),
        Tile(kind:VGauge, val:80),
        Tile(kind:VGauge, val:95),
      ]),
    ]),
    Tile(kind:VSplit, items: @[
      Tile(kind:HSplit, border_color:"0ff"),
      Tile(kind:HChart, border_color:"0f0", low_color:"2d2", high_color:"bfb"),
      Tile(kind:Log, title:"logs", border_color:"000"),
    ]),
    Tile(kind:HSplit, items: @[
      # Tile(kind:VGauge, val:95, low_color:"2d2", high_color:"22d"),
      # Tile(kind:VGauge, val:95, low_color:"2d2", high_color:"22d"),
      # Tile(kind:VGauge, val:95, low_color:"2d2", high_color:"22d"),
      # Tile(kind:VGauge, val:95, low_color:"0c0", high_color:"c00"),
      Tile(kind:Text, text:"Hello World,\nthis is dashing.", border_color:"000"),
      Tile(kind:Log, title:"logs", border_color:"000"),
      Tile(kind:VChart, border_color:"", color:""),
      Tile(kind:HChart, border_color:"0f0", low_color:"2d2", high_color:"bfb"),
      Tile(kind:HBrailleChart, border_color:"", color:""),
      Tile(kind:HBrailleFilledChart, border_color:"", color:"")
    ])
  ])

  ui.items[0].items[0].val = 0.5
  sleep 1000
  set_cursor_at(0, terminal_height() - 1)
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].