diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 09:00:29 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 09:00:29 +0000 |
commit | 52e25213825024b8bb446eb26b03bedc9d5c2103 (patch) | |
tree | da70bf44b2423f6f8e9a070c063fed79d190b489 /ClockMeter.c | |
parent | Initial commit. (diff) | |
download | htop-52e25213825024b8bb446eb26b03bedc9d5c2103.tar.xz htop-52e25213825024b8bb446eb26b03bedc9d5c2103.zip |
Adding upstream version 3.2.2.upstream/3.2.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | ClockMeter.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/ClockMeter.c b/ClockMeter.c new file mode 100644 index 0000000..8e3b66e --- /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 <time.h> +#include <sys/time.h> + +#include "CRT.h" +#include "Object.h" +#include "ProcessList.h" + + +static const int ClockMeter_attributes[] = { + CLOCK +}; + +static void ClockMeter_updateValues(Meter* this) { + const ProcessList* pl = this->pl; + + struct tm result; + const struct tm* lt = localtime_r(&pl->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: ", +}; |