mirror of
https://github.com/librekeys/picoforge.git
synced 2026-07-28 08:01:19 -07:00
fix(ui): Application icon on macos and windows (#74)
* change cargo-packager config to fix application icon on macos * fix: add windows icon fixes * chore(pkg): add cargo-packager removed stuff and clean build.rs * fix: compile issue on unix --------- Co-authored-by: Suyog Tandel <git@suyogtandel.in>
This commit is contained in:
co-authored by
Suyog Tandel
parent
f6b9887f7f
commit
c0412aff74
+6
-1
@@ -1,2 +1,7 @@
|
||||
[alias]
|
||||
run-watch = "watch -c -x check -x run"
|
||||
run-watch = "watch -c -x check -x run"
|
||||
|
||||
# [target.'cfg(all(windows, target_env = "msvc"))']
|
||||
# rustflags = ["-C", "target-feature=+crt-static"]
|
||||
# rustflags = ["-C", "link-arg=/MANIFESTUAC:level='requireAdministrator' uiAccess='false'"]
|
||||
# rustflags = ["-C", "target-feature=+crt-static", "-C", "link-arg=/MANIFESTUAC:level='requireAdministrator' uiAccess='false'"]
|
||||
|
||||
Generated
+12
@@ -4326,6 +4326,7 @@ dependencies = [
|
||||
"serde",
|
||||
"serde_cbor_2",
|
||||
"serde_json",
|
||||
"tauri-winres",
|
||||
"thiserror 2.0.18",
|
||||
]
|
||||
|
||||
@@ -6018,6 +6019,17 @@ dependencies = [
|
||||
"objc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tauri-winres"
|
||||
version = "0.3.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1087b111fe2b005e42dbdc1990fc18593234238d47453b0c99b7de1c9ab2c1e0"
|
||||
dependencies = [
|
||||
"dunce",
|
||||
"embed-resource",
|
||||
"toml 0.9.12+spec-1.1.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tempfile"
|
||||
version = "3.25.0"
|
||||
|
||||
+43
-5
@@ -5,14 +5,15 @@ description = "An open source commissioning tool for Pico FIDO security keys. De
|
||||
authors = ["Suyog Tandel", "PicoForge Contributers"]
|
||||
license = "AGPL-3.0"
|
||||
edition = "2024"
|
||||
build = "build.rs"
|
||||
|
||||
[dependencies]
|
||||
# tokio = { version = "1.49", features = ["full"] }
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
serde_json = "1"
|
||||
log = "0.4" # Logging facade
|
||||
log4rs = "1" # For logging to output (like stdout)
|
||||
directories = "6" # For Applcation config/data dir handling
|
||||
log = "0.4" # Logging facade
|
||||
log4rs = "1" # For logging to output (like stdout)
|
||||
directories = "6" # For Applcation config/data dir handling
|
||||
|
||||
# For device management backend:
|
||||
pcsc = "2" # Standard Smart Card API (connect to the key)
|
||||
@@ -43,7 +44,44 @@ codegen-units = 1 # Allows LLVM to perform better optimization.
|
||||
lto = true # Enables link-time-optimizations however is not stable.
|
||||
opt-level = 3 # Prioritizes speed. Use `z` if you prefer small binary size.
|
||||
# panic = "abort" # Higher performance by disabling panic handlers.
|
||||
strip = true # Ensures debug symbols are removed.
|
||||
strip = true # Ensures debug symbols are removed.
|
||||
|
||||
[target.'cfg(windows)'.build-dependencies]
|
||||
tauri-winres = "0.3"
|
||||
|
||||
# Tauri winres config:g
|
||||
[package.metadata.tauri-winres]
|
||||
FileDescription = "An open source commissioning tool for Pico FIDO security keys."
|
||||
ProductName = "PicoForge"
|
||||
OriginalFilename = "picoforge.exe"
|
||||
LegalCopyright = "Copyright © 2026 Suyog Tandel"
|
||||
|
||||
# Cargo-Packager config:
|
||||
[package.metadata.packager]
|
||||
# before-packaging-command = "cargo build --release"
|
||||
name = "picoforge"
|
||||
productName = "picoforge"
|
||||
description = "An open source commissioning tool for Pico FIDO security keys. Developed with Rust and GPUI."
|
||||
category = "Utility"
|
||||
authors = ["Suyog Tandel", "PicoForge Contributers"]
|
||||
identifier = "in.suyogtandel.picoforge"
|
||||
license_file = "LICENSE"
|
||||
|
||||
icons = [
|
||||
"./static/appIcons/icon.icns",
|
||||
"./static/appIcons/icon.png",
|
||||
"./static/appIcons/icon.ico",
|
||||
]
|
||||
|
||||
[package.metadata.packager.macos]
|
||||
info_plist_path = "Info.plist"
|
||||
|
||||
[package.metadata.packager.linux]
|
||||
generate_desktop_entry = false
|
||||
|
||||
[package.metadata.packager.appimage]
|
||||
excluded_libraries = ["libpcsclite*.so*"]
|
||||
files = { "data/in.suyogtandel.picoforge.desktop" = "usr/share/applications/in.suyogtandel.picoforge.desktop", "static/appIcons/in.suyogtandel.picoforge-symbolic.svg" = "usr/share/icons/hicolor/symbolic/apps/in.suyogtandel.picoforge-symbolic.svg", "static/appIcons/in.suyogtandel.picoforge.svg" = "usr/share/icons/hicolor/scalable/apps/in.suyogtandel.picoforge.svg" }
|
||||
|
||||
# NOTE: The paths for .deb packages needs to be verified not sure about these.
|
||||
[package.metadata.packager.deb]
|
||||
files = { "data/in.suyogtandel.picoforge.desktop" = "usr/share/applications/in.suyogtandel.picoforge.desktop", "static/appIcons/in.suyogtandel.picoforge-symbolic.svg" = "usr/share/icons/hicolor/symbolic/apps/in.suyogtandel.picoforge-symbolic.svg", "static/appIcons/in.suyogtandel.picoforge.svg" = "usr/share/icons/hicolor/scalable/apps/in.suyogtandel.picoforge.svg" }
|
||||
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>picoforge</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>picoforge</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>icon.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>in.suyogtandel.picoforge</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>picoforge</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.4.1</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>0.4.1</string>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
<key>LSRequiresCarbon</key>
|
||||
<true/>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -1,45 +0,0 @@
|
||||
name = "picoforge"
|
||||
productName = "picoforge"
|
||||
description = "An open source commissioning tool for Pico FIDO security keys. Developed with Rust and GPUI."
|
||||
category = "Utility"
|
||||
version = "0.4.0"
|
||||
authors = ["Suyog Tandel", "PicoForge Contributers"]
|
||||
identifier = "in.suyogtandel.picoforge"
|
||||
license_file = "LICENSE"
|
||||
|
||||
icons = [
|
||||
"./static/appIcons/in.suyogtandel.picoforge.svg",
|
||||
"./static/appIcons/icon.png",
|
||||
"./static/appIcons/icon.ico",
|
||||
"./static/appIcons/icon.icns",
|
||||
"./static/appIcons/32x32.png",
|
||||
"./static/appIcons/64x64.png",
|
||||
"./static/appIcons/128x128.png",
|
||||
"./static/appIcons/128x128@2x.png",
|
||||
"./static/appIcons/Square30x30Logo.png",
|
||||
"./static/appIcons/Square44x44Logo.png",
|
||||
"./static/appIcons/Square71x71Logo.png",
|
||||
"./static/appIcons/Square89x89Logo.png",
|
||||
"./static/appIcons/Square107x107Logo.png",
|
||||
"./static/appIcons/Square142x142Logo.png",
|
||||
"./static/appIcons/Square150x150Logo.png",
|
||||
"./static/appIcons/Square284x284Logo.png",
|
||||
"./static/appIcons/Square310x310Logo.png",
|
||||
"./static/appIcons/StoreLogo.png",
|
||||
]
|
||||
|
||||
# beforePackagingCommand = "cargo build --release"
|
||||
|
||||
binaries = [{ main = true, name = "picoforge" }]
|
||||
# outDir = "packaging/cargoPackager"
|
||||
|
||||
[linux]
|
||||
generateDesktopEntry = false
|
||||
|
||||
[appimage]
|
||||
excludedLibs = ["libpcsclite*.so*"]
|
||||
files = { "data/in.suyogtandel.picoforge.desktop" = "usr/share/applications/in.suyogtandel.picoforge.desktop", "static/appIcons/in.suyogtandel.picoforge-symbolic.svg" = "usr/share/icons/hicolor/symbolic/apps/in.suyogtandel.picoforge-symbolic.svg", "static/appIcons/in.suyogtandel.picoforge.svg" = "usr/share/icons/hicolor/scalable/apps/in.suyogtandel.picoforge.svg" }
|
||||
|
||||
# NOTE: The paths for .deb packages needs to be verified not sure about these.
|
||||
[deb]
|
||||
files = { "data/in.suyogtandel.picoforge.desktop" = "usr/share/applications/in.suyogtandel.picoforge.desktop", "static/appIcons/in.suyogtandel.picoforge-symbolic.svg" = "usr/share/icons/hicolor/symbolic/apps/in.suyogtandel.picoforge-symbolic.svg", "static/appIcons/in.suyogtandel.picoforge.svg" = "usr/share/icons/hicolor/scalable/apps/in.suyogtandel.picoforge.svg" }
|
||||
@@ -0,0 +1,13 @@
|
||||
#[cfg(windows)]
|
||||
use tauri_winres;
|
||||
|
||||
// Configures windows application resource.( fix for app icon and launching app as admin)
|
||||
#[cfg(windows)]
|
||||
fn main() {
|
||||
let mut res = tauri_winres::WindowsResource::new();
|
||||
res.set_icon("static/appIcons/icon.ico");
|
||||
res.compile().unwrap();
|
||||
}
|
||||
|
||||
#[cfg(unix)]
|
||||
fn main() {}
|
||||
Reference in New Issue
Block a user