Expand description

Crate to load and cache themed icons.

Examples

  • Loading icons from the default icon theme set in KDE:
use icon_loader::{IconLoader, ThemeNameProvider};

let mut loader = IconLoader::new();
loader.set_theme_name_provider(ThemeNameProvider::KDE);
loader.update_theme_name();

if let Ok(icon) = loader.load_icon("audio-headphones") {
    let path = icon.file_for_size(64).path();
}
  • Loading icons from a custom theme in a provided folder:
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 Ok(icon) = loader.load_icon("icon_name") {
    let path = icon.file_for_size(32).path();
}

Structs

Struct containing information about a themed icon.

Struct that holds information about a directory containing a set of icons with a particular size.

Struct containing information about a single icon file on disk.

The central icon loader struct.

Enums

Error type returned by this crate.

Enum representing the different file types an icon can be.

The size type of icons contained in an IconDir.

Error type returned by ThemeNameProvider.

Enum that provides a list of directories to IconLoader to search for icons in.

Enum that provides a theme name to IconLoader. It can either load the system theme name from the KDE or GTK config files or provide a fixed string or provide a theme name yielded by a completely customizable function. The last option allows users to load their own config files for example.

Type Definitions

Type alias for std::result::Result<T, Error>