Crate icon_loader

source ·
Expand description

Crate to load and cache themed icons.


  • Using a global 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();
  • Loading icons from the default icon theme set in KDE:
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();
  • Loading icons from a custom theme in a provided folder:
use icon_loader::IconLoader;

let mut loader = IconLoader::new();

if let Some(icon) = loader.load_icon("icon_name") {
    let path = icon.file_for_size(32).path();


  • 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.


  • 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 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>