From d862e56e34ad1a76836cc2716b473a61879f2205 Mon Sep 17 00:00:00 2001 From: Maze Winther Date: Fri, 27 Mar 2026 21:15:00 +0100 Subject: feat: init desktop app --- apps/desktop/src/main.rs | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 apps/desktop/src/main.rs (limited to 'apps/desktop/src') diff --git a/apps/desktop/src/main.rs b/apps/desktop/src/main.rs new file mode 100644 index 00000000..e456f136 --- /dev/null +++ b/apps/desktop/src/main.rs @@ -0,0 +1,41 @@ +use gpui::{ + App, Application, Bounds, Context, SharedString, Window, WindowBounds, WindowOptions, div, + prelude::*, px, rgb, size, +}; + +struct AppWindow { + title: SharedString, +} + +impl Render for AppWindow { + fn render(&mut self, _window: &mut Window, _cx: &mut Context) -> impl IntoElement { + div() + .size_full() + .bg(rgb(0x0f0f0f)) + .flex() + .justify_center() + .items_center() + .text_xl() + .text_color(rgb(0xffffff)) + .child(self.title.clone()) + } +} + +fn main() { + Application::new().run(|cx: &mut App| { + let bounds = Bounds::centered(None, size(px(1280.), px(720.)), cx); + cx.open_window( + WindowOptions { + window_bounds: Some(WindowBounds::Windowed(bounds)), + ..Default::default() + }, + |_, cx| { + cx.new(|_| AppWindow { + title: "OpenCut".into(), + }) + }, + ) + .unwrap(); + cx.activate(true); + }); +} -- cgit v1.3.1