styles

Styles and Themes

Separable styles

  • Layout styles - compactness, border widths, etc.

  • Color styles - foreground, background, attributes

  • Misc styles - rounded v. square corners, single v. double borders, etc.

  • Density - information density, visual density

Automatic density methods (in decreasing priority)

  • Margin-collapse

  • Margin shrink

  • Border shrink

  • Padding shrink

  • Margin removal

  • Padding removal

  • Border faking (underline + left/right with no top?)

  • Border removal

Patterns

  • Border patterns

  • Background patterns

  • Color patterns

Fallbacks

  • Fallback method: Requested versus computed!

  • Color fallbacks

    • 24 bit -> 8 bit -> 4 bit?

    • Specify all colors in RGB nums?

  • Attribute fallbacks: Poorly supported attributes?

    • Bold -> brighter colors

    • Inverse -> swap fg/bg

    • Underline -> ?

    • Italic -> ? # Unicode 3.1 mathematical italics?

  • Symbol set for borders

    • Support levels:

      • Rounded: Uni1

      • Heavy: Uni1

      • Double: WGL4

      • Single: VT100

    • Rounded -> square corners

    • Heavy -> (double | light) # Choose based on visual style?

    • Double -> light

    • Light -> ASCII

  • Symbol set for scrollbars, etc.

    • Horizontal arrows

      • ASCII: < > (Inverted maybe?)

      • Latin1: ยซ ยป

      • WGL4: โ—„ โ–บ

      • Uni1: โ—€ โ–ถ

      • Uni7: โฏ‡ โฏˆ

    • Vertical arrows

      • ASCII: ^ v (Inverted maybe?)

      • WGL4: โ–ฒ โ–ผ

      • Uni7: โฏ… โฏ†

    • Scroll bar

      • Inverted proportional area?

      • Icon on bar?

      • Combo of above?

    • Handling of very small scrollbars?

      • 1 cell - single arrow (or double-headed arrow) indicating available scroll directions?

      • 2 cells - just end arrows

      • 3-4 cells - end arrows and space between? icon?

      • 5+ cells - normal usage

Terminal::Widgets v0.3.2

Basic TUI Widgets

Authors

  • Geoffrey Broadwell

License

Artistic-2.0

Dependencies

Color::DirColors:auth<zef:japhb>:ver<0.0.3+>Terminal::ANSIColor:ver<0.14+>:auth<zef:raku-community-modules>Terminal::Capabilities:auth<zef:japhb>:ver<0.0.21+>Terminal::LineEditor:auth<zef:japhb>:ver<0.0.23+>Terminal::Print:auth<zef:terminal-printers>:ver<0.977+>Text::MiscUtils:auth<zef:japhb>:ver<0.0.13+>nano:auth<zef:lizmat>:ver<0.0.2+>

Test Dependencies

Provides

  • Terminal::Widgets
  • Terminal::Widgets::App
  • Terminal::Widgets::ColorTheme
  • Terminal::Widgets::ColorThemes
  • Terminal::Widgets::Common
  • Terminal::Widgets::DirtyAreas
  • Terminal::Widgets::Events
  • Terminal::Widgets::Focusable
  • Terminal::Widgets::Form
  • Terminal::Widgets::I18N::Locale
  • Terminal::Widgets::I18N::Translation
  • Terminal::Widgets::Input
  • Terminal::Widgets::Input::Boolean
  • Terminal::Widgets::Input::Button
  • Terminal::Widgets::Input::Checkbox
  • Terminal::Widgets::Input::Labeled
  • Terminal::Widgets::Input::Menu
  • Terminal::Widgets::Input::RadioButton
  • Terminal::Widgets::Input::SimpleClickable
  • Terminal::Widgets::Input::Text
  • Terminal::Widgets::Input::ToggleButton
  • Terminal::Widgets::Layout
  • Terminal::Widgets::Layout::BoxModel
  • Terminal::Widgets::PlainText
  • Terminal::Widgets::Progress::Tracker
  • Terminal::Widgets::ScrollBar
  • Terminal::Widgets::Scrollable
  • Terminal::Widgets::Simple
  • Terminal::Widgets::Simple::App
  • Terminal::Widgets::Simple::StandardWidgets
  • Terminal::Widgets::Simple::TopLevel
  • Terminal::Widgets::SpanBuffer
  • Terminal::Widgets::Terminal
  • Terminal::Widgets::TextContent
  • Terminal::Widgets::Themable
  • Terminal::Widgets::TopLevel
  • Terminal::Widgets::Utils
  • Terminal::Widgets::Utils::Color
  • Terminal::Widgets::Viewer::DirTree
  • Terminal::Widgets::Viewer::Log
  • Terminal::Widgets::Viewer::RichText
  • Terminal::Widgets::Viewer::Tree
  • Terminal::Widgets::Viz::SmokeChart
  • Terminal::Widgets::Viz::Sparkline
  • Terminal::Widgets::Volatile::DirTree
  • Terminal::Widgets::Volatile::Tree
  • Terminal::Widgets::Widget
  • Terminal::Widgets::WidgetRegistry
  • Terminal::Widgets::WrappableBuffer

The Camelia image is copyright 2009 by Larry Wall. "Raku" is trademark of the Yet Another Society. All rights reserved.

Built with Podlite โ€” the markup and publishing tools behind this site.