#gtk #gtk4 #elm

relm4-icons

为 gtk-rs 和 Relm4 应用程序提供的图标

18 个版本

0.9.0 2024 年 7 月 12 日
0.8.3 2024 年 5 月 28 日
0.8.2 2024 年 3 月 13 日
0.7.2 2024 年 3 月 14 日
0.6.0-beta.62023 年 3 月 24 日

#222GUI

Download history 411/week @ 2024-04-28 200/week @ 2024-05-05 230/week @ 2024-05-12 320/week @ 2024-05-19 691/week @ 2024-05-26 438/week @ 2024-06-02 264/week @ 2024-06-09 325/week @ 2024-06-16 238/week @ 2024-06-23 222/week @ 2024-06-30 432/week @ 2024-07-07 403/week @ 2024-07-14 281/week @ 2024-07-21 351/week @ 2024-07-28 444/week @ 2024-08-04 257/week @ 2024-08-11

1,356 每月下载量
用于 2 crates

Apache-2.0 OR MIT

1MB
176

Relm4 图标 - 为您的 gtk-rs 和 Relm4 应用程序提供的图标!

CI Matrix Relm4 icons on crates.io Relm4 icons docs Minimum Rust version 1.75 dependency status

超过 3000 个图标,可在您的应用程序中使用!

用法

1. 查找您的图标 🔍

您可以使用提供的 3000 多个图标或您自己的图标。您可以通过以下方法之一浏览提供的图标:

来自 GNOME 的 图标开发工具包

来自 Fluent UI 系统图标

浏览所有提供的图标

有时,图标开发工具包和 Fluent UI 系统图标有重叠的图标名称,因此会添加后缀 "-alt"。

2. 指定您的图标 🖼️

在您的应用程序的 Cargo.toml 文件旁边创建一个名为 icons.toml 的文件

# Recommended: Specify your app ID *OR* your base resource path for more robust icon loading
app_id = "com.my.app"
base_resource_path = "/com/my/app/"

# List of icon names you found (shipped with this crate)
# Note: the file ending `-symbolic.svg` isn't part of the icon name.
icons = ["plus", "minus"]

# Optional: Specify a folder containing your own SVG icons
icon_folder = "my_svg_icons"

3. 添加 Relm4 图标 ✍

relm4-icons = "0.8.0"

4. 加载图标 🛫

将以下内容添加到您的初始化代码中

relm4_icons::initialize_icons();

5. 使用图标 🎉

使用 set_icon_name 和类似方法使用您的图标,例如使用 ButtonExtStackPageMenuButtonImage

示例

let button = gtk::Button::default();
button.set_icon_name("plus");

您还可以使用 icon_names 模块来生成额外的编译时图标名称。

use relm4_icons::icon_names;

let button = gtk::Button::default();
button.set_icon_name(icon_names::PLUS);

工作原理

  1. 收集配置文件中指定的所有图标
  2. 构建包含 仅所选图标 的 gresource 打包
  3. 将 gresource 文件包含在编译的二进制文件中
  4. 初始化时加载 gresource 文件

添加新图标

要添加新图标,请将它们移动到 icons 文件夹中,并确保它们的文件名以 -symbolic.svg 结尾。然后运行以下命令

cd update_icons
cargo run

致谢

  • GNOME 贡献者为提供这么多出色的图标表示感谢
  • gvdb-rs 为提供与纯 Rust 交互的 gresources 的出色 crate 表示感谢
  • gtk-rs 为 GTK4 提供出色的 Rust 绑定表示感谢

Relm4 图标的源代码根据 MIT 许可证和 Apache 许可证(版本 2.0)的条款进行许可。

图标

  • 位于 icons/icon-development-kit 文件夹中的图标根据 CC0 许可证 的条款进行许可,因此属于公共领域。
  • 位于 icons/fluentui-system-icons 文件夹中的图标根据 MIT 许可证 的条款进行许可。

这两种许可证都适用于开源和专有应用程序(不提供保证)。

依赖项

约 15-24MB
约 439K SLoC