From ed49d5983e81afddca44051117dcc7327bdec03d Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sat, 4 Oct 2008 15:10:50 +0200 Subject: [PATCH] Add license, display correct WLAN status --- wmiistatus.c | 41 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) diff --git a/wmiistatus.c b/wmiistatus.c index d6ebc14..252a13e 100644 --- a/wmiistatus.c +++ b/wmiistatus.c @@ -1,3 +1,36 @@ +/* + * Generates a status line for use with wmii or other minimal window managers + * + * + * Copyright (c) 2008 Michael Stapelberg and contributors + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright notice, this + * list of conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * * Neither the name of Michael Stapelberg nor the names of contributors + * may be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * + */ #include #include #include @@ -60,6 +93,7 @@ static char *get_battery_info() { bool charging = false; memset(output, '\0', sizeof(output)); read(fd, buf, sizeof(buf)); + /* TODO: charged */ for (walk = buf; (walk-buf) < 1024; walk++) if (*walk == '=') { if (strncmp(last, "POWER_SUPPLY_ENERGY_FULL_DESIGN", strlen("POWER_SUPPLY_ENERGY_FULL_DESIGN")) == 0) @@ -119,9 +153,10 @@ static char *get_wireless_info() { interfaces++; int quality = atoi(interfaces); /* For some reason, I get 255 sometimes */ - if (quality == 255) - quality = 0; - snprintf(output, sizeof(output), "W: (%02d%%) ", quality); + if ((quality == 255) || (quality == 0)) + snprintf(output, sizeof(output), "W: down"); + else snprintf(output, sizeof(output), "W: (%02d%%) ", quality); + // TODO: get IP address return output; } interfaces = skip_character(interfaces, '\n', 1) + 1;