Eigenständige Linux-Anwendung bereitstellen
Some checks failed
Tests / test (push) Has been cancelled
Some checks failed
Tests / test (push) Has been cancelled
This commit is contained in:
@@ -121,6 +121,18 @@ fn setup(data: &Path) -> Result<(), String> {
|
||||
fs::remove_file(data.join(".write-test")).map_err(|e| e.to_string())?;
|
||||
workflow::init_index(data)
|
||||
}
|
||||
fn default_data_dir() -> PathBuf {
|
||||
std::env::var_os("XDG_DATA_HOME")
|
||||
.filter(|value| !value.is_empty())
|
||||
.map(PathBuf::from)
|
||||
.or_else(|| {
|
||||
std::env::var_os("HOME")
|
||||
.filter(|value| !value.is_empty())
|
||||
.map(|home| PathBuf::from(home).join(".local/share"))
|
||||
})
|
||||
.unwrap_or_else(|| PathBuf::from("."))
|
||||
.join("csr-intake")
|
||||
}
|
||||
fn label(key: &str, en: bool) -> String {
|
||||
match key {
|
||||
"display" => tr(en, "Bildschirm", "Display"),
|
||||
@@ -1845,12 +1857,20 @@ fn main() -> eframe::Result<()> {
|
||||
println!("CS-R Intake {} · {BUILD}", env!("CARGO_PKG_VERSION"));
|
||||
return Ok(());
|
||||
}
|
||||
if args.iter().any(|a| a == "--help" || a == "-h") {
|
||||
println!(
|
||||
"CS-R Intake {}\nUsage: intake-gui [--data DIRECTORY] [--version]\nDefault data directory: {}",
|
||||
env!("CARGO_PKG_VERSION"),
|
||||
default_data_dir().display()
|
||||
);
|
||||
return Ok(());
|
||||
}
|
||||
let data = args
|
||||
.iter()
|
||||
.position(|a| a == "--data")
|
||||
.and_then(|i| args.get(i + 1))
|
||||
.map(PathBuf::from)
|
||||
.unwrap_or_else(|| PathBuf::from("/mnt/intake-data"));
|
||||
.unwrap_or_else(default_data_dir);
|
||||
eframe::run_native(
|
||||
"CS-R Intake",
|
||||
eframe::NativeOptions {
|
||||
|
||||
Reference in New Issue
Block a user