Fix icon RGBA conversion, add no-decorations option, and add KDE screenshots
This commit is contained in:
13
README.md
13
README.md
@@ -12,6 +12,17 @@
|
|||||||
<img src="https://img.shields.io/badge/Status-Alpha-yellow?style=flat-square" alt="Alpha status" />
|
<img src="https://img.shields.io/badge/Status-Alpha-yellow?style=flat-square" alt="Alpha status" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="docs/assets/chat-kde.png" alt="Deskify app window running chat.com on KDE Plasma" width="49%" />
|
||||||
|
<img src="docs/assets/chat-launcher-kde.png" alt="Deskify app visible in KDE launcher" width="49%" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="docs/assets/deskify-list-terminal.png" alt="deskify list terminal output" width="80%" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p align="center"><sub>Screenshots: KDE Plasma on Arch Linux (alpha MVP workflow).</sub></p>
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Why Deskify Exists
|
## Why Deskify Exists
|
||||||
@@ -204,6 +215,7 @@ deskify build \
|
|||||||
--url "https://netflix.com" \
|
--url "https://netflix.com" \
|
||||||
--name "Netflix" \
|
--name "Netflix" \
|
||||||
--fullscreen \
|
--fullscreen \
|
||||||
|
--no-decorations \
|
||||||
--user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0.0.0 Safari/537.36" \
|
--user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0.0.0 Safari/537.36" \
|
||||||
--dark-mode \
|
--dark-mode \
|
||||||
--width 1280 \
|
--width 1280 \
|
||||||
@@ -212,6 +224,7 @@ deskify build \
|
|||||||
|
|
||||||
* `--icon <PATH>`: Provide a custom PNG icon instead of auto-downloading one.
|
* `--icon <PATH>`: Provide a custom PNG icon instead of auto-downloading one.
|
||||||
* `--fullscreen`: Starts the app in Kiosk mode.
|
* `--fullscreen`: Starts the app in Kiosk mode.
|
||||||
|
* `--no-decorations`: Disables native window decorations (frameless window; useful for dashboards/kiosk setups).
|
||||||
* `--user-agent <UA>`: Useful to bypass webview restrictions on certain platforms.
|
* `--user-agent <UA>`: Useful to bypass webview restrictions on certain platforms.
|
||||||
* `--dark-mode`: Forces the Tauri webview into a dark theme.
|
* `--dark-mode`: Forces the Tauri webview into a dark theme.
|
||||||
* `--width <PX>` / `--height <PX>`: Sets the startup resolution.
|
* `--width <PX>` / `--height <PX>`: Sets the startup resolution.
|
||||||
|
|||||||
BIN
docs/assets/chat-kde.png
Executable file
BIN
docs/assets/chat-kde.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 53 KiB |
BIN
docs/assets/chat-launcher-kde.png
Executable file
BIN
docs/assets/chat-launcher-kde.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 38 KiB |
BIN
docs/assets/deskify-list-terminal.png
Executable file
BIN
docs/assets/deskify-list-terminal.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 46 KiB |
10
src/main.rs
10
src/main.rs
@@ -39,6 +39,10 @@ enum Commands {
|
|||||||
#[arg(short, long)]
|
#[arg(short, long)]
|
||||||
fullscreen: bool,
|
fullscreen: bool,
|
||||||
|
|
||||||
|
/// Disable native window decorations (frameless window)
|
||||||
|
#[arg(long)]
|
||||||
|
no_decorations: bool,
|
||||||
|
|
||||||
/// Set a custom User-Agent string for the webview
|
/// Set a custom User-Agent string for the webview
|
||||||
#[arg(short = 'A', long)]
|
#[arg(short = 'A', long)]
|
||||||
user_agent: Option<String>,
|
user_agent: Option<String>,
|
||||||
@@ -161,6 +165,7 @@ fn generate_project(
|
|||||||
name: &str,
|
name: &str,
|
||||||
icon: Option<&String>,
|
icon: Option<&String>,
|
||||||
fullscreen: bool,
|
fullscreen: bool,
|
||||||
|
no_decorations: bool,
|
||||||
user_agent: Option<&String>,
|
user_agent: Option<&String>,
|
||||||
width: Option<f64>,
|
width: Option<f64>,
|
||||||
height: Option<f64>,
|
height: Option<f64>,
|
||||||
@@ -233,6 +238,9 @@ fn main() {
|
|||||||
if fullscreen {
|
if fullscreen {
|
||||||
window_config.insert("fullscreen".to_string(), json!(true));
|
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 {
|
if let Some(ua) = user_agent {
|
||||||
window_config.insert("userAgent".to_string(), json!(ua));
|
window_config.insert("userAgent".to_string(), json!(ua));
|
||||||
}
|
}
|
||||||
@@ -476,6 +484,7 @@ fn main() -> Result<()> {
|
|||||||
name,
|
name,
|
||||||
icon,
|
icon,
|
||||||
fullscreen,
|
fullscreen,
|
||||||
|
no_decorations,
|
||||||
user_agent,
|
user_agent,
|
||||||
width,
|
width,
|
||||||
height,
|
height,
|
||||||
@@ -491,6 +500,7 @@ fn main() -> Result<()> {
|
|||||||
&name,
|
&name,
|
||||||
icon.as_ref(),
|
icon.as_ref(),
|
||||||
fullscreen,
|
fullscreen,
|
||||||
|
no_decorations,
|
||||||
user_agent.as_ref(),
|
user_agent.as_ref(),
|
||||||
width,
|
width,
|
||||||
height,
|
height,
|
||||||
|
|||||||
Reference in New Issue
Block a user