[Kde-hardware-devel] [PATCH] Add docking station support to Solid
Will Stephenson
wstephenson at kde.org
Sat Nov 21 09:24:21 CET 2009
The attached patch adds support for laptop docking stations to Solid. Knowing
when the machine is docked will allow us to modify powersaving policy while
docked, eg don't lock the screen if lid closed while docked, and help fix
https://bugs.kde.org/show_bug.cgi?id=185460.
The missing part is how to instantiate a DockStation device in the hal
manager, because in hal, dockstation isn't a capability and we use
FindByCapability only.
Instead it seems to only be defined by the presence of an interface it
supports. I attach an extract from lshal to demonstrate this. Solid-hal
expert(s): is there an obvious way to deal with this? Holger, how did you
handle this in GNOME?
Will
-------------- next part --------------
A non-text attachment was scrubbed...
Name: solid_dockstation.diff.zip
Type: application/zip
Size: 3744 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kde-hardware-devel/attachments/20091121/7c559838/attachment.zip
-------------- next part --------------
udi = '/org/freedesktop/Hal/devices/platform_dock_1'
info.docked = false (bool)
info.interfaces = {'org.freedesktop.Hal.Device.DockStation'} (string list)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
info.product = 'Platform Device (dock.1)' (string)
info.subsystem = 'platform' (string)
info.udi = '/org/freedesktop/Hal/devices/platform_dock_1' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'platform' (string)
linux.sysfs_path = '/sys/devices/platform/dock.1' (string)
org.freedesktop.Hal.Device.DockStation.method_argnames = {''} (string list)
org.freedesktop.Hal.Device.DockStation.method_execpaths = {'hal-dockstation-undock'} (string list)
org.freedesktop.Hal.Device.DockStation.method_names = {'Undock'} (string list)
org.freedesktop.Hal.Device.DockStation.method_signatures = {''} (string list)
platform.id = 'dock.1' (string)
udi = '/org/freedesktop/Hal/devices/platform_dock_0'
info.docked = true (bool)
info.interfaces = {'org.freedesktop.Hal.Device.DockStation'} (string list)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
info.product = 'Platform Device (dock.0)' (string)
info.subsystem = 'platform' (string)
info.udi = '/org/freedesktop/Hal/devices/platform_dock_0' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'platform' (string)
linux.sysfs_path = '/sys/devices/platform/dock.0' (string)
org.freedesktop.Hal.Device.DockStation.method_argnames = {''} (string list)
org.freedesktop.Hal.Device.DockStation.method_execpaths = {'hal-dockstation-undock'} (string list)
org.freedesktop.Hal.Device.DockStation.method_names = {'Undock'} (string list)
org.freedesktop.Hal.Device.DockStation.method_signatures = {''} (string list)
platform.id = 'dock.0' (string)
More information about the Kde-hardware-devel
mailing list