seat: add FallbackOutputMode
This commit is contained in:
parent
ca6e3891af
commit
727a1bc68b
2 changed files with 35 additions and 1 deletions
|
|
@ -523,6 +523,9 @@ impl ConfigProxyHandler {
|
||||||
seat: Seat,
|
seat: Seat,
|
||||||
mode: FallbackOutputMode,
|
mode: FallbackOutputMode,
|
||||||
) -> Result<(), CphError> {
|
) -> Result<(), CphError> {
|
||||||
|
let Ok(mode) = mode.try_into() else {
|
||||||
|
return Err(CphError::UnknownFallbackOutputMode(mode));
|
||||||
|
};
|
||||||
let seat = self.get_seat(seat)?;
|
let seat = self.get_seat(seat)?;
|
||||||
seat.set_fallback_output_mode(mode);
|
seat.set_fallback_output_mode(mode);
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
@ -3537,6 +3540,8 @@ enum CphError {
|
||||||
UnknownBarPosition(BarPosition),
|
UnknownBarPosition(BarPosition),
|
||||||
#[error("Unknown gfx API {0:?}")]
|
#[error("Unknown gfx API {0:?}")]
|
||||||
UnknownGfxApi(GfxApi),
|
UnknownGfxApi(GfxApi),
|
||||||
|
#[error("Unknown fallback output mode {0:?}")]
|
||||||
|
UnknownFallbackOutputMode(FallbackOutputMode),
|
||||||
}
|
}
|
||||||
|
|
||||||
trait WithRequestName {
|
trait WithRequestName {
|
||||||
|
|
|
||||||
|
|
@ -106,10 +106,11 @@ use {
|
||||||
},
|
},
|
||||||
ahash::AHashMap,
|
ahash::AHashMap,
|
||||||
jay_config::{
|
jay_config::{
|
||||||
input::FallbackOutputMode,
|
input::FallbackOutputMode as ConfigFallbackOutputMode,
|
||||||
keyboard::syms::{KeySym, SYM_Escape},
|
keyboard::syms::{KeySym, SYM_Escape},
|
||||||
},
|
},
|
||||||
kbvm::Keycode,
|
kbvm::Keycode,
|
||||||
|
linearize::Linearize,
|
||||||
run_on_drop::on_drop,
|
run_on_drop::on_drop,
|
||||||
smallvec::SmallVec,
|
smallvec::SmallVec,
|
||||||
std::{
|
std::{
|
||||||
|
|
@ -258,6 +259,34 @@ enum MarkMode {
|
||||||
Jump,
|
Jump,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq, Linearize)]
|
||||||
|
pub enum FallbackOutputMode {
|
||||||
|
Cursor,
|
||||||
|
Focus,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl TryFrom<ConfigFallbackOutputMode> for FallbackOutputMode {
|
||||||
|
type Error = ();
|
||||||
|
|
||||||
|
fn try_from(value: ConfigFallbackOutputMode) -> Result<Self, Self::Error> {
|
||||||
|
let v = match value {
|
||||||
|
ConfigFallbackOutputMode::Cursor => FallbackOutputMode::Cursor,
|
||||||
|
ConfigFallbackOutputMode::Focus => FallbackOutputMode::Focus,
|
||||||
|
_ => return Err(()),
|
||||||
|
};
|
||||||
|
Ok(v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Into<ConfigFallbackOutputMode> for FallbackOutputMode {
|
||||||
|
fn into(self) -> ConfigFallbackOutputMode {
|
||||||
|
match self {
|
||||||
|
FallbackOutputMode::Cursor => ConfigFallbackOutputMode::Cursor,
|
||||||
|
FallbackOutputMode::Focus => ConfigFallbackOutputMode::Focus,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const CHANGE_CURSOR_MOVED: u32 = 1 << 0;
|
const CHANGE_CURSOR_MOVED: u32 = 1 << 0;
|
||||||
const CHANGE_TREE: u32 = 1 << 1;
|
const CHANGE_TREE: u32 = 1 << 1;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue