pub struct State {Show 43 fields
pub devices: Vec<DeviceInfo>,
pub macros: Vec<MacroEntry>,
pub selected_device: Option<usize>,
pub status: String,
pub status_history: VecDeque<String>,
pub loading: bool,
pub recording: bool,
pub recording_macro_name: Option<String>,
pub daemon_connected: bool,
pub new_macro_name: String,
pub socket_path: PathBuf,
pub recently_updated_macros: HashMap<String, Instant>,
pub grabbed_devices: HashSet<String>,
pub profile_name: String,
pub active_tab: Tab,
pub notifications: VecDeque<Notification>,
pub recording_pulse: bool,
pub device_profiles: HashMap<String, Vec<String>>,
pub active_profiles: HashMap<String, String>,
pub remap_profiles: HashMap<String, Vec<RemapProfileInfo>>,
pub active_remap_profiles: HashMap<String, String>,
pub active_remaps: HashMap<String, (String, Vec<RemapEntry>)>,
pub keypad_layout: Vec<KeypadButton>,
pub keypad_view_device: Option<String>,
pub selected_button: Option<usize>,
pub device_capabilities: Option<DeviceCapabilities>,
pub active_layers: HashMap<String, usize>,
pub layer_configs: HashMap<String, Vec<LayerConfigInfo>>,
pub layer_config_dialog: Option<(String, usize, String, LayerMode)>,
pub analog_dpad_modes: HashMap<String, String>,
pub analog_deadzones_xy: HashMap<String, (u8, u8)>,
pub analog_outer_deadzones_xy: HashMap<String, (u8, u8)>,
pub led_states: HashMap<String, LedState>,
pub led_config_device: Option<String>,
pub selected_led_zone: Option<LedZone>,
pub pending_led_color: Option<(u8, u8, u8)>,
pub current_focus: Option<String>,
pub focus_tracking_active: bool,
pub auto_switch_view: Option<AutoSwitchRulesView>,
pub hotkey_view: Option<HotkeyBindingsView>,
pub analog_calibration_view: Option<AnalogCalibrationView>,
pub macro_settings: MacroSettings,
pub current_theme: Theme,
}Fields§
§devices: Vec<DeviceInfo>§macros: Vec<MacroEntry>§selected_device: Option<usize>§status: String§status_history: VecDeque<String>§loading: bool§recording: bool§recording_macro_name: Option<String>§daemon_connected: bool§new_macro_name: String§socket_path: PathBuf§recently_updated_macros: HashMap<String, Instant>§grabbed_devices: HashSet<String>§profile_name: String§active_tab: Tab§notifications: VecDeque<Notification>§recording_pulse: bool§device_profiles: HashMap<String, Vec<String>>Available profiles per device (device_id -> profile names)
active_profiles: HashMap<String, String>Active profile per device (device_id -> profile name)
remap_profiles: HashMap<String, Vec<RemapProfileInfo>>Available remap profiles per device (device_path -> profile info)
active_remap_profiles: HashMap<String, String>Active remap profile per device (device_path -> profile name)
active_remaps: HashMap<String, (String, Vec<RemapEntry>)>Active remaps per device (device_path -> remap entries)
keypad_layout: Vec<KeypadButton>Azeron keypad layout for selected device
keypad_view_device: Option<String>Current device path being viewed in keypad layout
Selected button for remapping (index into keypad_layout)
device_capabilities: Option<DeviceCapabilities>Device capabilities for current selection
active_layers: HashMap<String, usize>Active layer per device (device_id -> active_layer_id)
layer_configs: HashMap<String, Vec<LayerConfigInfo>>Layer configurations per device (device_id -> layers)
layer_config_dialog: Option<(String, usize, String, LayerMode)>Layer configuration dialog state (device_id, layer_id, name, mode)
analog_dpad_modes: HashMap<String, String>D-pad mode per device (device_id -> mode)
analog_deadzones_xy: HashMap<String, (u8, u8)>Per-axis deadzone values (device_id -> (x_percentage, y_percentage))
analog_outer_deadzones_xy: HashMap<String, (u8, u8)>Per-axis outer deadzone values (device_id -> (x_percentage, y_percentage))
led_states: HashMap<String, LedState>LED configuration state per device (device_id -> LedState)
led_config_device: Option<String>LED configuration dialog open for device
selected_led_zone: Option<LedZone>Currently selected LED zone for color editing
pending_led_color: Option<(u8, u8, u8)>Pending color picker values (r, g, b) before application
current_focus: Option<String>Current focused application ID (for auto-switch rule creation)
focus_tracking_active: boolFocus tracking is active
auto_switch_view: Option<AutoSwitchRulesView>Auto-switch rules view (open when configuring auto-profile switching)
hotkey_view: Option<HotkeyBindingsView>Hotkey bindings view (open when configuring hotkeys)
analog_calibration_view: Option<AnalogCalibrationView>Analog calibration view (open when configuring analog stick)
macro_settings: MacroSettingsGlobal macro timing and jitter settings
current_theme: ThemeCurrent UI theme (Adaptive COSMIC)
Implementations§
Source§impl State
impl State
Sourcepub fn view_led_config(&self) -> Option<Element<'_, Message>>
pub fn view_led_config(&self) -> Option<Element<'_, Message>>
View LED configuration dialog
Displays modal dialog for LED configuration with zone selection, RGB sliders, brightness control, and pattern selection.
Sourcepub fn view_analog_calibration(&self) -> Option<Element<'_, Message>>
pub fn view_analog_calibration(&self) -> Option<Element<'_, Message>>
View analog calibration dialog
Displays modal dialog for analog stick calibration with deadzone, sensitivity, range, and inversion controls.
Trait Implementations§
Source§impl Application for State
impl Application for State
Source§type Message = Message
type Message = Message
Application will produce.Source§type Theme = Theme
type Theme = Theme
Application.Source§type Flags = ()
type Flags = ()
Application.Source§fn update(&mut self, message: Message) -> Command<Message>
fn update(&mut self, message: Message) -> Command<Message>
Application. Read moreSource§fn view(&self) -> Element<'_, Message>
fn view(&self) -> Element<'_, Message>
Application. Read moreSource§fn subscription(&self) -> Subscription<Message>
fn subscription(&self) -> Subscription<Message>
Subscription for the current state of the
application. Read moreSource§fn scale_factor(&self) -> f64
fn scale_factor(&self) -> f64
Application. Read moreAuto Trait Implementations§
impl Freeze for State
impl !RefUnwindSafe for State
impl !Send for State
impl !Sync for State
impl Unpin for State
impl UnsafeUnpin for State
impl !UnwindSafe for State
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
Source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
Source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
Source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle.Source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other into Self, while performing the appropriate scaling,
rounding and clamping.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
Source§fn into_angle(self) -> U
fn into_angle(self) -> U
T.Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
Source§fn into_color(self) -> U
fn into_color(self) -> U
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
Source§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self into T, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds error is returned which contains
the unclamped color. Read more