#桌面 #条目 #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 3340/week @ 2024-05-03 3013/week @ 2024-05-10 2484/week @ 2024-05-17 2211/week @ 2024-05-24 2811/week @ 2024-05-31 2287/week @ 2024-06-07 1857/week @ 2024-06-14 2111/week @ 2024-06-21 2255/week @ 2024-06-28 3607/week @ 2024-07-05 5090/week @ 2024-07-12 5845/week @ 2024-07-19 3881/week @ 2024-07-26 5194/week @ 2024-08-02 8148/week @ 2024-08-09 4066/week @ 2024-08-16

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