MCPcopy Create free account
hub / github.com/StrataWM/strata / new

Method new

src/state.rs:274–335  ·  view source on GitHub ↗
(
		event_loop: &EventLoop<StrataState>,
		display: &Display<StrataComp>,
		socket_name: OsString,
		seat_name: String,
		backend: WinitGraphicsBackend<GlowRenderer>,
		damage_tracker: OutputDamageTra

Source from the content-addressed store, hash-verified

272
273impl StrataComp {
274 pub fn new(
275 event_loop: &EventLoop<StrataState>,
276 display: &Display<StrataComp>,
277 socket_name: OsString,
278 seat_name: String,
279 backend: WinitGraphicsBackend<GlowRenderer>,
280 damage_tracker: OutputDamageTracker,
281 ) -> Self {
282 let start_time = Instant::now();
283 let dh = display.handle();
284 let loop_signal = event_loop.get_signal();
285 let compositor_state = CompositorState::new::<Self>(&dh);
286 let xdg_shell_state = XdgShellState::new::<Self>(&dh);
287 let xdg_decoration_state = XdgDecorationState::new::<Self>(&dh);
288 let shm_state = ShmState::new::<Self>(&dh, vec![]);
289 let output_manager_state = OutputManagerState::new_with_xdg_output::<Self>(&dh);
290 let mut seat_state = SeatState::new();
291 let data_device_state = DataDeviceState::new::<Self>(&dh);
292 let primary_selection_state = PrimarySelectionState::new::<Self>(&dh);
293 let layer_shell_state = WlrLayerShellState::new::<Self>(&dh);
294
295 let mut seat = seat_state.new_wl_seat(&dh, seat_name);
296 let keyboard = seat
297 .add_keyboard(
298 XkbConfig {
299 layout: "it",
300 options: Some("caps:swapescape".to_string()),
301 ..Default::default()
302 },
303 160,
304 40,
305 )
306 .expect("Couldn't parse XKB config");
307 seat.add_pointer();
308
309 let config_workspace: u8 = 5;
310 let workspaces = Workspaces::new(config_workspace);
311 let mods_state = keyboard.modifier_state();
312
313 StrataComp {
314 dh,
315 backend,
316 damage_tracker,
317 start_time,
318 socket_name,
319 compositor_state,
320 xdg_shell_state,
321 xdg_decoration_state,
322 loop_signal,
323 shm_state,
324 output_manager_state,
325 popup_manager: PopupManager::default(),
326 seat_state,
327 data_device_state,
328 primary_selection_state,
329 layer_shell_state,
330 seat,
331 workspaces,

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected