summaryrefslogtreecommitdiffstats
path: root/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs27
1 files changed, 17 insertions, 10 deletions
diff --git a/src/lib.rs b/src/lib.rs
index f8ddcd99..644079fe 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -131,7 +131,7 @@ pub fn handle_key_event_or_break(
KeyCode::F(2) => app.toggle_search_whole_word(),
KeyCode::F(3) => app.toggle_search_regex(),
KeyCode::F(5) => app.toggle_tree_mode(),
- KeyCode::F(6) => app.toggle_sort(),
+ KeyCode::F(6) => app.toggle_sort_menu(),
KeyCode::F(9) => app.start_killing_process(),
KeyCode::PageDown => app.on_page_down(),
KeyCode::PageUp => app.on_page_up(),
@@ -322,33 +322,40 @@ pub fn panic_hook(panic_info: &PanicInfo<'_>) {
}
pub fn update_data(app: &mut App) {
+ let data_source = match &app.frozen_state {
+ app::frozen_state::FrozenState::NotFrozen => &app.data_collection,
+ app::frozen_state::FrozenState::Frozen(data) => data,
+ };
+
for proc in app.proc_state.widget_states.values_mut() {
if proc.force_update_data {
- proc.update_displayed_process_data(&app.data_collection);
+ proc.update_displayed_process_data(data_source);
proc.force_update_data = false;
}
}
+ // FIXME: Make this CPU force update less terrible.
if app.cpu_state.force_update.is_some() {
- convert_cpu_data_points(&app.data_collection, &mut app.converted_data.cpu_data);
- app.converted_data.load_avg_data = app.data_collection.load_avg_harvest;
+ app.converted_data.ingest_cpu_data(data_source);
+ app.converted_data.load_avg_data = data_source.load_avg_harvest;
app.cpu_state.force_update = None;
}
// TODO: [OPT] Prefer reassignment over new vectors?
if app.mem_state.force_update.is_some() {
- app.converted_data.mem_data = convert_mem_data_points(&app.data_collection);
- app.converted_data.swap_data = convert_swap_data_points(&app.data_collection);
+ app.converted_data.mem_data = convert_mem_data_points(data_source);
+ app.converted_data.swap_data = convert_swap_data_points(data_source);
#[cfg(feature = "zfs")]
{
- app.converted_data.arc_data = convert_arc_data_points(&app.data_collection);
+ app.converted_data.arc_data = convert_arc_data_points(data_source);
}
+
app.mem_state.force_update = None;
}
if app.net_state.force_update.is_some() {
let (rx, tx) = get_rx_tx_data_points(
- &app.data_collection,
+ data_source,
&app.app_config_fields.network_scale_type,
&app.app_config_fields.network_unit_type,
app.app_config_fields.network_use_binary_prefix,
@@ -411,7 +418,7 @@ pub fn create_collection_thread(
app_config_fields: &app::AppConfigFields, filters: app::DataFilters,
used_widget_set: UsedWidgets,
) -> std::thread::JoinHandle<()> {
- let temp_type = app_config_fields.temperature_type.clone();
+ let temp_type = app_config_fields.temperature_type;
let use_current_cpu_total = app_config_fields.use_current_cpu_total;
let show_average_cpu = app_config_fields.show_average_cpu;
let update_rate_in_milliseconds = app_config_fields.update_rate_in_milliseconds;
@@ -444,7 +451,7 @@ pub fn create_collection_thread(
data_state.data.cleanup();
}
ThreadControlEvent::UpdateConfig(app_config_fields) => {
- data_state.set_temperature_type(app_config_fields.temperature_type.clone());
+ data_state.set_temperature_type(app_config_fields.temperature_type);
data_state
.set_use_current_cpu_total(app_config_fields.use_current_cpu_total);
data_state.set_show_average_cpu(app_config_fields.show_average_cpu);