aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-01-17 10:23:48 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-01-17 10:24:01 +0400
commitf068157f557d1c7256278d41f1bd42a13867777f (patch)
treeb62ee2f0a102689b402f70e77e545f8b98d3074e /src
parent6703d5ce7214b5308c3803183536c4fa92773b8e (diff)
downloadniri-f068157f557d1c7256278d41f1bd42a13867777f.tar.gz
niri-f068157f557d1c7256278d41f1bd42a13867777f.tar.bz2
niri-f068157f557d1c7256278d41f1bd42a13867777f.zip
Add a calloop futures executor
Diffstat (limited to 'src')
-rw-r--r--src/niri.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/niri.rs b/src/niri.rs
index 082a68eb..f22612ed 100644
--- a/src/niri.rs
+++ b/src/niri.rs
@@ -10,6 +10,7 @@ use std::{env, mem, thread};
use _server_decoration::server::org_kde_kwin_server_decoration_manager::Mode as KdeDecorationsMode;
use anyhow::Context;
+use calloop::futures::Scheduler;
use niri_config::{Config, TrackLayout};
use smithay::backend::allocator::Fourcc;
use smithay::backend::renderer::element::solid::{SolidColorBuffer, SolidColorRenderElement};
@@ -112,6 +113,7 @@ pub struct Niri {
pub config: Rc<RefCell<Config>>,
pub event_loop: LoopHandle<'static, State>,
+ pub scheduler: Scheduler<()>,
pub stop_signal: LoopSignal,
pub display_handle: DisplayHandle,
pub socket_name: OsString,
@@ -742,6 +744,9 @@ impl Niri {
) -> Self {
let _span = tracy_client::span!("Niri::new");
+ let (executor, scheduler) = calloop::futures::executor().unwrap();
+ event_loop.insert_source(executor, |_, _, _| ()).unwrap();
+
let display_handle = display.handle();
let config_ = config.borrow();
@@ -884,6 +889,7 @@ impl Niri {
config,
event_loop,
+ scheduler,
stop_signal,
socket_name,
display_handle,