Age | Commit message (Collapse) | Author |
|
This commit does more fundamental rework of the "Locks" plug-in: now the
plug-in is fully event-driven and thus extremely power-efficient,
effectively zero CPU consumption while idling.
|
|
The extremely useful "Locks" plugin eats quite a lot of CPU (>2% here on a
old-ish laptop), unfortunately. The plug-in unnecessary reopens the
display, which is quite expensive operation. It results into 16 syscalls:
socket(PF_LOCAL) -> connect(sun_path=@"/tmp/.X11-unix/X0"})
-> getpeername() -> uname()
-> access(".Xauthority") -> open(".Xauthority")
-> fstat() -> mmap()
-> read() -> close()
-> munmap() -> getsockname()
-> fcntl(F_SETFD) -> fcntl(F_SETFL)
-> shutdown() -> close()
This is almost half of all the syscalls that we ought to execute for the
plug-in to work. Now, considering the useful work and that "Locks" runs
every 200 milliseconds, it gives us >300 syscalls (and a lot more
wake-ups) per second.
This commit fixes the reopening issue, effectively halving the CPU
consumption (down to ~1%). The patch also makes it easier to implement
event-driven indicators that will reduce the idle CPU consumption to 0.
|
|
* Batt
* Bright
* Cpu
* Disk
* MPD
* Mem
* MultiCpu
* Net
* Volume
* Wireless
|
|
* DynamicString is an Int -> String which takes a value from 0..8
and produces a string with this value embedded. Usefull for replacing
vbars with icons: an icon per one of 9 states.
* API is similar to that of vbar.
* Default parser of DynamicString produces a function of `i` to a string
that replaces all occurences of "%%" with `show i`
|
|
|
|
|
|
|
|
|
|
* Wind cardinal direction (`windCardinal`)
* Wind azimuth direction (`windAzimuth`)
* Wind speed (MPH) (`windMph`)
* Wind speed (knots) (`windKnots`)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Display a long text from a pipe with marquee. It wraps around
with a given separator and the length may be specified as well
as the delay in 10th seconds. See readme for an example.
|
|
Adaptive units are computed only if suffix is enabled
Otherwise we fall back to the old computation (KB)
|
|
After running long enough, the numbers in /proc/stat get big enough
that they will not fit in a Float without loss of precision, which
leads to erratic results such as reporting "NaN%" CPU usage.
This commit simply keeps the numbers integral until producing the final
percentage result.
|
|
I'd like to be able to choose which punctuation to use. All my other xmobar plugins use a colon and a space (e.g. `B: 100%` for battery), but this one leaves the space out (e.g. `E:1`) which is mildly annoying. It would be nice to let the user choose if he/she would like to use something other than a colon or to add extra whitespace.
|
|
|
|
|
|
|
|
Cf. discussion of issue #98
|
|
Since v3.15-rc1, coretemp temperatures are elsewhere, see
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=d72d19c26c417d514787ae85b197af34de286c0a
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=bab2243ce1897865e31ea6d59b0478391f51812b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If a device is unplugged without prior unmounting, it still
appears in the /etc/mtab file, which is used for this monitor.
The problem is that this monitor canonicalized every path
regardless of whether it actually existed or not. I basically
added the 'only canonicalize if file exists'.
|
|
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
This change lets xmobar compiled without -fwith_inotify accept a config
that mentions the Mail plugin with a warning (and display an
Updating...).
|
|
Don't recursively parse on the case of an error. Also, in the case of an
error, instead of replacing by an error message, replace by the tag
itself to prevent mangling strings that legitimately include < and >
characters, for example song titles when using the MPD plugin.
I'm not sure how to handle this better. Honestly, I would like to remove
the recursive parsing altogether but this works for now. Consider filing
an issue for a proper resolution of this. I don't want rogue tags
expanding themselves in my song titles.
|
|
|
|
|
|
Uses the HTTP module to do the work rather than curl.
|
|
If the MPD server isn't responsive or the network is down, MPD will no
longer block xmobar from doing its job.
|
|
Useful when the network is down or something else is causing issues.
|
|
Use the functionality from newer kernels if available. Basically, the
free+buffer+cache metric is a massive hack and not accurate anyways
(e.g., not all cache can be swapped out and kernel accounting can change
whenever). Kernels 3.14 and newer have MemAvailable in meminfo which is
more accurate; use it if possible.
|