#icons #freedesktop #lookup

freedesktop-icons

A Freedesktop Icons lookup crate

11 unstable releases (3 breaking)

0.4.0 Apr 16, 2025
0.3.1 Feb 8, 2025
0.3.0 Jan 23, 2025
0.2.6 Feb 13, 2024
0.2.1 May 24, 2022

#73 in GUI

Download history 29723/week @ 2025-02-01 31108/week @ 2025-02-08 24037/week @ 2025-02-15 29552/week @ 2025-02-22 26369/week @ 2025-03-01 29809/week @ 2025-03-08 30299/week @ 2025-03-15 30722/week @ 2025-03-22 28577/week @ 2025-03-29 32767/week @ 2025-04-05 25864/week @ 2025-04-12 26002/week @ 2025-04-19 33012/week @ 2025-04-26 30684/week @ 2025-05-03 25535/week @ 2025-05-10 21922/week @ 2025-05-17

116,980 downloads per month
Used in 8 crates

MIT license

37KB
804 lines

freedesktop-icons

crates.io-badge docrs-badge

This crate provides a freedesktop icon lookup implementation.

It exposes a single lookup function to find icons based on their name, theme, size and scale.

Example

Simple lookup:

The following snippet get an icon from the default 'hicolor' theme with the default scale (1) and the default size (24).

use freedesktop_icons::lookup;

let icon = lookup("firefox").find();

Complex lookup:

If you have specific requirements for your lookup you can use the provided builder functions:

use freedesktop_icons::lookup;

let icon = lookup("firefox")
    .with_size(48)
    .with_scale(2)
    .with_theme("Arc")
    .find();

Cache:

If your application is going to repeat the same icon lookups multiple times you can use the internal cache to improve performance.

use freedesktop_icons::lookup;

let icon = lookup("firefox")
    .with_size(48)
    .with_scale(2)
    .with_theme("Arc")
    .with_cache()
    .find();

Dependencies

~0.7–12MB
~69K SLoC