This is untested but should work. You need to edit the get_stats function
of the net widget.
def get_stats(self):
interfaces = {}
if self.interface == ["all"]:
net = psutil.net_io_counters(pernic=False)
interfaces["all"] = {'down': net[1], 'up': net[0]}
return interfaces
* elif self.interface == ["all_active"]:*
* nics = pustil.net_if_stats()*
* active = [nic for nic in nics if nics[nic].isup]*
* net = psutil.net_io_counters(pernic=True)*
* for iface in active:*
* down = net[iface].bytes_recv*
* up = net[iface].bytes_sent*
* interfaces[iface] = {'down': down, 'up': up}*
* return interfaces*
else:
net = psutil.net_io_counters(pernic=True)
for iface in net:
down = net[iface].bytes_recv
up = net[iface].bytes_sent
interfaces[iface] = {'down': down, 'up': up}
return interfaces
You'll see that I've added an option for "all_active". This includes all
connected interfaces but will include the loopback device so you may want
to add a line to remove it.
On Friday, 23 October 2020 at 07:16:42 UTC+1 elParaguayo wrote:
> Actually, using psutil.net_if_stats() (
> https://psutil.readthedocs.io/en/latest/#psutil.net_if_stats) will let
> you see which interfaces are connected. You can then use those names to
> display stats for the active interfaces.
>
> On Thu, 22 Oct 2020, 15:24 el Paraguayo, <[email protected]> wrote:
>
>> That's not quite how it works.
>>
>> When you use the 'all' interface name, the widget uses the psutil module
>> to get the io data but passes pernic=False (i.e. all NICs are aggregated -
>> giving you the active numbers).
>>
>> If you set pernic=True then you'll include inactive NICs.
>>
>> You'd need to modify the widget code to only show NICs that have some
>> activity (and maybe include some method to remember past activity in a
>> certain period so interfaces didn't constantly appear or disappear). Psutil
>> does also have net_connections which might give you what you need to filter
>> active connections.
>>
>> Is there a problem with naming your interfaces in the config.py file?
>>
>> On Thu, 22 Oct 2020, 12:05 Artur, <[email protected]> wrote:
>>
>>> yes, but the name of the interface in that case is "all".
>>> But I would expect the name of the active interface displayed.
>>> If more than one interface is active then, I'd like to see each
>>> separately.
>>>
>>> Is it possible to achieve?
>>>
>>> On Thu, 22 Oct 2020 at 12:50, Guillaume Gelin <[email protected]> wrote:
>>>
>>>> Hi Artur,
>>>>
>>>> IIRC this is the default behavior when you don't provide an "interface"
>>>> argument.
>>>>
>>>> Le jeu. 22 oct. 2020 à 12:47, Artur <[email protected]> a écrit :
>>>>
>>>>> Hi,
>>>>>
>>>>> Could you advice how I could display only active net interface in the
>>>>> bar in Net Widget?
>>>>>
>>>>>
>>>>> Best
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "qtile-dev" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/qtile-dev/70e08e17-d227-4d46-a7ed-8db5f76abf32n%40googlegroups.com
>>>>>
>>>>> <https://groups.google.com/d/msgid/qtile-dev/70e08e17-d227-4d46-a7ed-8db5f76abf32n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>>
>>>>
>>>> --
>>>> Guillaume Gelin
>>>>
>>>> --
>>>> You received this message because you are subscribed to a topic in the
>>>> Google Groups "qtile-dev" group.
>>>> To unsubscribe from this topic, visit
>>>> https://groups.google.com/d/topic/qtile-dev/TGQS79EDjXE/unsubscribe.
>>>> To unsubscribe from this group and all its topics, send an email to
>>>> [email protected].
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/qtile-dev/CAPn4x%2BooUjAQk2xu466zf2ZrNPT4%3DJVYZ%3D%3Dt1ePFP2%2BbbMzbbg%40mail.gmail.com
>>>>
>>>> <https://groups.google.com/d/msgid/qtile-dev/CAPn4x%2BooUjAQk2xu466zf2ZrNPT4%3DJVYZ%3D%3Dt1ePFP2%2BbbMzbbg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "qtile-dev" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/qtile-dev/CAGudEj4GVNp40xpaM_mx7bCrq0PG0PbYnuQZEoBzNP5ATtVrZw%40mail.gmail.com
>>>
>>> <https://groups.google.com/d/msgid/qtile-dev/CAGudEj4GVNp40xpaM_mx7bCrq0PG0PbYnuQZEoBzNP5ATtVrZw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>
--
You received this message because you are subscribed to the Google Groups
"qtile-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/qtile-dev/f7733edb-b4de-4841-973d-d99d007c4776n%40googlegroups.com.