X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Flogind-action.c;h=f635fb1b632039a459d4f0de245279a7d6e03faa;hb=f22e355a0205dbe6f2d4bf66df5de5318390df66;hp=ae9cd4894a37273358371b39b769308b2a25c2c4;hpb=de0671ee7fe465e108f62dcbbbe9366f81dd9e9a;p=elogind.git diff --git a/src/login/logind-action.c b/src/login/logind-action.c index ae9cd4894..f635fb1b6 100644 --- a/src/login/logind-action.c +++ b/src/login/logind-action.c @@ -21,13 +21,15 @@ #include -#include "sd-messages.h" #include "conf-parser.h" #include "special.h" #include "sleep-config.h" #include "bus-util.h" #include "bus-error.h" #include "logind-action.h" +#include "formats-util.h" +#include "process-util.h" +#include "terminal-util.h" int manager_handle_action( Manager *m, @@ -71,26 +73,6 @@ int manager_handle_action( } if (inhibit_key == INHIBIT_HANDLE_LID_SWITCH) { - int n; - - /* If we are docked don't react to lid closing */ - if (manager_is_docked(m)) { - log_debug("Ignoring lid switch request, system is docked."); - return 0; - } - - /* If we have more than one or no displays connected, - * don't react to lid closing. The no display case we - * treat like this under the assumption that there is - * no modern drm driver available. */ - n = manager_count_displays(m); - if (n < 0) - log_warning("Display counting failed: %s", strerror(-n)); - else if (n != 1) { - log_debug("Ignoring lid switch request, %i displays connected.", n); - return 0; - } - /* If the last system suspend or startup is too close, * let's not suspend for now, to give USB docking * stations some time to settle so that we can @@ -133,7 +115,7 @@ int manager_handle_action( if (!supported) { log_warning("Requested operation not supported, ignoring."); - return -ENOTSUP; + return -EOPNOTSUPP; } if (m->action_what) {