Crates.io | icon-loader |
lib.rs | icon-loader |
version | 0.4.0 |
source | src |
created_at | 2020-06-17 20:13:46.415798 |
updated_at | 2023-06-15 14:39:52.397072 |
description | Crate to load and cache themed icons in 100% safe rust. |
homepage | |
repository | https://gitlab.com/Maldela/rust-icon-loader |
max_upload_size | |
id | 255018 |
size | 43,418 |
A crate that loads and caches themed icons in 100% safe rust.
Just add it to your cargo.toml
file like this:
[dependencies]
icon-loader = "0.4"
kde
: Feature that lets you read the default system theme name from '~/.config/kdeglobals'.gtk
: Feature that lets you read the default system theme name from '~/.config/gtk-3.0/settings.ini'.theme_error_log
: Feature that uses the log
crate to log errors that occur while parsing icon themes.IconLoader
object to load icons from the systems hicolor
icon theme:use icon_loader::icon_loader_hicolor;
if let Some(icon) = icon_loader_hicolor().load_icon("audio-headphones") {
let path = icon.file_for_size(64).path();
}
use icon_loader::IconLoader;
let loader = IconLoader::new_kde().unwrap();
if let Some(icon) = loader.load_icon("audio-headphones") {
let path = icon.file_for_size(64).path();
}
use icon_loader::IconLoader;
let mut loader = IconLoader::new();
loader.set_search_paths(&["path_to_your_icon_theme"]);
loader.set_theme_name_provider("name_of_your_icon_theme");
loader.update_theme_name();
if let Some(icon) = loader.load_icon("icon_name") {
let path = icon.file_for_size(32).path();
}
This project is licensed under the MIT License - see the LICENSE.md file for details