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
238 downloads per month
Used in whiskers-launcher-core
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