1
1
mirror of https://github.com/wez/wezterm.git synced 2024-09-21 11:50:42 +03:00

remove ConfigBridge, Windows edition

This commit is contained in:
Wez Furlong 2021-03-23 22:17:44 -07:00
parent e294123215
commit 51e22d4c90

View File

@ -1,12 +1,12 @@
use super::*;
use crate::connection::ConnectionOps;
use crate::WindowConfigHandle;
use crate::{
Clipboard, Dimensions, KeyCode, KeyEvent, Modifiers, MouseButtons, MouseCursor, MouseEvent,
MouseEventKind, MousePress, Point, Rect, ScreenPoint, WindowCallbacks, WindowDecorations,
WindowOps, WindowOpsMut,
};
use anyhow::{bail, Context};
use config::ConfigHandle;
use lazy_static::lazy_static;
use promise::Future;
use shared_library::shared_library;
@ -54,7 +54,7 @@ pub(crate) struct WindowInner {
keyboard_info: KeyboardLayoutInfo,
config: WindowConfigHandle,
config: ConfigHandle,
}
#[derive(Debug, Clone)]
@ -125,7 +125,7 @@ impl WindowInner {
let window = Window(self.hwnd);
let conn = Connection::get().unwrap();
let gl_state = if self.config.prefer_egl() {
let gl_state = if self.config.prefer_egl {
match conn.gl_connection.borrow().as_ref() {
None => crate::egl::GlState::create(None, self.hwnd.0),
Some(glconn) => {
@ -221,7 +221,7 @@ impl WindowInner {
fn apply_decoration(&mut self) {
let hwnd = self.hwnd.0;
schedule_apply_decoration(hwnd, self.config.decorations());
schedule_apply_decoration(hwnd, self.config.window_decorations);
}
}
@ -270,7 +270,7 @@ impl Window {
}
fn create_window(
config: WindowConfigHandle,
config: ConfigHandle,
class_name: &str,
name: &str,
width: usize,
@ -310,7 +310,7 @@ impl Window {
}
}
let decorations = config.decorations();
let decorations = config.window_decorations;
let style = decorations_to_style(decorations);
let (width, height) = adjust_client_to_window_dimensions(style, width, height);
@ -374,11 +374,11 @@ impl Window {
width: usize,
height: usize,
callbacks: Box<dyn WindowCallbacks>,
config: Option<&WindowConfigHandle>,
config: Option<&ConfigHandle>,
) -> anyhow::Result<Window> {
let config = match config {
Some(c) => Arc::clone(c),
None => crate::config(),
Some(c) => c.clone(),
None => config::configuration(),
};
let inner = Rc::new(RefCell::new(WindowInner {
hwnd: HWindow(null_mut()),
@ -465,7 +465,7 @@ impl WindowOpsMut for WindowInner {
fn set_inner_size(&mut self, width: usize, height: usize) {
let (width, height) = adjust_client_to_window_dimensions(
decorations_to_style(self.config.decorations()),
decorations_to_style(self.config.window_decorations),
width,
height,
);
@ -528,7 +528,7 @@ impl WindowOpsMut for WindowInner {
imc.set_position(cursor.origin.x.max(0) as i32, cursor.origin.y.max(0) as i32);
}
fn config_did_change(&mut self, config: &WindowConfigHandle) {
fn config_did_change(&mut self, config: &ConfigHandle) {
self.config = config.clone();
self.apply_decoration();
}
@ -540,7 +540,7 @@ impl WindowOpsMut for WindowInner {
let config = self.config.clone();
if let Some(placement) = self.saved_placement.take() {
promise::spawn::spawn(async move {
let style = decorations_to_style(config.decorations());
let style = decorations_to_style(config.window_decorations);
SetWindowLongW(hwnd, GWL_STYLE, style as i32);
SetWindowPlacement(hwnd, &placement);
SetWindowPos(
@ -633,8 +633,8 @@ impl WindowOps for Window {
})
}
fn config_did_change(&self, config: &WindowConfigHandle) -> Future<()> {
let config = Arc::clone(config);
fn config_did_change(&self, config: &ConfigHandle) -> Future<()> {
let config = config.clone();
Connection::with_window_inner(self.0, move |inner| {
inner.config_did_change(&config);
Ok(())
@ -1597,7 +1597,7 @@ unsafe fn key(hwnd: HWND, msg: UINT, wparam: WPARAM, lparam: LPARAM) -> Option<L
// resolution can do the right thing.
modifiers |= Modifiers::RIGHT_ALT;
} else if inner.keyboard_info.has_alt_gr()
&& inner.config.treat_left_ctrlalt_as_altgr()
&& inner.config.treat_left_ctrlalt_as_altgr
&& (keys[VK_MENU as usize] & 0x80 != 0)
&& (keys[VK_CONTROL as usize] & 0x80 != 0)
{
@ -1803,7 +1803,7 @@ unsafe fn key(hwnd: HWND, msg: UINT, wparam: WPARAM, lparam: LPARAM) -> Option<L
// They pressed a dead key.
// If they want dead key processing, then record that and
// wait for a subsequent keypress.
if inner.config.use_dead_keys() {
if inner.config.use_dead_keys {
inner.dead_pending.replace((modifiers, vk));
return Some(0);
}