diff --git a/src/network_watcher.py b/src/network_watcher.py index c6c3687bd148788e17a4969b9aedc48b6d2db828..0bc4edddf83ba8dca339bb97c2d53d3059128eb9 100644 --- a/src/network_watcher.py +++ b/src/network_watcher.py @@ -5,6 +5,7 @@ ## Nikos Kouremenos ## Stefan Bethge ## Copyright (C) 2006-2017 Yann Leboulanger +## Copyright (C) 2017 Jörg Sommer ## ## This file is part of Gajim. ## @@ -82,3 +83,14 @@ if dbus_support.supported: '/org/freedesktop/NetworkManager') except Exception: pass + elif 'org.freedesktop.network1' in bus.list_names(): + """ + For systemd-networkd + """ + def state_changed(sender, data, junk): + if 'OperationalState' in data: + update_accounts(connection_is_up = data['OperationalState'] == 'routable') + + bus.add_signal_receiver(state_changed, 'PropertiesChanged', + path = '/org/freedesktop/network1') + supported = True