aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2023-12-05 08:04:46 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2023-12-05 08:04:46 +0400
commit11ae17b220dfb454c524fff800f97bc11c3a56dd (patch)
tree591bf0bb2c729a268ffd9a75c5471ec2a9b86dea /src
parent40b633be5c100a592ba9186777ff4f495f895131 (diff)
downloadniri-11ae17b220dfb454c524fff800f97bc11c3a56dd.tar.gz
niri-11ae17b220dfb454c524fff800f97bc11c3a56dd.tar.bz2
niri-11ae17b220dfb454c524fff800f97bc11c3a56dd.zip
Extract to_xkb_config() to a method
Diffstat (limited to 'src')
-rw-r--r--src/config.rs14
-rw-r--r--src/niri.rs15
2 files changed, 17 insertions, 12 deletions
diff --git a/src/config.rs b/src/config.rs
index a76bf348..966fd85b 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -6,7 +6,7 @@ use directories::ProjectDirs;
use miette::{miette, Context, IntoDiagnostic};
use smithay::input::keyboard::keysyms::KEY_NoSymbol;
use smithay::input::keyboard::xkb::{keysym_from_name, KEYSYM_CASE_INSENSITIVE};
-use smithay::input::keyboard::Keysym;
+use smithay::input::keyboard::{Keysym, XkbConfig};
#[derive(knuffel::Decode, Debug, PartialEq)]
pub struct Config {
@@ -80,6 +80,18 @@ pub struct Xkb {
pub options: Option<String>,
}
+impl Xkb {
+ pub fn to_xkb_config(&self) -> XkbConfig {
+ XkbConfig {
+ rules: &self.rules,
+ model: &self.model,
+ layout: self.layout.as_deref().unwrap_or("us"),
+ variant: &self.variant,
+ options: self.options.clone(),
+ }
+ }
+}
+
#[derive(knuffel::DecodeScalar, Debug, Default, PartialEq, Eq)]
pub enum TrackLayout {
/// The layout change is global.
diff --git a/src/niri.rs b/src/niri.rs
index 61d99527..544ae16d 100644
--- a/src/niri.rs
+++ b/src/niri.rs
@@ -32,7 +32,7 @@ use smithay::desktop::utils::{
use smithay::desktop::{
layer_map_for_output, LayerSurface, PopupManager, Space, Window, WindowSurfaceType,
};
-use smithay::input::keyboard::{Layout as KeyboardLayout, XkbConfig, XkbContextHandler};
+use smithay::input::keyboard::{Layout as KeyboardLayout, XkbContextHandler};
use smithay::input::pointer::{CursorIcon, CursorImageAttributes, CursorImageStatus, MotionEvent};
use smithay::input::{Seat, SeatState};
use smithay::output::Output;
@@ -633,17 +633,10 @@ impl Niri {
VirtualKeyboardManagerState::new::<State, _>(&display_handle, |_| true);
let mut seat: Seat<State> = seat_state.new_wl_seat(&display_handle, backend.seat_name());
- let xkb = XkbConfig {
- rules: &config_.input.keyboard.xkb.rules,
- model: &config_.input.keyboard.xkb.model,
- layout: config_.input.keyboard.xkb.layout.as_deref().unwrap_or("us"),
- variant: &config_.input.keyboard.xkb.variant,
- options: config_.input.keyboard.xkb.options.clone(),
- };
seat.add_keyboard(
- xkb,
- config_.input.keyboard.repeat_delay as i32,
- config_.input.keyboard.repeat_rate as i32,
+ config_.input.keyboard.xkb.to_xkb_config(),
+ config_.input.keyboard.repeat_delay.into(),
+ config_.input.keyboard.repeat_rate.into(),
)
.unwrap();
seat.add_pointer();