mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 02:17:34 +00:00
SystemMonitor: Update stats/graph immediately on launch
Previously the stats was only updated once the first callback from refresh_timer fired. It now makes an early stats update on launch, so something will appear in the graphs.
This commit is contained in:
parent
f8ce211201
commit
badfe72b64
1 changed files with 15 additions and 14 deletions
|
@ -312,21 +312,22 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
||||||
Config::write_i32("SystemMonitor"sv, "Monitor"sv, "Frequency"sv, frequency);
|
Config::write_i32("SystemMonitor"sv, "Monitor"sv, "Frequency"sv, frequency);
|
||||||
}
|
}
|
||||||
|
|
||||||
auto& refresh_timer = window->add<Core::Timer>(
|
auto update_stats = [&] {
|
||||||
frequency * 1000, [&] {
|
// FIXME: remove the primitive re-toggling code once persistent model indices work.
|
||||||
// FIXME: remove the primitive re-toggling code once persistent model indices work.
|
auto toggled_indices = process_table_view.selection().indices();
|
||||||
auto toggled_indices = process_table_view.selection().indices();
|
toggled_indices.remove_all_matching([&](auto const& index) { return !process_table_view.is_toggled(index); });
|
||||||
toggled_indices.remove_all_matching([&](auto const& index) { return !process_table_view.is_toggled(index); });
|
process_model->update();
|
||||||
process_model->update();
|
if (!process_table_view.selection().is_empty())
|
||||||
if (!process_table_view.selection().is_empty())
|
process_table_view.selection().for_each_index([&](auto& selection) {
|
||||||
process_table_view.selection().for_each_index([&](auto& selection) {
|
if (toggled_indices.contains_slow(selection))
|
||||||
if (toggled_indices.contains_slow(selection))
|
process_table_view.expand_all_parents_of(selection);
|
||||||
process_table_view.expand_all_parents_of(selection);
|
});
|
||||||
});
|
|
||||||
|
|
||||||
if (auto* memory_stats_widget = SystemMonitor::MemoryStatsWidget::the())
|
if (auto* memory_stats_widget = SystemMonitor::MemoryStatsWidget::the())
|
||||||
memory_stats_widget->refresh();
|
memory_stats_widget->refresh();
|
||||||
});
|
};
|
||||||
|
update_stats();
|
||||||
|
auto& refresh_timer = window->add<Core::Timer>(frequency * 1000, move(update_stats));
|
||||||
|
|
||||||
auto selected_id = [&](ProcessModel::Column column) -> pid_t {
|
auto selected_id = [&](ProcessModel::Column column) -> pid_t {
|
||||||
if (process_table_view.selection().is_empty())
|
if (process_table_view.selection().is_empty())
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue