Commit Graph

598 Commits

Author SHA1 Message Date
Aaron Marcher faa52bdcc0 Format error messages properly
Make use of strerror(errno) and format all errors equally:
function ['parameters']: error message
2018-03-28 19:46:27 +02:00
Aaron Marcher 2289798b6d Remove program name from error messages 2018-03-28 18:49:27 +02:00
Aaron Marcher 96f3a8a54e Get rid of err.h as it is not portable
Replace warn() and warnx() with fprintf() and add <stdio.h> where
necessary.
2018-03-28 18:26:56 +02:00
Aaron Marcher aced832622 Remove unnecessary headers 2018-03-28 18:14:08 +02:00
Aaron Marcher 198df15d83 Remove ALSA dependency from README
ALSA is not a dependency anymore as we use /dev/mixer. The corresponding
notice about PulseAudio is thus not necessary too.
2018-03-26 18:09:30 +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 fc5d23212f uptime: Port to OpenBSD.
In OpenBSD uptime gets fetched using sysctl now.
2018-03-20 00:52:09 +01:00
Aaron Marcher 7e3f80c1a3 battery_perc: Port to OpenBSD.
In OpenBSD battery percentage gets fetched using apm now.
2018-03-19 18:46:52 +01:00
Aaron Marcher ad5b7c8b1c README: Add list of non-portable functions 2018-03-18 23:30:54 +01:00
Aaron Marcher ebf5a35052 Build Linux-only functions only on Linux 2018-03-18 23:26:13 +01:00
Aaron Marcher 25bda72e64 README: Add Todo 2018-03-18 22:51:51 +01:00
Aaron Marcher ff65c4a413
Merge pull request #43 from SiIky/unknown_str
Print unknown_str in case of error
2018-02-17 20:00:04 +00:00
SiIky 9ca1ac62f9 Print unknown_str in case of error
func can return NULL in case of error, but no checking is done when
printing, and unknown_str wasn't being used anywhere.
2018-02-17 18:08:27 +00:00
Aaron Marcher 8bfe4b2e28
Update LICENSE year for myself. 2018-01-06 23:40:05 +01:00
Aaron Marcher fa62e8199e
Fix a bug in wifi_essid().
When an invalid interface name is passed to wifi_essid() it does not
close opened sockets.
2018-01-06 23:37:09 +01:00
Aaron Marcher 47d0073bfd
Small fixes in config.mk 2017-12-03 01:40:38 +01:00
Aaron Marcher 52d60c0862
Update LICENSE for parazyd 2017-10-24 11:23:27 +02:00
parazyd d2988c72e3
Return actual percentage for wifi_perc()
Implement basic percentage calculation for wifi_perc. With this
commit, the function returns correct percentage, since the max
of what /proc/net/wireless returns is 70.
2017-10-24 11:16:54 +02:00
Laslo Hunhold 7246dc4381
Move components into dedicated subdirectory
This brings us a lot more tidiness.
2017-09-24 17:20:27 +02:00
Laslo Hunhold 61e44e8948
Get rid of HDR variable
The HDR variable is used for general purpose headers, which are not
given in this project. arg.h and config.h are only needed for
slstatus.c, not every component $(COM:=.c).

This also fixes a problem introduced in
e04a385364, where config.h is pulled into
the tarball.
2017-09-18 10:08:51 +02:00
Laslo Hunhold f56e50a269
Simplify Makefile 2017-09-18 08:47:54 +02:00
Quentin Rameau e04a385364
Fix missing config.h in Makefile 2017-09-18 08:32:30 +02:00
Aaron Marcher 11d4bec648
Added LICENSE statements to all source files 2017-09-17 17:45:03 +02:00
Laslo Hunhold 914440b4fc
Properly declare buf as extern and fix all unused-warnings 2017-09-17 17:38:07 +02:00
Laslo Hunhold eea99fc0ac
Rewrite Makefile to accomodate file split 2017-09-17 17:37:49 +02:00
Aaron Marcher 6820631175
Split into multiple files
For multiple reasons the program is now split:
- Make future porting to OpenBSD easier
- Assign header includes to individiual functions
- Make future program extensions easier
- Recompile only changed parts
2017-09-17 17:26:45 +02:00
Aaron Marcher 8e25af7dc3
Add blank line after setlocale
setlocale() has to be separated from the signal handling.
2017-09-16 14:11:49 +02:00
Kurt Van Dijck fb1f1dea2e
slstatus: set locale
I want my date & time printed according my locale settings.
This commit enables that

Signed-off-by: Kurt Van Dijck <dev.kurt@vandijck-laurijssen.be>
2017-09-16 14:10:35 +02:00
Aaron Marcher 53e0c4535a
Added CPU iowait to README 2017-09-16 13:54:28 +02:00
Kurt Van Dijck 72a5e52a35
slstatus: add cpu_iowait
This commit introduces the cpu_iowait item, this is the percentage
of cpu time spent waiting on disks. High numbers typically indicate
that your system is not responsive due to disk IO.
This commit also avoid sleeping inside the cpu_perc and cpu_iowait
functions: waiting in either one implies lost info for the other.

Signed-off-by: Kurt Van Dijck <dev.kurt@vandijck-laurijssen.be>
2017-09-16 13:46:40 +02:00
Aaron Marcher 57aa6a5164
Deleted slstatus.png as it is unnecessary 2017-09-14 22:20:44 +02:00
Kamil Cholewiński b7d7ce9c5f
slstatus load_avg format string 2017-09-10 14:08:20 +02:00
Aaron Marcher 8f5219b6da
Added IPv6 address function
- Renamed "ip" function to "ipv4"
- Added "ipv6" function
- Adjusted README and config.def.h accordingly
2017-08-14 18:00:46 +02:00
Aaron Marcher fcc5c683a6
sexy config.def.h table 2017-08-14 14:04:21 +02:00
Laslo Hunhold 0f7e022381
Fix a little logic error 2017-08-14 11:35:52 +02:00
Laslo Hunhold e1e1b1d79a
Add pscanf()
This reduces a lot of equivalent code to one function call.
2017-08-14 08:24:54 +02:00
Laslo Hunhold 796b661284
Refactor main()
We remove the hack with the sleep and global "delay"-variable and use a
monotonic clock to derive the desired monotonic properties of the tool.
Inside each function that demands a personal delay we can then just do a
nanosleep() and be done with it.
It's a shame that timespec is so ugly to work with, but there's really
no way to make it more beautiful. However, at this cost though we
finally can set the interval times in milliseconds and not only just
seconds.

We remove setlocale(), because nothing good ever came out of this
function.

Besides that we have some more code refactoring, especially in the
argument loop which saves us a bit of complexity.
2017-08-13 23:45:16 +02:00
Laslo Hunhold 3468a6e368
Simplify signal handling a bit 2017-08-13 23:32:14 +02:00
Laslo Hunhold 450e8e6e6b
Remove unnecessary prototypes 2017-08-13 23:32:06 +02:00
Laslo Hunhold ecf2779904
Remove unnecessary blank lines after license-notice 2017-08-13 23:31:56 +02:00
Aaron Marcher 6a33d6c875
Fix man page .Os field 2017-08-13 23:25:44 +02:00
Aaron Marcher aa17443013
Added Makefile target for distribution tarballs. 2017-08-13 23:05:22 +02:00
Aaron Marcher 96334e2079
Fixed man page path
According to the FHS, /usr/local/share/man is the correct man page path
in this projects's case. Set this to default in config.mk.
2017-08-13 22:56:14 +02:00
Aaron Marcher 779f611208
slstatus != dmenu lol 2017-08-12 13:37:12 +02:00
Aaron Marcher c4779c9b15
Removed #define for unknown_str
Debugging #define is very difficult. The performance overhead of static const
char is negligible.
2017-08-12 13:27:30 +02:00
Aaron Marcher be12b6b350
Removed #define for update interval
Debugging #define, especially in mathematical constructs is very
difficult. The performance overhead of static const int is negligible.
2017-08-12 13:16:12 +02:00
Aaron Marcher 0c2ee7df91
Updated LICENSE
Extended Ali H. Fardan contribution dates
2017-08-12 12:55:53 +02:00
Ali H. Fardan 2c114ec2b5
keyboard_indicators: fix segfault when -s is specified 2017-08-12 12:50:11 +02:00
Aaron Marcher 6f01174392
Fixed possible NULL-deref and removed unnecessary XOpenDisplay()
- Added a check for the return value of XOpenDisplay() in main().
  This fixes a possible NULL-deref.
- Removed unnsecessary XOpenDisplay and XCloseDisplay from
  keyboard_indicators(). The ones in main() are sufficent.
2017-08-11 14:33:02 +02:00
Laslo Hunhold 1814061396
Add and use LEN() macro 2017-08-11 13:43:11 +02:00