Commit Graph

26 Commits

Author SHA1 Message Date
NRK 28ef0b242c components/*.c: include slstatus.h
this gives the compiler a chance to check weather the prototype and
definiton matches or not, which would catch issues like 3c47701.
2022-10-26 23:32:07 +02:00
dsp 3fc2872d1b Fix temperature reporting on OpenBSD
On OpenBSD although the formula is correct due to integer division a
temperature of for example 54 celsius appears as 5. this patch first
treats it as a floating point op before retaining the non decimal digits
2020-11-30 21:23:48 +01:00
Michael Buch ec306623df Add FreeBSD support for temperature and battery components 2019-02-05 09:30:21 +01:00
Aaron Marcher e213b48122 Fix whitespace 2018-07-08 17:44:53 +02:00
Aaron Marcher acfa1f50c2 Simplify format specifiers for uintmax_t 2018-07-07 11:08:26 +02:00
Aaron Marcher 43a12832a3 Change uint64_t to uintmax_t 2018-07-07 10:50:25 +02:00
Aaron Marcher d1e3398822 temperature: Improve types 2018-07-06 23:41:02 +02:00
Aaron Marcher b0401b13bb Clean up header includes
- Remove <errno.h> because related functions are in util.c now
 - Remove corresponding <string.h> if not used otherwise
2018-05-30 19:35:37 +02:00
Laslo Hunhold 682c0fedde Use E-notation for large powers of 10 2018-05-27 19:53:36 +02:00
Aaron Marcher ec5c35ec9f Remove units from numbers
This is a first step to decouple formatting from information because of
two reasons:

 1. The components should only gather and return the values by design
 2. Fine grained user control should be a focus

Scaling will be implemented in a different way in a later commit.
2018-05-21 00:16:54 +02:00
Aaron Marcher 7873b3b132 Make temp more readable on Linux 2018-05-20 00:30:16 +02:00
Aaron Marcher 062f33f874 Add unit to temperature 2018-05-20 00:02:49 +02:00
Laslo Hunhold 80fc20d1d6 Add warn() and die()
Given slstatus is a tool that runs in the background, most likely run
from .xinitrc, it's important to prepend the name of the tool to error
messages so it becomes clear where the error is coming from.

To make this much more consistent, this commit adds warn() and die()
utility functions consistent with other suckless projects and adapts all
calls to fprintf(stderr, *) to the warn() and die() functions, greatly
increasing the readability of the code.
2018-05-18 11:13:05 +02:00
Aaron Marcher b759662983 Remove UNUSED macro
Use variables named unused instead which is simpler
2018-05-17 20:05:57 +02:00
Aaron Marcher fc8b6f81a5 Mark unused parameters, fix compiler warnings 2018-05-17 18:29:25 +02:00
Josuah Demangeon ea2e2bd004 include <sys/time.h> before <sys/sensors.h> for time struct timeval
sys/sensors.h has two structs struct timeval: sensor and ksensor:

	struct sensor {
		...
		struct timeval tv;		/* sensor value last change time */
		...
	};
2018-05-08 15:05:29 +02:00
Aaron Marcher 16a97fbca1 Unify header includes
- Sort Alphabetically
- Same indentation for preprocessor clauses
2018-05-07 11:21:59 +02:00
Aaron Marcher ee5ec75621 Fix coding style
- Use block for single statement ifs
- Keep lines to reasonable length (current debate as to reasonable)
- When functions return -1 for error test against 0 not -1
- Do not indent cases another level
- Do not test against NULL and 0 explicitly
- Use tabs for indentation, use spaces for alignment
2018-05-06 22:28:56 +02:00
Laslo Hunhold 9750a3d731 Use indentation to increase readability
Granted, this style is definitely not common, but for the short
utility-functions of this program it's just the right choice. This
provides great flexibility, such that in the long run, it will be
possible to also share code between the OS-implementations.

This also keeps the state-keeping at a minimum and makes it clearer
which functions are implemented on which OS without having to jiggle
around with too many files in the process.
2018-05-01 19:43:49 +02:00
Laslo Hunhold 42edfea89a Revert component-split
this reverts the commits from 92ab9ef52e up to
d42870d6ca.

After heavy consideration, the component split has more disadvantages
than advantages, especially given there will be utility-functions
sharing quite a lot of code that would then need to be duplicated, as it
does not fit into the util.c due to its speciality.

One big advantage of the component-wise build is readability, and
without doubt, this was achieved here. This point will be addressed
with a different approach that will be visible in the upcoming commits.

One big disadvantage of the component build is the fact that it
introduces state to the build process which is not necessary. Before its
introduction, the only influencing factors where the system-defines
__linux__ and __OpenBSD__. With the components, we are also relying on
the output of uname(1).
Additionally, if the os.mk is not present, make gives the output

     $ make
     Makefile:5: os.mk: No such file or directory
     make: *** No rule to make target 'os.mk'.  Stop.

This could easily be fixed by providing some sort of meta-rule for this
file, however, it indicates the problem we have here, and this entire
statefulness will heavily complicate packaging of this tool and makes
the build process much more complex than it actually has to be.
2018-05-01 19:43:34 +02:00
Quentin Rameau 71eb1d321d temperature: OS split 2018-04-30 15:42:00 +02:00
Aaron Marcher c3ce506b7f Fix typo in temperature 2018-04-29 22:44:09 +02:00
Aaron Marcher 489c6f87d1 temp: Port to OpenBSD
In OpenBSD temperature gets fetched using sysctl now.
2018-04-29 18:35:41 +02:00
Aaron Marcher e79d4932ea More robust preprocessor switches
Replace #ifdef with #if defined() and #elif with #elif defined() as it
should only test if it is defined or not.
2018-03-21 12:21:37 +01:00
Aaron Marcher ebf5a35052 Build Linux-only functions only on Linux 2018-03-18 23:26:13 +01:00
Laslo Hunhold 7246dc4381
Move components into dedicated subdirectory
This brings us a lot more tidiness.
2017-09-24 17:20:27 +02:00