From 10eea2ab1bae2a8ec159d81c0446fd8061b33e2b Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 15 Apr 2024 21:58:07 +0200 Subject: Adding upstream version 3.3.0. Signed-off-by: Daniel Baumann --- ClockMeter.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 ClockMeter.c (limited to 'ClockMeter.c') diff --git a/ClockMeter.c b/ClockMeter.c new file mode 100644 index 0000000..38f0591 --- /dev/null +++ b/ClockMeter.c @@ -0,0 +1,46 @@ +/* +htop - ClockMeter.c +(C) 2004-2011 Hisham H. Muhammad +Released under the GNU GPLv2+, see the COPYING file +in the source distribution for its full text. +*/ + +#include "config.h" // IWYU pragma: keep + +#include "ClockMeter.h" + +#include +#include + +#include "CRT.h" +#include "Machine.h" +#include "Object.h" + + +static const int ClockMeter_attributes[] = { + CLOCK +}; + +static void ClockMeter_updateValues(Meter* this) { + const Machine* host = this->host; + + struct tm result; + const struct tm* lt = localtime_r(&host->realtime.tv_sec, &result); + this->values[0] = lt->tm_hour * 60 + lt->tm_min; + strftime(this->txtBuffer, sizeof(this->txtBuffer), "%H:%M:%S", lt); +} + +const MeterClass ClockMeter_class = { + .super = { + .extends = Class(Meter), + .delete = Meter_delete + }, + .updateValues = ClockMeter_updateValues, + .defaultMode = TEXT_METERMODE, + .maxItems = 1, + .total = 1440, /* 24*60 */ + .attributes = ClockMeter_attributes, + .name = "Clock", + .uiName = "Clock", + .caption = "Time: ", +}; -- cgit v1.2.3