From 2d62c530d2b4c2730abff715b7342f1402114513 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 24 Feb 2014 16:22:23 +0100 Subject: logind: detect whether the system is docked, and if it is inhibit lid switch processing This should make operation nicer with docking stations, but will not cover anything that does not implement SW_DOCK. --- src/login/logind-action.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/login/logind-action.c') diff --git a/src/login/logind-action.c b/src/login/logind-action.c index 3bad922713..c04f2107d1 100644 --- a/src/login/logind-action.c +++ b/src/login/logind-action.c @@ -70,6 +70,14 @@ int manager_handle_action( return 0; } + /* If we are docked don't react to lid closing */ + if (inhibit_key == INHIBIT_HANDLE_LID_SWITCH) { + if (manager_is_docked(m)) { + log_debug("Ignoring lid switch request, system is docked."); + return 0; + } + } + /* If the key handling is inhibited, don't do anything */ if (inhibit_key > 0) { if (manager_is_inhibited(m, inhibit_key, INHIBIT_BLOCK, NULL, true, false, 0, NULL)) { -- cgit v1.2.3-54-g00ecf