state: Include layout choice in visible outcome
This is still in preparation and doesn't issue any observable effects.
This commit is contained in:
18
src/state.rs
18
src/state.rs
@ -113,6 +113,7 @@ pub mod visibility {
|
|||||||
pub struct Outcome {
|
pub struct Outcome {
|
||||||
pub visibility: animation::Outcome,
|
pub visibility: animation::Outcome,
|
||||||
pub im: InputMethod,
|
pub im: InputMethod,
|
||||||
|
pub layout: LayoutChoice,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Outcome {
|
impl Outcome {
|
||||||
@ -126,11 +127,13 @@ impl Outcome {
|
|||||||
Outcome {
|
Outcome {
|
||||||
visibility: animation::Outcome::Visible{..},
|
visibility: animation::Outcome::Visible{..},
|
||||||
im: InputMethod::Active(hints),
|
im: InputMethod::Active(hints),
|
||||||
|
..
|
||||||
} => Some(hints.clone()),
|
} => Some(hints.clone()),
|
||||||
|
|
||||||
Outcome {
|
Outcome {
|
||||||
visibility: animation::Outcome::Visible{..},
|
visibility: animation::Outcome::Visible{..},
|
||||||
im: InputMethod::InactiveSince(_),
|
im: InputMethod::InactiveSince(_),
|
||||||
|
..
|
||||||
} => Some(InputMethodDetails {
|
} => Some(InputMethodDetails {
|
||||||
hint: ContentHint::NONE,
|
hint: ContentHint::NONE,
|
||||||
purpose: ContentPurpose::Normal,
|
purpose: ContentPurpose::Normal,
|
||||||
@ -180,6 +183,11 @@ pub struct Application {
|
|||||||
/// but not sure about being allowed on non-touch displays.
|
/// but not sure about being allowed on non-touch displays.
|
||||||
pub preferred_output: Option<OutputId>,
|
pub preferred_output: Option<OutputId>,
|
||||||
pub outputs: HashMap<OutputId, OutputState>,
|
pub outputs: HashMap<OutputId, OutputState>,
|
||||||
|
/// We presume that the system always has some preference,
|
||||||
|
/// even though we receive the preference after init,
|
||||||
|
/// and we might not receive one at all (gsettings missing).
|
||||||
|
/// Then a default is used.
|
||||||
|
pub layout_choice: LayoutChoice,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Application {
|
impl Application {
|
||||||
@ -197,6 +205,10 @@ impl Application {
|
|||||||
debug_mode_enabled: false,
|
debug_mode_enabled: false,
|
||||||
preferred_output: None,
|
preferred_output: None,
|
||||||
outputs: Default::default(),
|
outputs: Default::default(),
|
||||||
|
layout_choice: LayoutChoice {
|
||||||
|
name: String::from("us"),
|
||||||
|
source: LayoutSource::Xkb,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -283,7 +295,10 @@ impl Application {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
Event::LayoutChoice(LayoutChoice { name, source }) => self,
|
Event::LayoutChoice(choice) => Self {
|
||||||
|
layout_choice: choice,
|
||||||
|
..self
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
if state.debug_mode_enabled {
|
if state.debug_mode_enabled {
|
||||||
@ -397,6 +412,7 @@ Outcome:
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
im: self.im.clone(),
|
im: self.im.clone(),
|
||||||
|
layout: self.layout_choice.clone(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user