mirror of
https://github.com/xzeldon/htop.git
synced 2025-07-12 12:14:36 +03:00
Add a date and datetime meter (#159)
Add a date meter and sort header and source files in Makefile Change the lists of header and source files sorted alphabetical and one file per line. This way diffs become better readable and merges easier.
This commit is contained in:

committed by
GitHub

parent
ffd90c28ab
commit
d93cac12be
47
DateMeter.c
Normal file
47
DateMeter.c
Normal file
@ -0,0 +1,47 @@
|
||||
/*
|
||||
htop - DateMeter.c
|
||||
(C) 2004-2020 Hisham H. Muhammad, Michael Schönitzer
|
||||
Released under the GNU GPL, see the COPYING file
|
||||
in the source distribution for its full text.
|
||||
*/
|
||||
|
||||
#include "DateMeter.h"
|
||||
|
||||
#include "CRT.h"
|
||||
|
||||
#include <time.h>
|
||||
|
||||
|
||||
int DateMeter_attributes[] = {
|
||||
DATE
|
||||
};
|
||||
|
||||
static void DateMeter_updateValues(Meter* this, char* buffer, int size) {
|
||||
time_t t = time(NULL);
|
||||
struct tm result;
|
||||
struct tm *lt = localtime_r(&t, &result);
|
||||
this->values[0] = lt->tm_yday;
|
||||
int year = lt->tm_year + 1900;
|
||||
if (((year % 4 == 0) && (year % 100!= 0)) || (year%400 == 0)) {
|
||||
this->total = 366;
|
||||
}
|
||||
else {
|
||||
this->total = 365;
|
||||
}
|
||||
strftime(buffer, size, "%F", lt);
|
||||
}
|
||||
|
||||
MeterClass DateMeter_class = {
|
||||
.super = {
|
||||
.extends = Class(Meter),
|
||||
.delete = Meter_delete
|
||||
},
|
||||
.updateValues = DateMeter_updateValues,
|
||||
.defaultMode = TEXT_METERMODE,
|
||||
.maxItems = 1,
|
||||
.total = 365,
|
||||
.attributes = DateMeter_attributes,
|
||||
.name = "Date",
|
||||
.uiName = "Date",
|
||||
.caption = "Date: ",
|
||||
};
|
Reference in New Issue
Block a user