aboutsummaryrefslogtreecommitdiffstats
path: root/src/server
diff options
context:
space:
mode:
authorKunal Mohan <kunalmohan99@gmail.com>2021-05-12 23:48:47 +0530
committerKunal Mohan <kunalmohan99@gmail.com>2021-05-15 22:14:35 +0530
commit378dd90f8f32d29557bb2437900e318faea460d2 (patch)
treed0a6605508ba7bd1931cbb0e9c7bd69307808567 /src/server
parentFix after rebase (diff)
downloadsl0ppij-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.rs26
-rw-r--r--src/server/route.rs21
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