nmcli: colorize 'general', 'radio' and 'networking' outputs
This commit is contained in:
@@ -14,7 +14,7 @@
|
|||||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
*
|
*
|
||||||
* Copyright 2010 - 2014 Red Hat, Inc.
|
* Copyright 2010 - 2015 Red Hat, Inc.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
@@ -264,6 +264,26 @@ nm_state_to_string (NMState state)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static NmcTermColor
|
||||||
|
state_to_color (NMState state)
|
||||||
|
{
|
||||||
|
switch (state) {
|
||||||
|
case NM_STATE_CONNECTING:
|
||||||
|
return NMC_TERM_COLOR_YELLOW;
|
||||||
|
case NM_STATE_CONNECTED_LOCAL:
|
||||||
|
case NM_STATE_CONNECTED_SITE:
|
||||||
|
case NM_STATE_CONNECTED_GLOBAL:
|
||||||
|
return NMC_TERM_COLOR_GREEN;
|
||||||
|
case NM_STATE_DISCONNECTING:
|
||||||
|
return NMC_TERM_COLOR_YELLOW;
|
||||||
|
case NM_STATE_ASLEEP:
|
||||||
|
case NM_STATE_DISCONNECTED:
|
||||||
|
return NMC_TERM_COLOR_RED;
|
||||||
|
default:
|
||||||
|
return NMC_TERM_COLOR_NORMAL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static const char *
|
static const char *
|
||||||
nm_connectivity_to_string (NMConnectivityState connectivity)
|
nm_connectivity_to_string (NMConnectivityState connectivity)
|
||||||
{
|
{
|
||||||
@@ -282,17 +302,33 @@ nm_connectivity_to_string (NMConnectivityState connectivity)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static NmcTermColor
|
||||||
|
connectivity_to_color (NMConnectivityState connectivity)
|
||||||
|
{
|
||||||
|
switch (connectivity) {
|
||||||
|
case NM_CONNECTIVITY_NONE:
|
||||||
|
return NMC_TERM_COLOR_RED;
|
||||||
|
case NM_CONNECTIVITY_PORTAL:
|
||||||
|
case NM_CONNECTIVITY_LIMITED:
|
||||||
|
return NMC_TERM_COLOR_YELLOW;
|
||||||
|
case NM_CONNECTIVITY_FULL:
|
||||||
|
return NMC_TERM_COLOR_GREEN;
|
||||||
|
default:
|
||||||
|
return NMC_TERM_COLOR_NORMAL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
show_nm_status (NmCli *nmc, const char *pretty_header_name, const char *print_flds)
|
show_nm_status (NmCli *nmc, const char *pretty_header_name, const char *print_flds)
|
||||||
{
|
{
|
||||||
gboolean startup = FALSE;
|
gboolean startup = FALSE;
|
||||||
NMState state = NM_STATE_UNKNOWN;
|
NMState state = NM_STATE_UNKNOWN;
|
||||||
NMConnectivityState connectivity = NM_CONNECTIVITY_UNKNOWN;
|
NMConnectivityState connectivity = NM_CONNECTIVITY_UNKNOWN;
|
||||||
const char *net_enabled_str;
|
gboolean net_enabled;
|
||||||
const char *wireless_hw_enabled_str, *wireless_enabled_str;
|
gboolean wireless_hw_enabled, wireless_enabled;
|
||||||
const char *wwan_hw_enabled_str, *wwan_enabled_str;
|
gboolean wwan_hw_enabled, wwan_enabled;
|
||||||
#if WITH_WIMAX
|
#if WITH_WIMAX
|
||||||
const char *wimax_hw_enabled_str, *wimax_enabled_str;
|
gboolean wimax_hw_enabled, wimax_enabled;
|
||||||
#endif
|
#endif
|
||||||
GError *error = NULL;
|
GError *error = NULL;
|
||||||
const char *fields_str;
|
const char *fields_str;
|
||||||
@@ -333,14 +369,14 @@ show_nm_status (NmCli *nmc, const char *pretty_header_name, const char *print_fl
|
|||||||
state = nm_client_get_state (nmc->client);
|
state = nm_client_get_state (nmc->client);
|
||||||
startup = nm_client_get_startup (nmc->client);
|
startup = nm_client_get_startup (nmc->client);
|
||||||
connectivity = nm_client_get_connectivity (nmc->client);
|
connectivity = nm_client_get_connectivity (nmc->client);
|
||||||
net_enabled_str = nm_client_networking_get_enabled (nmc->client) ? _("enabled") : _("disabled");
|
net_enabled = nm_client_networking_get_enabled (nmc->client);
|
||||||
wireless_hw_enabled_str = nm_client_wireless_hardware_get_enabled (nmc->client) ? _("enabled") : _("disabled");
|
wireless_hw_enabled = nm_client_wireless_hardware_get_enabled (nmc->client);
|
||||||
wireless_enabled_str = nm_client_wireless_get_enabled (nmc->client) ? _("enabled") : _("disabled");
|
wireless_enabled = nm_client_wireless_get_enabled (nmc->client);
|
||||||
wwan_hw_enabled_str = nm_client_wwan_hardware_get_enabled (nmc->client) ? _("enabled") : _("disabled");
|
wwan_hw_enabled = nm_client_wwan_hardware_get_enabled (nmc->client);
|
||||||
wwan_enabled_str = nm_client_wwan_get_enabled (nmc->client) ? _("enabled") : _("disabled");
|
wwan_enabled = nm_client_wwan_get_enabled (nmc->client);
|
||||||
#if WITH_WIMAX
|
#if WITH_WIMAX
|
||||||
wimax_hw_enabled_str = nm_client_wimax_hardware_get_enabled (nmc->client) ? _("enabled") : _("disabled");
|
wimax_hw_enabled = nm_client_wimax_hardware_get_enabled (nmc->client);
|
||||||
wimax_enabled_str = nm_client_wimax_get_enabled (nmc->client) ? _("enabled") : _("disabled");
|
wimax_enabled = nm_client_wimax_get_enabled (nmc->client);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
nmc->print_fields.header_name = pretty_header_name ? (char *) pretty_header_name : _("NetworkManager status");
|
nmc->print_fields.header_name = pretty_header_name ? (char *) pretty_header_name : _("NetworkManager status");
|
||||||
@@ -353,15 +389,30 @@ show_nm_status (NmCli *nmc, const char *pretty_header_name, const char *print_fl
|
|||||||
set_val_strc (arr, 2, nm_state_to_string (state));
|
set_val_strc (arr, 2, nm_state_to_string (state));
|
||||||
set_val_strc (arr, 3, startup ? _("starting") : _("started"));
|
set_val_strc (arr, 3, startup ? _("starting") : _("started"));
|
||||||
set_val_strc (arr, 4, nm_connectivity_to_string (connectivity));
|
set_val_strc (arr, 4, nm_connectivity_to_string (connectivity));
|
||||||
set_val_strc (arr, 5, net_enabled_str);
|
set_val_strc (arr, 5, net_enabled ? _("enabled") : _("disabled"));
|
||||||
set_val_strc (arr, 6, wireless_hw_enabled_str);
|
set_val_strc (arr, 6, wireless_hw_enabled ? _("enabled") : _("disabled"));
|
||||||
set_val_strc (arr, 7, wireless_enabled_str);
|
set_val_strc (arr, 7, wireless_enabled ? _("enabled") : _("disabled"));
|
||||||
set_val_strc (arr, 8, wwan_hw_enabled_str);
|
set_val_strc (arr, 8, wwan_hw_enabled ? _("enabled") : _("disabled"));
|
||||||
set_val_strc (arr, 9, wwan_enabled_str);
|
set_val_strc (arr, 9, wwan_enabled ? _("enabled") : _("disabled"));
|
||||||
#if WITH_WIMAX
|
#if WITH_WIMAX
|
||||||
set_val_strc (arr, 10, wimax_hw_enabled_str);
|
set_val_strc (arr, 10, wimax_hw_enabled ? _("enabled") : _("disabled"));
|
||||||
set_val_strc (arr, 11, wimax_enabled_str);
|
set_val_strc (arr, 11, wimax_enabled ? _("enabled") : _("disabled"));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Set colors */
|
||||||
|
arr[2].color = state_to_color (state);
|
||||||
|
arr[3].color = startup ? NMC_TERM_COLOR_YELLOW : NMC_TERM_COLOR_GREEN;
|
||||||
|
arr[4].color = connectivity_to_color (connectivity);
|
||||||
|
arr[5].color = net_enabled ? NMC_TERM_COLOR_GREEN : NMC_TERM_COLOR_RED;
|
||||||
|
arr[6].color = wireless_hw_enabled ? NMC_TERM_COLOR_GREEN : NMC_TERM_COLOR_RED;
|
||||||
|
arr[7].color = wireless_enabled ? NMC_TERM_COLOR_GREEN : NMC_TERM_COLOR_RED;
|
||||||
|
arr[8].color = wwan_hw_enabled ? NMC_TERM_COLOR_GREEN : NMC_TERM_COLOR_RED;
|
||||||
|
arr[9].color = wwan_enabled ? NMC_TERM_COLOR_GREEN : NMC_TERM_COLOR_RED;
|
||||||
|
#if WITH_WIMAX
|
||||||
|
arr[10].color = wimax_hw_enabled ? NMC_TERM_COLOR_GREEN : NMC_TERM_COLOR_RED;
|
||||||
|
arr[11].color = wimax_enabled ? NMC_TERM_COLOR_GREEN : NMC_TERM_COLOR_RED;
|
||||||
|
#endif
|
||||||
|
|
||||||
g_ptr_array_add (nmc->output_data, arr);
|
g_ptr_array_add (nmc->output_data, arr);
|
||||||
|
|
||||||
print_data (nmc); /* Print all data */
|
print_data (nmc); /* Print all data */
|
||||||
|
Reference in New Issue
Block a user