From 7d22713a72d84fc0c12a67424fec91f54032bc17 Mon Sep 17 00:00:00 2001 From: hstde Date: Sun, 8 Aug 2021 02:06:18 +0200 Subject: [PATCH] Terminal: Save settings to config file When exiting the terminal settings window, the opacity, bell and maximum history size will be saved to the application config file. Because the color scheme is neither configurable nor will it be loaded on startup, it will not get saved for now. --- Userland/Applications/Terminal/main.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Userland/Applications/Terminal/main.cpp b/Userland/Applications/Terminal/main.cpp index 2dcd416e9e..eec792eb0a 100644 --- a/Userland/Applications/Terminal/main.cpp +++ b/Userland/Applications/Terminal/main.cpp @@ -357,6 +357,23 @@ int main(int argc, char** argv) settings_window = create_settings_window(terminal); settings_window->show(); settings_window->move_to_front(); + settings_window->on_close = [&]() { + config->write_num_entry("Window", "Opacity", terminal.opacity()); + config->write_num_entry("Terminal", "MaxHistorySize", terminal.max_history_size()); + + auto bell = terminal.bell_mode(); + auto bell_setting = String::empty(); + if (bell == VT::TerminalWidget::BellMode::AudibleBeep) { + bell_setting = "AudibleBeep"; + } else if (bell == VT::TerminalWidget::BellMode::Disabled) { + bell_setting = "Disabled"; + } else { + bell_setting = "Visible"; + } + config->write_entry("Window", "Bell", bell_setting); + + config->sync(); + }; }); terminal.context_menu().add_separator();