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`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Adds a new flag with_xpm to enable compilation with xpm support
* Adds a module XPMFile only exporting readXPMFile which almost mirrors
Graphics.X11.Xlib.Misc.readBitmapFile
* During loadBitmap a file is first tried with readBitmapFile and if it
fails with readXPMFile
|
|
|
|
* 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.
|
|
the baseline (valign) is now set so the font will render with
equal vertical margin above and below the font extents
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|