#[cfg(feature = "serde")]
use serde::{Deserialize, Serialize};
use strum::*;
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[derive(AsRefStr, EnumString, EnumIter, Debug, Clone, Copy, Hash, PartialEq, Eq)]
pub enum Atom {
#[strum(serialize = "ATOM")]
Atom,
#[strum(serialize = "ATOM_WINDOW")]
Window,
#[strum(serialize = "ATOM_CARDINAL")]
Cardinal,
#[strum(serialize = "MANAGER")]
Manager,
#[strum(serialize = "UTF8_STRING")]
UTF8String,
#[strum(serialize = "WM_CLASS")]
WmClass,
#[strum(serialize = "WM_DELETE_WINDOW")]
WmDeleteWindow,
#[strum(serialize = "WM_HINTS")]
WmHints,
#[strum(serialize = "WM_NORMAL_HINTS")]
WmNormalHints,
#[strum(serialize = "WM_PROTOCOLS")]
WmProtocols,
#[strum(serialize = "WM_STATE")]
WmState,
#[strum(serialize = "WM_NAME")]
WmName,
#[strum(serialize = "WM_TRANSIENT_FOR")]
WmTransientFor,
#[strum(serialize = "WM_TAKE_FOCUS")]
WmTakeFocus,
#[strum(serialize = "_NET_ACTIVE_WINDOW")]
NetActiveWindow,
#[strum(serialize = "_NET_CLIENT_LIST")]
NetClientList,
#[strum(serialize = "_NET_CLIENT_LIST_STACKING")]
NetClientListStacking,
#[strum(serialize = "_NET_CURRENT_DESKTOP")]
NetCurrentDesktop,
#[strum(serialize = "_NET_DESKTOP_NAMES")]
NetDesktopNames,
#[strum(serialize = "_NET_DESKTOP_VIEWPORT")]
NetDesktopViewport,
#[strum(serialize = "_NET_NUMBER_OF_DESKTOPS")]
NetNumberOfDesktops,
#[strum(serialize = "_NET_SUPPORTED")]
NetSupported,
#[strum(serialize = "_NET_SUPPORTING_WM_CHECK")]
NetSupportingWmCheck,
#[strum(serialize = "_NET_SYSTEM_TRAY_OPCODE")]
NetSystemTrayOpcode,
#[strum(serialize = "_NET_SYSTEM_TRAY_ORIENTATION")]
NetSystemTrayOrientation,
#[strum(serialize = "_NET_SYSTEM_TRAY_ORIENTATION_HORZ")]
NetSystemTrayOrientationHorz,
#[strum(serialize = "_NET_SYSTEM_TRAY_S0")]
NetSystemTrayS0,
#[strum(serialize = "_NET_WM_DESKTOP")]
NetWmDesktop,
#[strum(serialize = "_NET_WM_NAME")]
NetWmName,
#[strum(serialize = "_NET_WM_STATE")]
NetWmState,
#[strum(serialize = "_NET_WM_STRUT")]
NetWmStrut,
#[strum(serialize = "_NET_WM_STATE_DEMANDS_ATTENTION")]
NetWmStateDemandsAttention,
#[strum(serialize = "_NET_WM_STATE_FULLSCREEN")]
NetWmStateFullscreen,
#[strum(serialize = "_NET_WM_STATE_HIDDEN")]
NetWmStateHidden,
#[strum(serialize = "_NET_WM_WINDOW_TYPE")]
NetWmWindowType,
#[strum(serialize = "_XEMBED")]
XEmbed,
#[strum(serialize = "_XEMBED_INFO")]
XEmbedInfo,
#[strum(serialize = "_NET_WM_WINDOW_TYPE_DESKTOP")]
NetWindowTypeDesktop,
#[strum(serialize = "_NET_WM_WINDOW_TYPE_DOCK")]
NetWindowTypeDock,
#[strum(serialize = "_NET_WM_WINDOW_TYPE_TOOLBAR")]
NetWindowTypeToolbar,
#[strum(serialize = "_NET_WM_WINDOW_TYPE_MENU")]
NetWindowTypeMenu,
#[strum(serialize = "_NET_WM_WINDOW_TYPE_UTILITY")]
NetWindowTypeUtility,
#[strum(serialize = "_NET_WM_WINDOW_TYPE_SPLASH")]
NetWindowTypeSplash,
#[strum(serialize = "_NET_WM_WINDOW_TYPE_DIALOG")]
NetWindowTypeDialog,
#[strum(serialize = "_NET_WM_WINDOW_TYPE_DROPDOWN_MENU")]
NetWindowTypeDropdownMenu,
#[strum(serialize = "_NET_WM_WINDOW_TYPE_POPUP_MENU")]
NetWindowTypePopupMenu,
#[strum(serialize = "_NET_WM_WINDOW_TYPE_NOTIFICATION")]
NetWindowTypeNotification,
#[strum(serialize = "_NET_WM_WINDOW_TYPE_COMBO")]
NetWindowTypeCombo,
#[strum(serialize = "_NET_WM_WINDOW_TYPE_DND")]
NetWindowTypeDnd,
#[strum(serialize = "_NET_WM_WINDOW_TYPE_NORMAL")]
NetWindowTypeNormal,
}
pub const AUTO_FLOAT_WINDOW_TYPES: &[Atom] = &[
Atom::NetWindowTypeCombo,
Atom::NetWindowTypeDesktop,
Atom::NetWindowTypeDialog,
Atom::NetWindowTypeDock,
Atom::NetWindowTypeDropdownMenu,
Atom::NetWindowTypeMenu,
Atom::NetWindowTypeNotification,
Atom::NetWindowTypePopupMenu,
Atom::NetWindowTypeSplash,
Atom::NetWindowTypeToolbar,
Atom::NetWindowTypeUtility,
];