mirror of
https://github.com/wez/wezterm.git
synced 2024-12-23 13:21:38 +03:00
integrated-title-bar: Ignore style config on macos and windows
This commit is contained in:
parent
fc7a8a8914
commit
7d79933d28
@ -79,6 +79,9 @@ pub struct Config {
|
||||
#[dynamic(default)]
|
||||
pub window_decorations: WindowDecorations,
|
||||
|
||||
/// Controls window buttons position and style
|
||||
/// for fancy window decorations.
|
||||
/// Has no effect on macOS or Windows.
|
||||
#[dynamic(default)]
|
||||
pub log_unknown_escape_sequences: bool,
|
||||
|
||||
|
@ -246,7 +246,12 @@ impl TabBarState {
|
||||
remove_hide_button,
|
||||
remove_maximize_button,
|
||||
..
|
||||
} = config.fancy_window_decorations;
|
||||
} = if cfg!(any(windows, target_os = "macos")) {
|
||||
// Ignore changes to config on windows and macos
|
||||
window::FancyWindowDecorations::default()
|
||||
} else {
|
||||
config.fancy_window_decorations.clone()
|
||||
};
|
||||
|
||||
let button_order = if is_left {
|
||||
['X', '.', '-']
|
||||
@ -401,7 +406,7 @@ impl TabBarState {
|
||||
let mut x = 0;
|
||||
let mut items = vec![];
|
||||
|
||||
if fancy_window_decorations && config.fancy_window_decorations.is_left {
|
||||
if fancy_window_decorations && config.fancy_window_decorations.is_left && !cfg!(widnows) {
|
||||
Self::fancy_window_decorations(mouse_x, &mut x, config, &mut items, &mut line, &colors);
|
||||
}
|
||||
|
||||
@ -499,7 +504,10 @@ impl TabBarState {
|
||||
}
|
||||
|
||||
// Reserve place for buttons
|
||||
let title_width = if fancy_window_decorations && !config.fancy_window_decorations.is_left {
|
||||
let title_width = if fancy_window_decorations
|
||||
&& !config.fancy_window_decorations.is_left
|
||||
&& !cfg!(target_os = "macos")
|
||||
{
|
||||
let window_hide =
|
||||
parse_status_text(&config.tab_bar_style.window_hide, CellAttributes::default());
|
||||
let window_hide_hover = parse_status_text(
|
||||
@ -552,7 +560,10 @@ impl TabBarState {
|
||||
line.insert_cell(x, black_cell.clone(), title_width, SEQ_ZERO);
|
||||
}
|
||||
|
||||
if fancy_window_decorations && !config.fancy_window_decorations.is_left {
|
||||
if fancy_window_decorations
|
||||
&& !config.fancy_window_decorations.is_left
|
||||
&& !cfg!(target_os = "macos")
|
||||
{
|
||||
x = title_width;
|
||||
Self::fancy_window_decorations(mouse_x, &mut x, config, &mut items, &mut line, &colors);
|
||||
}
|
||||
|
@ -308,6 +308,9 @@ fn window_button_element(
|
||||
) -> Element {
|
||||
use window::FancyWindowDecorationsStyle as Style;
|
||||
|
||||
#[cfg(any(windows, targer_os = "macos"))]
|
||||
let style = Style::default();
|
||||
|
||||
let poly = match style {
|
||||
Style::Windows => {
|
||||
use window_buttons::windows::{CLOSE, HIDE, MAXIMIZE, RESTORE};
|
||||
@ -1180,7 +1183,9 @@ impl super::TermWindow {
|
||||
TabBarItem::WindowHideButton
|
||||
| TabBarItem::WindowMaximizeButton
|
||||
| TabBarItem::WindowCloseButton => {
|
||||
if self.config.fancy_window_decorations.is_left {
|
||||
if (self.config.fancy_window_decorations.is_left || cfg!(target_os = "macos"))
|
||||
&& cfg!(not(windows))
|
||||
{
|
||||
left_eles.push(item_to_elem(item))
|
||||
} else {
|
||||
right_eles.push(item_to_elem(item))
|
||||
@ -1270,7 +1275,8 @@ impl super::TermWindow {
|
||||
|
||||
let window_buttons_at_left = self.config.window_decorations
|
||||
== window::WindowDecorations::FANCY
|
||||
&& self.config.fancy_window_decorations.is_left;
|
||||
&& (self.config.fancy_window_decorations.is_left
|
||||
|| cfg!(target_os = "macos") && cfg!(not(windows)));
|
||||
|
||||
let left_padding = if window_buttons_at_left { 0.0 } else { 0.5 };
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user