Commit Graph

79 Commits

Author SHA1 Message Date
Felix Buehler b5a804d1af use format_placeholder for battery 2020-02-10 21:05:18 +01:00
grmat abfe05c8bd Introduce format_percentage for battery (#371)
Allow custom output, backwards-compatible to integer_battery_capacity
2019-11-16 16:26:26 +01:00
MK13 572c96d63e Introduce memory options 'unit' and 'decimals'
Previously the format placeholders were auto-converted to the maximum possible
unit, e.g. /proc/meminfo reports MemTotal of 16307104kB which will get
converted to 15.6GiB. It is now possible to specifiy the target unit, e.g. Mi,
which will be used for the conversion - in the example it would lead to
15924.9MiB.

The resulting number can now be further formatted via the decimal option. It
allows to specify the number of decimals to use, e.g. 15.6GiB vs. 15GiB or
15924.9MiB vs. 15925MiB.
2019-10-26 15:32:32 +02:00
Dennis Vesterlund 9b5f6ae5f4 Added function to print content from file (#331)
Added a function to print file contents to status bar without newlines.
Added tests for print file contents function
Added manpage entry for file contents
2019-02-21 15:34:32 +01:00
Michael Stapelberg a57cdc84e2
Switch to autotools (#316) 2019-01-23 08:56:40 +01:00
Denton Liu 7efbeeaf6c Implement %devicename specifier for volume module (#325)
This commit implements the %devicename specifier for the volume module
for both PulseAudio and ALSA. This way, i3status will be able to display
the specific device that corresponds to the volume indicator.

Note that this is not implemented for the OSS API but is left in a state
where someone can pick it up for the future.
2019-01-23 08:45:51 +01:00
eplanet 1b7501b7ea Corrections according to PR review 2018-11-15 22:27:23 +01:00
eplanet ac6c2a7d46 Add timezone switch 2018-11-10 10:47:05 +01:00
Felix Buehler d099a907f6 fix clang errors 2018-07-13 15:11:43 +02:00
Felix Buehler 4ea804b751 add format_quality option in wireless 2018-06-29 22:56:09 +02:00
Olivier Gayot 598b76cc53 Make sure the arguments passed to printf/die(...) match the format
Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
2018-06-20 14:20:17 +02:00
Benedikt Heine cba8f55938 Simplify the memory thresholds 2018-05-04 18:46:59 +02:00
Felix Buehler c55754542e Implement support for memory-usage on Linux 2018-04-11 22:36:41 +02:00
Emeric Planet 53fb9b4f18 Add IPv6 address when IPv4 isn't available (#247) 2017-12-11 11:38:31 +01:00
eplanet 94651257ce Multiple CPU support for cpu_usage (#209)
This change addresses the issue #199 asking for multiple CPU support. It
takes an arbitrary CPU number and outputs its usage using the same
arithmetics as for CPU aggregation. It currently doesn't support
FreeBSD.
2017-03-26 06:54:07 -04:00
Samuel Holland 7a7974d76d Fix i3status to compile with -fno-common (#185)
This avoids multiple declarations of the same global variable in
different source files.
2016-12-13 19:32:57 +01:00
Mihai Coman 9375959b68 Add 'format_below_threshold' option for 'disk' module
Add 'format_above_threshold' option for 'cpu_temperature' module
Add 'format_above_threshold' option for 'cpu_usage' module
Add 'format_above_threshold' option for 'load' module
2016-11-15 01:09:05 +02:00
Björn Lindström be87c5ac38 Setting of custom locale in tztime configuration. (#168)
To be able to show my birth country's time zone in that country's locale, and my local time in my current locale.
2016-10-24 08:43:04 +02:00
Stu Zhao 707ceffc8b Detect batteries using glob (#163) 2016-10-23 21:20:31 +02:00
Watcom 8d2ef5f99b pulse device may be specified by name (#126) (#162) 2016-09-14 09:26:45 +02:00
Tommie Gannert dc072f9f53 Implement aggregates for batteries.
Using title number all, this enables aggregates. Note that FreeBSD and
OpenBSD previously only reported aggregates, so this is bringing Linux
and NetBSD that functionality.

Changes the default battery reporting to the aggregate since most
users probably don't care about individual batteries. For single-battery
systems there should be no change.

Fixes one obvious memory leak in NetBSD.
2016-08-28 14:29:08 +01:00
Cihangir Akturk 15de209cba Parse uevent file to detect network device type (#153)
Currently i3status differentiates wireless and wired devices based
on the existence of wireless directory inside the device's sysfs
directory. This approach seems to cause 3g modems to be incorrectly
identified as the first ethernet device.

This commit solves this problem by using DEVTYPE variable from
uevent file.

Signed-off-by: Cihangir Akturk <cakturk@gmail.com>
2016-08-22 10:23:59 -07:00
Mark Schreiber 1e8dab273d Add CPU usage color thresholds
CPU usage had previously not supported the color option.  Add support
for a "degraded" state above which the degraded color is used, and a
higher "bad" state above which the "bad" color is used.  One possible
use for these might be indicating whether one or all cores are
saturated.

Unlike the color settings for other, these are set high enough to be
disabled by default.  This is done because i3status determines CPU
usage over only the last display interval, which means that, a user
with a low refresh rate might see frequent, potentially-annoying color
changes.
2016-04-13 09:11:32 -07:00
eoin d59589bf9e Added status_unk to battery_info 2016-03-21 22:41:22 +00:00
johannes karoff 6f4819f7a5 add separator and separator_block_width as universal module options
fixes #104
2016-01-31 19:39:29 +01:00
Watcom Hecht dd75c260f8 revert back to using nanosleep
Fixes #93
2016-01-12 11:46:42 -02:00
Kenneth Lyons dcd0518e25 Added support for Pango markup. 2015-12-04 10:27:18 -08:00
Brendan Van Hook a13b2e7288 Added support for lemonbar 2015-10-04 14:52:32 -04:00
JSmith-BitFlipper 2cd5c86915 Resolved potential bug
This pull request is in response to #61
2015-09-20 13:56:44 -04:00
Watcom Hecht f779da1a59 PulseAudio muted volume support (fixes #27) 2015-04-19 13:28:26 -03:00
Michael Stapelberg 9abe0a9d59 Merge pull request #7 from Watcom/master
PulseAudio support for volume input
2015-04-03 14:45:40 -07:00
Watcom Hecht 1710c206cf PulseAudio support for volume input 2015-04-03 17:57:40 -03:00
Christian Kohlstedde 5c094a5493 Adding the option "format_down" to path_exists and run_watch.
This fixes #1.
2015-04-02 22:31:06 +02:00
Michael Stapelberg 018702e01e fix invalid forward declaration 2015-04-02 09:06:07 +02:00
Ingo Bürk 0a84bcb74a Pass the "instance" JSON property key for tztime blocks
fixes #10
2015-03-23 21:42:52 +01:00
Michael Stapelberg d74e904bf4 clang-format-3.5 -i **/*.[ch], update modeline
From here on, we’ll use clang-format to automatically format the source.

This has worked well in i3, so we are introducing it for i3status.
2015-03-16 10:01:07 +01:00
Christian Kohlstedde 85bb373095 Adding optional configuration option to "print_disk_info". 2015-02-18 23:43:25 +01:00
Alexander Monakov 3818dabceb Allocate and expose per-instance pointers for plugins 2014-12-10 19:58:54 +01:00
Michael Stapelberg b219f47f39 support the special interface name _first_ for ethernet/wireless
Since we have deterministic device names in Linux, these strings are a
much better default in the i3status config than "eth0" and "wlan0" (what
we used before).
2014-12-07 15:17:31 +01:00
Cyril Andreatta 8e22f3839d Created three individual Strings for each battery status (charging, dicharching, full)
Replaced hard coded status strings (CHR, BAT, FULL) in
print_battery_info.c with user defined strings. The new strings are
'status_chr', 'status_bat' and 'status_full' and can be set in i3status.conf.
e.g.
status_chr = " CHR"

If any of the new status strings is omitted the standard strings (CHR,
BAT, FULL) are used.
2014-10-07 18:52:01 +02:00
Alexander Vasarab b26b118d76 Fix NetBSD CPU temp gauge bug
This patch fixes a bug in which multiple (conflicting) CPU temps may be
included in the output for the "cpu temperature" module.

The bug is due to the way that the code parsed the envsys(4)-returned data,
and would manifest itself on x86-based NetBSD machines, since those use
cputemp(4) as well as acpitz(4), thereby creating multiple envsys(4) entries
with identical descriptions but which refer to different physical sensors.

Instead of matching the description attribute of each device returned by
envsys(4) against the target format, this patch throws away non-matching keys
in the first instruction inside the dict walk. This has the benefit of sparing
unnecessary CPU cycles, and preventing other sensors from being included
erroneously.

Additionally, the THERMAL_ZONE format is now joined with OpenBSD in that it
uses acpitz(4) explicitly. This is prefered since it is much older (dating
back to NetBSD 2.0), and does not exclude x86-based users (as with cputemp(4)).
2014-04-30 09:28:09 +02:00
Mats bc0bd8c9e0 disk: Colorize output when below given threshold
New disk module options:
* threshold_type: ^(percentage|[kmgt]?bytes)_(free|avail)$
* low_threshold: <double>

fixes #912
2014-03-09 22:57:19 +01:00
Marco Hunsicker 1de12e7b20 Support align and min_width module options
This patch enables users to define "align" and "min_width" options
right in the i3status module config sections.

Specifically this patch:
 * Adds macros for the two new options that are used in the option
   definitions. As the min_width option can take either a string or a
   number, a custom type has been added along with a corresponding callback
   function that parses the provided value (and provides input validation).
   The align option also uses a callback for input validation
 * Expands all module config option definitions to include the new
   options
 * Extends the SEC_CLOSE_MAP() macro to generate the JSON for the new
   options as necessary
 * Updates the manpage to explain the new options
2014-03-07 08:46:44 +01:00
Marco Hunsicker 0c2b518b8a Typo in function name
Fixes the typo in print_seperator()
2014-03-01 22:35:37 +01:00
Marco Hunsicker 7b021d3eb2 i3status: Allow customization of module separator
This patch adds the ability to customize the separator that is placed
between modules.

Specifically this patch:

* adds the "separator" general directive
* moves the definition of the default separator for the different
  output formats (excluding color formatting) to src/i3status.c
* updates the SEC_CLOSE_MAP macro to disable the separator for the
  i3bar output format if the separator directive dictates so
* changes print_seperator() in src/output.c to take a separator
  parameter in order to disable the output of the separator if
  the separator is empty and to use the provided separator
  otherwise
* updates the manpage to explain the new directive
2014-03-01 10:21:11 +01:00
Iakov Davydov c01a8110a4 Add hide_seconds option
fixes: #1134
2014-02-08 20:36:59 +01:00
Mats 596f2264f4 disk: Distinguish between IEC, SI and custom prefixes
* IEC: Ki, Mi, Gi, Ti (powers of 1024)
* SI: k, M, G, T (powers of 1000)
* custom: K, M, G, T (powers of 1024)
2013-12-10 21:18:14 +01:00
Kinware AB 717484184f Add support for path_exists directive. 2013-11-22 15:52:27 +01:00
Gereon Kremer 4bd0ba88c8 Added different format string for volume in case it is muted.
If the volume is muted, the volume level would simply be displayed as zero and the color changed to color_degraded.
This patch lets the user define a custom format string for when the volume is muted.
The default value is "♪: 0%" ("♪: %volume" being the usual format).
2013-11-18 22:31:42 +01:00
Arnaud Degroote c6e9fc84c6 Add support for cpu temperature on NetBSD (using envsys(4)) 2013-10-07 19:32:50 +02:00