summaryrefslogtreecommitdiffstats
path: root/perl-install/standalone/net_applet
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/standalone/net_applet')
-rw-r--r--perl-install/standalone/net_applet14
1 files changed, 11 insertions, 3 deletions
diff --git a/perl-install/standalone/net_applet b/perl-install/standalone/net_applet
index 8d78aba41..7e29e14a1 100644
--- a/perl-install/standalone/net_applet
+++ b/perl-install/standalone/net_applet
@@ -248,9 +248,17 @@ sub go2State {
}
}
sub update_tray_icon() {
- !$ifw_alert || $img->get_storage_type ne 'pixbuf' ?
- $img->set_from_pixbuf($pixbufs{state}{$current_state eq 'connected' ? 'connected' : 'disconnected'}) :
- $img->set_from_stock('gtk-dialog-warning', 'small-toolbar');
+ if (!$ifw_alert || $img->get_storage_type ne 'pixbuf') {
+ my $pixbuf;
+ if (detect_devices::is_wireless_interface($current_interface)) {
+ my $net = find { $_->{current} } values %wireless_networks;
+ $pixbuf = $pixbufs{link_level}{$net->{approx_level}} if $net;
+ }
+ $pixbuf ||= $pixbufs{state}{$current_state eq 'connected' ? 'connected' : 'disconnected'};
+ $img->set_from_pixbuf($pixbuf);
+ } else {
+ $img->set_from_stock('gtk-dialog-warning', 'small-toolbar');
+ }
}
sub generate_menu {
my ($interface) = @_;