#icons #linux #pack #file #path #tux-icons #icon-pack

bin+lib tux-icons

A library for getting desktop icons in linux

13 unstable releases (3 breaking)

new 0.4.4 May 11, 2025
0.4.2 Feb 5, 2025
0.3.1 Nov 18, 2024

#524 in Filesystem

Download history 295/week @ 2025-01-21 36/week @ 2025-01-28 172/week @ 2025-02-04 18/week @ 2025-02-11 1/week @ 2025-02-18 4/week @ 2025-02-25 3/week @ 2025-03-04 7/week @ 2025-03-11 1/week @ 2025-03-18 3/week @ 2025-04-08 2/week @ 2025-04-15 6/week @ 2025-04-22 63/week @ 2025-04-29 166/week @ 2025-05-06

238 downloads per month
Used in whiskers-launcher-core

MIT license

21KB
313 lines

About

Tux-Icons is a library for getting icons from an icon pack in linux. You can search using the icon pack and the icon name or just simply getting it from the desktop file.

Library

Install

To install do this in your project:

cargo add tux-icons

Or add it manually in cargo.toml:

[dependencies]
tux-icons = "0.4.4"

Usage

Start by creating a IconFetcher instance. This will load with the default system icon pack:

let fetcher = IconFetcher::new();

Get the icon path given it's name

You can get the icon path just by searching from it's name. For example firefox:

let path = fetcher.get_icon_pack_path("firefox");

Get icon path from desktop file

You can also get the icon by giving the desktop file path

let path = fetcher.get_icon_path_from_desktop(&desktop_path);

Use other icon pack

You can also change the icon pack to get an icon from that specific one in case you don't want the default.

fetcher.set_icon_pack("Papirus-Dark");

Get target path

In case you want to get the target path from the icon file symlink instead of the symlink file

fetcher.set_return_target_path(true);

Cli

Install

To install it you can run

cargo install 

Or you can install by download the binary in the releases

Usage

To use this it's as simple as running search-icon and icon name and from-desktop with .desktop file.

You can also run tux-icons --help for more configurations like icon pack and return target path in case it's a symlink (it's not on by default due to performance reasons).

Contributors

Dependencies

~14–23MB
~140K SLoC