Skip to main content

system_utils/
error.rs

1#![allow(unused_imports)]
2use crate::prelude::DynError;
3use macron::{Display, Error, From};
4
5#[cfg(feature = "theme")]
6#[derive(Debug, Display, Error, From)]
7pub enum ThemeError {
8    #[cfg(target_os = "linux")]
9    #[display(fmt = "Failed to execute gsettings: {0}")]
10    GsettingsExecute(std::io::Error),
11
12    #[cfg(target_os = "linux")]
13    #[display(fmt = "gsettings exited with non-zero status")]
14    GsettingsExitStatus,
15
16    #[cfg(target_os = "macos")]
17    #[display(fmt = "Failed to execute osascript: {0}")]
18    OsascriptExecute(std::io::Error),
19
20    #[cfg(target_os = "macos")]
21    #[display(fmt = "osascript exited with non-zero status")]
22    OsascriptExitStatus,
23
24    #[display(fmt = "Unsupported operating system")]
25    UnsupportedOS,
26}
27
28/// The audio error
29#[cfg(feature = "audio")]
30#[derive(Debug, Display, Error, From)]
31pub enum AudioError {
32    #[display(fmt = "Audio devices not found")]
33    DevicesNotFound,
34
35    #[from(skip)]
36    #[display(fmt = "Set volume failed: {0}")]
37    SetVolume(DynError),
38
39    #[from(skip)]
40    #[display(fmt = "Get volume failed: {0}")]
41    GetVolume(DynError),
42
43    #[from(skip)]
44    #[display(fmt = "Get mute status failed: {0}")]
45    GetMute(DynError),
46
47    #[from(skip)]
48    #[display(fmt = "Get mute volume failed: {0}")]
49    SetMute(DynError),
50
51    #[display(fmt = "Unsupported operating system")]
52    UnsupportedOS,
53}
54
55/// The media error
56#[cfg(feature = "media")]
57#[derive(Debug, Display, Error, From)]
58pub enum MediaError {
59    #[display(fmt = "No active media player is available")]
60    PlayerNotFound,
61
62    #[display(fmt = "Unsupported operating system")]
63    UnsupportedOS,
64}
65
66#[cfg(feature = "power")]
67#[derive(Debug, Display, Error, From)]
68pub enum PowerError {
69    #[display(fmt = "Unsupported operating system")]
70    UnsupportedOS,
71}