/*
- * Generates a status line for use with wmii or other minimal window managers
+ * i3status – Generates a status line for dzen2 or wmii
*
*
- * Copyright (c) 2008-2009 Michael Stapelberg and contributors
+ * Copyright © 2008-2009 Michael Stapelberg and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification,
#include <sys/resource.h>
#endif
-#include "wmiistatus.h"
+#include "i3status.h"
#define BAR "^fg(#333333)^p(5;-2)^ro(2)^p()^fg()^p(5)"
socklen_t len = sizeof(struct sockaddr_in);
memset(part, 0, sizeof(part));
+ /* First check if the interface is running */
+ (void)strcpy(ifr.ifr_name, interface);
+ if (ioctl(general_socket, SIOCGIFFLAGS, &ifr) < 0 ||
+ !(ifr.ifr_flags & IFF_RUNNING))
+ return NULL;
+
+ /* Interface is up, get the IP address */
(void)strcpy(ifr.ifr_name, interface);
ifr.ifr_addr.sa_family = AF_INET;
if (ioctl(general_socket, SIOCGIFADDR, &ifr) < 0)
- return NULL;
+ return "no IP";
memcpy(&addr, &ifr.ifr_addr, len);
(void)inet_ntop(AF_INET, &addr.sin_addr.s_addr, part, len);
pathbuf[512];
unsigned int i;
- char *configfile = PREFIX "/etc/wmiistatus.conf";
+ char *configfile = PREFIX "/etc/i3status.conf";
int o, option_index = 0;
struct option long_options[] = {
{"config", required_argument, 0, 'c'},
if ((char)o == 'c')
configfile = optarg;
else if ((char)o == 'h') {
- printf("wmiistatus (c) 2008-2009 Michael Stapelberg\n"
+ printf("i3status (c) 2008-2009 Michael Stapelberg\n"
"Syntax: %s [-c <configfile>]\n", argv[0]);
return 0;
}