diff options
| author | Kunal Mohan <kunalmohan99@gmail.com> | 2021-05-12 23:48:47 +0530 |
|---|---|---|
| committer | Kunal Mohan <kunalmohan99@gmail.com> | 2021-05-15 22:14:35 +0530 |
| commit | 378dd90f8f32d29557bb2437900e318faea460d2 (patch) | |
| tree | d0a6605508ba7bd1931cbb0e9c7bd69307808567 /src/server | |
| parent | Fix after rebase (diff) | |
| download | sl0ppij-378dd90f8f32d29557bb2437900e318faea460d2.tar.gz sl0ppij-378dd90f8f32d29557bb2437900e318faea460d2.tar.xz sl0ppij-378dd90f8f32d29557bb2437900e318faea460d2.zip | |
Do not pass config_options while spawning server process
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/mod.rs | 26 | ||||
| -rw-r--r-- | src/server/route.rs | 21 |
2 files changed, 14 insertions, 33 deletions
diff --git a/src/server/mod.rs b/src/server/mod.rs index afa846e8..b925b4d2 100644 --- a/src/server/mod.rs +++ b/src/server/mod.rs @@ -49,6 +49,7 @@ impl From<ClientToServerMsg> for ServerInstruction { pub struct SessionMetaData { pub senders: ThreadSenders, + pub capabilities: PluginCapabilities, screen_thread: Option<thread::JoinHandle<()>>, pty_thread: Option<thread::JoinHandle<()>>, wasm_thread: Option<thread::JoinHandle<()>>, @@ -65,7 +66,7 @@ impl Drop for SessionMetaData { } } -pub fn start_server(os_input: Box<dyn ServerOsApi>, socket_path: PathBuf, config_options: Options) { +pub fn start_server(os_input: Box<dyn ServerOsApi>, socket_path: PathBuf) { #[cfg(not(test))] daemonize::Daemonize::new() .working_directory(std::env::var("HOME").unwrap()) @@ -96,11 +97,8 @@ pub fn start_server(os_input: Box<dyn ServerOsApi>, socket_path: PathBuf, config let sessions = sessions.clone(); let os_input = os_input.clone(); let to_server = to_server.clone(); - let capabilities = PluginCapabilities { - arrow_fonts: !config_options.simplified_ui, - }; - move || route_thread_main(sessions, os_input, to_server, capabilities) + move || route_thread_main(sessions, os_input, to_server) }) .unwrap(); #[cfg(not(test))] @@ -114,9 +112,6 @@ pub fn start_server(os_input: Box<dyn ServerOsApi>, socket_path: PathBuf, config let sessions = sessions.clone(); let to_server = to_server.clone(); let socket_path = socket_path.clone(); - let capabilities = PluginCapabilities { - arrow_fonts: config_options.simplified_ui, - }; move || { drop(std::fs::remove_file(&socket_path)); let listener = LocalSocketListener::bind(&*socket_path).unwrap(); @@ -135,14 +130,7 @@ pub fn start_server(os_input: Box<dyn ServerOsApi>, socket_path: PathBuf, config let os_input = os_input.clone(); let to_server = to_server.clone(); - move || { - route_thread_main( - sessions, - os_input, - to_server, - capabilities, - ) - } + move || route_thread_main(sessions, os_input, to_server) }) .unwrap(); } @@ -218,6 +206,10 @@ fn init_session( #[cfg(not(disable_automatic_asset_installation))] populate_data_dir(&data_dir); + let capabilities = PluginCapabilities { + arrow_fonts: config_options.simplified_ui, + }; + // Don't use default layouts in tests, but do everywhere else #[cfg(not(test))] let default_layout = Some(PathBuf::from("default")); @@ -259,7 +251,6 @@ fn init_session( Some(os_input.clone()), ); let max_panes = opts.max_panes; - let config_options = config_options; move || { screen_thread_main(screen_bus, max_panes, full_screen_ws, config_options); @@ -290,6 +281,7 @@ fn init_session( to_plugin: Some(to_plugin), to_server: None, }, + capabilities, screen_thread: Some(screen_thread), pty_thread: Some(pty_thread), wasm_thread: Some(wasm_thread), diff --git a/src/server/route.rs b/src/server/route.rs index 34db835f..c435a0e6 100644 --- a/src/server/route.rs +++ b/src/server/route.rs @@ -1,6 +1,6 @@ use std::sync::{Arc, RwLock}; -use zellij_tile::data::{Event, PluginCapabilities}; +use zellij_tile::data::Event; use crate::common::input::actions::{Action, Direction}; use crate::common::input::handler::get_mode_info; @@ -12,12 +12,7 @@ use crate::common::thread_bus::SenderWithContext; use crate::common::wasm_vm::PluginInstruction; use crate::server::{ServerInstruction, SessionMetaData}; -fn route_action( - action: Action, - session: &SessionMetaData, - os_input: &dyn ServerOsApi, - capabilities: PluginCapabilities, -) { +fn route_action(action: Action, session: &SessionMetaData, os_input: &dyn ServerOsApi) { match action { Action::Write(val) => { session @@ -35,7 +30,7 @@ fn route_action( .senders .send_to_plugin(PluginInstruction::Update( None, - Event::ModeUpdate(get_mode_info(mode, palette, capabilities)), + Event::ModeUpdate(get_mode_info(mode, palette, session.capabilities)), )) .unwrap(); session @@ -43,7 +38,7 @@ fn route_action( .send_to_screen(ScreenInstruction::ChangeMode(get_mode_info( mode, palette, - capabilities, + session.capabilities, ))) .unwrap(); session @@ -190,7 +185,6 @@ pub fn route_thread_main( sessions: Arc<RwLock<Option<SessionMetaData>>>, mut os_input: Box<dyn ServerOsApi>, to_server: SenderWithContext<ServerInstruction>, - capabilities: PluginCapabilities, ) { loop { let (instruction, err_ctx) = os_input.recv_from_client(); @@ -202,12 +196,7 @@ pub fn route_thread_main( break; } ClientToServerMsg::Action(action) => { - route_action( - action, - rlocked_sessions.as_ref().unwrap(), - &*os_input, - capabilities, - ); + route_action(action, rlocked_sessions.as_ref().unwrap(), &*os_input); } ClientToServerMsg::TerminalResize(new_size) => { rlocked_sessions |
