# Our dbus proxies are abstracted out one level more than really necessary - we have # clients that the screensaver initializes, that can never fail. The actual connection # business to the various dbus address is performed asynchronously from within each client. # The following clients can fail to establish with their respective dbus interfaces without # competely breaking the program (or at least that's what we're after) - it just means that # depending on what fails, you may end up without keyboard shortcut support, or a battery # widget, etc... from dbusdepot.cinnamonClient import CinnamonClient as _CinnamonClient from dbusdepot.sessionClient import SessionClient as _SessionClient from dbusdepot.uPowerClient import UPowerClient as _UPowerClient from dbusdepot.keybindingHandlerClient import KeybindingHandlerClient as _KeybindingHandlerClient from dbusdepot.mediaPlayerWatcher import MediaPlayerWatcher as _MediaPlayerWatcher from dbusdepot.accountsServiceClient import AccountsServiceClient as _AccountsServiceClient CinnamonClient = _CinnamonClient() SessionClient = _SessionClient() UPowerClient = _UPowerClient() KeybindingHandlerClient = _KeybindingHandlerClient() MediaPlayerWatcher = _MediaPlayerWatcher() AccountsServiceClient = _AccountsServiceClient() # The notification watcher is a C introspected class - some of the functions it uses # don't work well via introspection. from gi.repository import CScreensaver NotificationWatcher = CScreensaver.NotificationWatcher() # We only need one instance of CinnamonDesktop.BG - have it listen to bg gsettings changes # and we just connect to "changed" on the Backgrounds object from our user (the Stage) gi.require_version('CinnamonDesktop', '3.0')
from util import trackers, settings # Our dbus proxies are abstracted out one level more than really necessary - we have # clients that the screensaver initializes, that can never fail. The actual connection # business to the various dbus address is performed asynchronously from within each client. # The following clients can fail to establish with their respective dbus interfaces without # competely breaking the program (or at least that's what we're after) - it just means that # depending on what fails, you may end up without keyboard shortcut support, or a battery # widget, etc... from dbusdepot.cinnamonClient import CinnamonClient as _CinnamonClient from dbusdepot.sessionClient import SessionClient as _SessionClient from dbusdepot.uPowerClient import UPowerClient as _UPowerClient from dbusdepot.keybindingHandlerClient import KeybindingHandlerClient as _KeybindingHandlerClient from dbusdepot.mediaPlayerWatcher import MediaPlayerWatcher as _MediaPlayerWatcher CinnamonClient = _CinnamonClient() SessionClient = _SessionClient() UPowerClient = _UPowerClient() KeybindingHandlerClient = _KeybindingHandlerClient() MediaPlayerWatcher = _MediaPlayerWatcher() # The notification watcher is a C introspected class - some of the functions it uses # don't work well via introspection. from gi.repository import CScreensaver NotificationWatcher = CScreensaver.NotificationWatcher() # We only need one instance of CinnamonDesktop.BG - have it listen to bg gsettings changes # and we just connect to "changed" on the Backgrounds object from our user (the Stage)