diff --git a/README.md b/README.md index 2dca25a..01a8af9 100755 --- a/README.md +++ b/README.md @@ -12,6 +12,17 @@ Alpha status

+

+ Deskify app window running chat.com on KDE Plasma + Deskify app visible in KDE launcher +

+ +

+ deskify list terminal output +

+ +

Screenshots: KDE Plasma on Arch Linux (alpha MVP workflow).

+ --- ## Why Deskify Exists @@ -204,6 +215,7 @@ deskify build \ --url "https://netflix.com" \ --name "Netflix" \ --fullscreen \ + --no-decorations \ --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0.0.0 Safari/537.36" \ --dark-mode \ --width 1280 \ @@ -212,6 +224,7 @@ deskify build \ * `--icon `: Provide a custom PNG icon instead of auto-downloading one. * `--fullscreen`: Starts the app in Kiosk mode. +* `--no-decorations`: Disables native window decorations (frameless window; useful for dashboards/kiosk setups). * `--user-agent `: Useful to bypass webview restrictions on certain platforms. * `--dark-mode`: Forces the Tauri webview into a dark theme. * `--width ` / `--height `: Sets the startup resolution. diff --git a/docs/assets/chat-kde.png b/docs/assets/chat-kde.png new file mode 100755 index 0000000..b6be44f Binary files /dev/null and b/docs/assets/chat-kde.png differ diff --git a/docs/assets/chat-launcher-kde.png b/docs/assets/chat-launcher-kde.png new file mode 100755 index 0000000..194a70f Binary files /dev/null and b/docs/assets/chat-launcher-kde.png differ diff --git a/docs/assets/deskify-list-terminal.png b/docs/assets/deskify-list-terminal.png new file mode 100755 index 0000000..2e06a30 Binary files /dev/null and b/docs/assets/deskify-list-terminal.png differ diff --git a/src/main.rs b/src/main.rs index 8d9ee9b..eb9d3bc 100755 --- a/src/main.rs +++ b/src/main.rs @@ -39,6 +39,10 @@ enum Commands { #[arg(short, long)] fullscreen: bool, + /// Disable native window decorations (frameless window) + #[arg(long)] + no_decorations: bool, + /// Set a custom User-Agent string for the webview #[arg(short = 'A', long)] user_agent: Option, @@ -161,6 +165,7 @@ fn generate_project( name: &str, icon: Option<&String>, fullscreen: bool, + no_decorations: bool, user_agent: Option<&String>, width: Option, height: Option, @@ -233,6 +238,9 @@ fn main() { if fullscreen { window_config.insert("fullscreen".to_string(), json!(true)); } + if no_decorations { + window_config.insert("decorations".to_string(), json!(false)); + } if let Some(ua) = user_agent { window_config.insert("userAgent".to_string(), json!(ua)); } @@ -476,6 +484,7 @@ fn main() -> Result<()> { name, icon, fullscreen, + no_decorations, user_agent, width, height, @@ -491,6 +500,7 @@ fn main() -> Result<()> { &name, icon.as_ref(), fullscreen, + no_decorations, user_agent.as_ref(), width, height,