#桌面 #条目 #freedesktop

freedesktop-desktop-entry

Freedesktop 桌面条目规范

18 个版本

新版本 0.7.3 2024 年 8 月 20 日
0.7.0 2024 年 7 月 16 日
0.5.1 2024 年 3 月 11 日
0.5.0 2022 年 1 月 15 日
0.1.1 2019 年 7 月 7 日

#44 in Unix API

Download history • Rust 包仓库 3340/week @ 2024-05-03 • Rust 包仓库 3013/week @ 2024-05-10 • Rust 包仓库 2484/week @ 2024-05-17 • Rust 包仓库 2211/week @ 2024-05-24 • Rust 包仓库 2811/week @ 2024-05-31 • Rust 包仓库 2287/week @ 2024-06-07 • Rust 包仓库 1857/week @ 2024-06-14 • Rust 包仓库 2111/week @ 2024-06-21 • Rust 包仓库 2255/week @ 2024-06-28 • Rust 包仓库 3607/week @ 2024-07-05 • Rust 包仓库 5090/week @ 2024-07-12 • Rust 包仓库 5845/week @ 2024-07-19 • Rust 包仓库 3881/week @ 2024-07-26 • Rust 包仓库 5194/week @ 2024-08-02 • Rust 包仓库 8148/week @ 2024-08-09 • Rust 包仓库 4066/week @ 2024-08-16 • Rust 包仓库

22,189 每月下载量
用于 7 个crate(6 个直接使用)

MPL-2.0 许可证

41KB
932 行代码

Freedesktop 桌面条目规范

crates.io docs.rs

此crate提供了一个库,用于高效解析桌面条目文件。

use std::fs;

use freedesktop_desktop_entry::{
    default_paths, get_languages_from_env, DesktopEntry, Iter, PathSource,
};

fn main() {
    let locales = get_languages_from_env();

    for path in Iter::new(default_paths()) {
        let path_src = PathSource::guess_from(&path);
        if let Ok(bytes) = fs::read_to_string(&path) {
            if let Ok(entry) = DesktopEntry::from_str(&path, &bytes, &locales) {
                println!("{:?}: {}\n---\n{}", path_src, path.display(), entry);
            }
        }
    }
}

许可证

根据 Mozilla 公共许可证 2.0 许可。此copyleft许可证的许可权取决于提供受许可文件的源代码及其修改版本的许可(或在某些情况下,GNU许可证之一)。必须保留版权和许可证通知。贡献者提供专利权利的明确授予。但是,使用受许可工作的较大作品可以不同条款和没有源代码分发,包括在较大作品中添加的文件。

贡献

您提交的任何有意包含在此作品中的贡献都应根据Mozilla公共许可证2.0(MPL-2.0)许可。要求在每个文件的顶部添加版权声明模板。

// Copyright {year} {person OR org} <{email}>
// SPDX-License-Identifier: MPL-2.0

依赖

~9–21MB
~132K SLoC