cyber-sushi / makima

Linux daemon to remap and create macros for keyboards, mice and controllers
GNU General Public License v3.0
143 stars 1 forks source link

application-specific broken #8

Closed atrosekta closed 6 months ago

atrosekta commented 6 months ago

the program crash on startup when parsing config files that should be application-specific

Scanning for config files...

Parsing config file:
"SteelSeries SteelSeries Prime::gamescope.toml"

>> Running on X11, active window detection enabled.
Running as root.
Scanning for event devices with a matching config file...

thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', src/udev_monitor.rs:115:33
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

if i rename the config file to the same thing without ::gamescope, the program start correcly and configured remap works as intended

also, i suggest adding the compile command to readme, i dont know rust, by a quick search it worked with cargo build, but i thinks i should have used --release flag ?

cyber-sushi commented 6 months ago

Hello, thank you for your report

Even when using application-specific config files, Makima needs a generic/default file to fall back to, even if it's empty. However, I agree that this is confusing so I've just released v0.6.5 which assumes an empty generic file if none is found. Let me know if it works for you.

Regarding Cargo, yes, cargo build creates a debug executable while cargo build --release creates an optimized executable, so you should definitely use --release.

I'll add a new "build" section to the Readme today for those unfamiliar with Rust!

Edit: I've rewritten the docs, the build process should be clear now