diff options
author | Lennart Poettering <lennart@poettering.net> | 2014-02-24 16:22:23 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2014-02-24 16:22:23 +0100 |
commit | 2d62c530d2b4c2730abff715b7342f1402114513 (patch) | |
tree | a04f57d94d9b01a958b922da5608ba9630efff26 /src/login/logind-action.c | |
parent | 539237644eef4dbb9e5428dd249d7ee8392427d0 (diff) |
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.
Diffstat (limited to 'src/login/logind-action.c')
-rw-r--r-- | src/login/logind-action.c | 8 |
1 files changed, 8 insertions, 0 deletions
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)) { |