This crate helps you to detect the current desktop environment.
It was inspired by the detectDE
function from xdg-util.
Run the following command in your project:
cargo add detect-desktop-environment
use detect_desktop_environment::DesktopEnvironment;
fn main() {
match DesktopEnvironment::detect() {
Some(de) => println!("detected desktop environment: {de:?}"),
None => println!("failed to detect desktop environment"),
}
}
This library exposes two symbols: the detect
function and it returns value: the
DesktopValue
enum. All the variants are listed below in the "Supported environments"
section.
Name | Thumbnail |
---|---|
Cinnamon |
|
Cosmic |
|
Dde |
|
Ede |
|
Endless |
|
Enlightenment |
|
Gnome |
|
Hyprland |
|
Kde |
|
Lxde |
|
Lxqt |
|
MacOs |
|
Mate |
|
Old |
|
Pantheon |
|
Razor |
|
Rox |
|
Sway |
|
Tde |
|
Unity |
|
Windows |
|
Xfce |
See docs.rs/detect-desktop-environment.
This library is stable and no major changes are expected.
If you want to improve the library, feel free to open an issue or send a PR. Breaking changes are allowed. Note however that review times may be slow.
The last 8 stable versions are explicitly supported (1 year). See Cargo.toml for details.