diff --git a/i3status.h b/i3status.h index 9edea15..5d42881 100644 --- a/i3status.h +++ b/i3status.h @@ -11,7 +11,7 @@ #define generate(orderidx, name, function) \ do { \ - write_to_statusbar(order_to_str(order[orderidx], name), function, (j == (MAX_ORDER-1))); \ + write_to_statusbar(order_to_str(order[orderidx], name), function, (j == (highest_order-1))); \ } while (0) #define generate_order(condition, orderidx, name, function) \ @@ -63,6 +63,8 @@ extern struct battery_head batteries; /* socket file descriptor for general purposes */ extern int general_socket; +extern int highest_order; + extern const char *wlan_interface; extern const char *eth_interface; extern const char *wmii_path; diff --git a/src/config.c b/src/config.c index 99e3e07..8fff8d0 100644 --- a/src/config.c +++ b/src/config.c @@ -7,6 +7,8 @@ #include "i3status.h" +int highest_order = 0; + /* * Reads the configuration from the given file * @@ -111,9 +113,8 @@ int load_configuration(const char *configfile) { } OPT("order") { - #define SET_ORDER(opt, idx) { if (strcasecmp(token, opt) == 0) order[idx] = c++; } + #define SET_ORDER(opt, idx) { if (strcasecmp(token, opt) == 0) order[idx] = highest_order++; } char *walk, *token; - int c = 0; walk = token = dest_value; while (*walk != '\0') { while ((*walk != ',') && (*walk != '\0'))