9d10cbee89
This introduces 'HoldoffTimeoutSec' to logind.conf to make IGNORE_LID_SWITCH_{SUSPEND,STARTUP}_USEC configurable. Background: If an external monitor is connected, or if the system is docked, we want to ignore LID events. This is required to support setups where a laptop is used with external peripherals while the LID is closed. However, this requires us to probe all hot-plugged devices before reacting to LID events. But with modern buses like USB, the standards do not impose any timeout on the slots, so we have no chance to know whether a given slot is used or not. Hence, after resume and startup, we have to wait a fixed timeout to give the kernel a chance to probe devices. Our timeout has always been generous enough to support even the slowest devices. However, a lot of people didn't use these features and wanted to disable the hold-off timer. Now we provide a knob to do that.
37 lines
2.3 KiB
Plaintext
37 lines
2.3 KiB
Plaintext
%{
|
|
#include <stddef.h>
|
|
#include "conf-parser.h"
|
|
#include "logind.h"
|
|
%}
|
|
struct ConfigPerfItem;
|
|
%null_strings
|
|
%language=ANSI-C
|
|
%define slot-name section_and_lvalue
|
|
%define hash-function-name logind_gperf_hash
|
|
%define lookup-function-name logind_gperf_lookup
|
|
%readonly-tables
|
|
%omit-struct-type
|
|
%struct-type
|
|
%includes
|
|
%%
|
|
Login.NAutoVTs, config_parse_unsigned, 0, offsetof(Manager, n_autovts)
|
|
Login.ReserveVT, config_parse_unsigned, 0, offsetof(Manager, reserve_vt)
|
|
Login.KillUserProcesses, config_parse_bool, 0, offsetof(Manager, kill_user_processes)
|
|
Login.KillOnlyUsers, config_parse_strv, 0, offsetof(Manager, kill_only_users)
|
|
Login.KillExcludeUsers, config_parse_strv, 0, offsetof(Manager, kill_exclude_users)
|
|
Login.InhibitDelayMaxSec, config_parse_sec, 0, offsetof(Manager, inhibit_delay_max)
|
|
Login.HandlePowerKey, config_parse_handle_action, 0, offsetof(Manager, handle_power_key)
|
|
Login.HandleSuspendKey, config_parse_handle_action, 0, offsetof(Manager, handle_suspend_key)
|
|
Login.HandleHibernateKey, config_parse_handle_action, 0, offsetof(Manager, handle_hibernate_key)
|
|
Login.HandleLidSwitch, config_parse_handle_action, 0, offsetof(Manager, handle_lid_switch)
|
|
Login.HandleLidSwitchDocked, config_parse_handle_action, 0, offsetof(Manager, handle_lid_switch_docked)
|
|
Login.PowerKeyIgnoreInhibited, config_parse_bool, 0, offsetof(Manager, power_key_ignore_inhibited)
|
|
Login.SuspendKeyIgnoreInhibited, config_parse_bool, 0, offsetof(Manager, suspend_key_ignore_inhibited)
|
|
Login.HibernateKeyIgnoreInhibited, config_parse_bool, 0, offsetof(Manager, hibernate_key_ignore_inhibited)
|
|
Login.LidSwitchIgnoreInhibited, config_parse_bool, 0, offsetof(Manager, lid_switch_ignore_inhibited)
|
|
Login.HoldoffTimeoutSec, config_parse_sec, 0, offsetof(Manager, holdoff_timeout_usec)
|
|
Login.IdleAction, config_parse_handle_action, 0, offsetof(Manager, idle_action)
|
|
Login.IdleActionSec, config_parse_sec, 0, offsetof(Manager, idle_action_usec)
|
|
Login.RuntimeDirectorySize, config_parse_tmpfs_size, 0, offsetof(Manager, runtime_dir_size)
|
|
Login.RemoveIPC, config_parse_bool, 0, offsetof(Manager, remove_ipc)
|