mod(Render): fullscreen option as comptime configuration through App(..)
This commit is contained in:
15
src/main.zig
15
src/main.zig
@@ -2,8 +2,11 @@ const std = @import("std");
|
||||
const terminal = @import("terminal.zig");
|
||||
const zlog = @import("zlog");
|
||||
|
||||
const App = @import("app.zig").App(union(enum) {});
|
||||
const Renderer = @import("render.zig").PlainRenderer();
|
||||
const App = @import("app.zig").App(
|
||||
union(enum) {},
|
||||
@import("render.zig").PlainRenderer,
|
||||
true,
|
||||
);
|
||||
const Key = @import("key.zig");
|
||||
|
||||
pub const std_options = zlog.std_options;
|
||||
@@ -23,20 +26,16 @@ pub fn main() !void {
|
||||
const allocator = gpa.allocator();
|
||||
|
||||
var app: App = .{};
|
||||
var renderer: Renderer = .{};
|
||||
var renderer: App.Renderer = .{};
|
||||
|
||||
var rawText = App.Widget.RawText.init(allocator);
|
||||
const widget = App.Widget.createFrom(&rawText);
|
||||
var layout = App.Layout.Pane.init(allocator, widget);
|
||||
defer layout.deinit();
|
||||
defer layout.deinit(); // deinitializes the contained widget
|
||||
|
||||
try app.start();
|
||||
defer app.stop() catch unreachable;
|
||||
|
||||
// NOTE: necessary for fullscreen tui applications
|
||||
try terminal.enterAltScreen();
|
||||
defer terminal.existAltScreen() catch unreachable;
|
||||
|
||||
// App.Event loop
|
||||
while (true) {
|
||||
const event = app.nextEvent();
|
||||
|
||||
Reference in New Issue
Block a user