dioxus icon indicating copy to clipboard operation
dioxus copied to clipboard

Desktop: Error setting the App Icon

Open Anonyfox opened this issue 1 year ago • 2 comments

Problem

I want to set the app icon on my desktop app (Mac OS). I didn't find something related to that in the docs or the existing issues so far, but stumbled upon the setting in the Dioxus.tml that can be set:

[bundle]
icon = ["icon.icns"]

I tried it with a .png or the .icns file (created properly from that png) and various ways of setting the path. What happens is either a "file not found" bug or

Failed to bundle project: IoError(
    Os {
        code: 63,
        kind: InvalidFilename,
        message: "File name too long",
    },
)

Steps To Reproduce

Steps to reproduce the behavior:

  • new dioxus app (desktop) from created with dx new
  • put a icon image somewhere in the folder (iE crate root)
  • add the TOML setting as above
  • try dx bundle --release

Expected behavior

A clear and concise description of what you expected to happen.

The app should have the correct icon

Environment:

  • Dioxus version: v0.5 (latest from crates io)
  • Rust version: rustc 1.77.2 (25ef9e3d8 2024-04-09)
  • OS info: MacOS Sonoma 14.4
  • App platform: desktop

Anonyfox avatar Apr 19 '24 12:04 Anonyfox

Can you try the same thing, but with the latest git version? It works with bd58a9244, but not with v0.5.2 on Linux.

╰─ dx-0.5.2 bundle -r
build desktop done
Adding assets from dist to bundle
thread 'main' panicked at packages/cli/src/cli/bundle.rs:193:13:
Failed to bundle project: BundlerError(
    Error {
        context: "Failed to build data folders and files",
        source: BundlerError(
            Error {
                context: "Failed to copy resource files",
                source: IoError(
                    Os {
                        code: 36,
                        kind: InvalidFilename,
                        message: "File name too long",
                    },
                ),
            },
        ),
    },
)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Andrew15-5 avatar Aug 03 '24 17:08 Andrew15-5