raclettui 0.1.2

Build terminal-themed wayland layer shell applications with Rust.
Documentation
use raclettui::{
    WindowBuilder,
    events::{KeyCode, WindowEvent},
    layer::{Anchor, Layer}
};

use ratatui::{
    Terminal,
    border,
    style::{Style, Styled},
    widgets::{Block, Paragraph}
};

fn main() {

    let window = WindowBuilder::new()
        .set_namespace("example")
        .set_width(500)
        .set_height(484)
        .set_layer(Layer::Top)
        .set_anchor(Anchor::Top)
        .set_font_path("fonts/AdwaitaMonoNerdFont-Regular.ttf")
        .set_keyboard_interactivity(raclettui::KeyboardInteractivity::OnDemand)
        .set_bg_alpha(0.5)
        .init_cpu().unwrap();

    let events = window.get_event_queue();
    let mut terminal = Terminal::new(window).unwrap();

    'app_loop: loop{

        terminal.draw(|f| {
            let size = f.area();
            let paragraph = Paragraph::new("Hello World!")
                .block(
                    Block::new()
                    .borders(border!(TOP, BOTTOM, RIGHT, LEFT))
                )
                .set_style(Style::new().fg(ratatui::style::Color::Red).bg(ratatui::style::Color::Blue));
            f.render_widget(paragraph, size);
        }).unwrap();

        for ev in events.drain() {
            if let WindowEvent::Keyboard(key_event) = ev {
                match key_event.code {
                    KeyCode::Char('q') => break 'app_loop,
                    _ => {}
                }
            }
        }
    }
}