[PATCH weston v2 1/1] compositor: Add idle timeout option to weston.ini
Pekka Paalanen
ppaalanen at gmail.com
Fri Nov 21 06:13:36 PST 2014
On Thu, 30 Oct 2014 15:06:34 -0400
Frederic Plourde <frederic.plourde at collabora.co.uk> wrote:
> Weston's idle timeout can already be set via the '-i' command-line
> option, but this patch lets users specify it also via weston.ini.
> Note that the command-line option takes precedence over the .ini,
> should the option be set by both.
>
> This patch also Updates weston.ini man page with idle-timeout bits
>
> https://bugs.freedesktop.org/show_bug.cgi?id=83921
>
> Signed-off-by: Frederic Plourde <frederic.plourde at collabora.co.uk>
> Reviewed-by: Bryce Harrington <b.harrington at samsung.com>
> ---
> man/weston.ini.man | 23 ++++++++++++++++++++---
> src/compositor.c | 6 +++++-
> 2 files changed, 25 insertions(+), 4 deletions(-)
>
> diff --git a/man/weston.ini.man b/man/weston.ini.man
> index c05a221..a665ce1 100644
> --- a/man/weston.ini.man
> +++ b/man/weston.ini.man
> @@ -62,21 +62,21 @@ Comment lines are ignored:
> .RS 4
> .nf
> .IR "#comment"
> .fi
> .RE
> .PP
> The section headers are:
> .PP
> .RS 4
> .nf
> -.BR "core " "The core modules"
> +.BR "core " "The core modules and options"
> .BR "libinput " "Input device configuration"
> .BR "shell " "Desktop customization"
> .BR "launcher " "Add launcher to the panel"
> .BR "screensaver " "Screensaver selection"
> .BR "output " "Output configuration"
> .BR "input-method " "Onscreen keyboard input"
> .BR "keyboard " "Keyboard layouts"
> .BR "terminal " "Terminal application options"
> .BR "xwayland " "XWayland options"
> .BR "screen-share " "Screen sharing options"
> @@ -85,21 +85,21 @@ The section headers are:
> .PP
> Possible value types are string, signed and unsigned 32-bit
> integer, and boolean. Strings must not be quoted, do not support any
> escape sequences, and run till the end of the line. Integers can
> be given in decimal (e.g. 123), octal (e.g. 0173), and hexadecimal
> (e.g. 0x7b) form. Boolean values can be only 'true' or 'false'.
> .RE
> .SH "CORE SECTION"
> The
> .B core
> -section is used to select the startup compositor modules.
> +section is used to select the startup compositor modules and general options.
> .TP 7
> .BI "shell=" desktop-shell.so
> specifies a shell to load (string). This can be used to load your own
> implemented shell or one with Weston as default. Available shells
> in the
> .IR "__weston_modules_dir__"
> directory are:
> .PP
> .RS 10
> .nf
> @@ -139,20 +139,37 @@ directory are:
> .fi
> .RE
> .BI "gbm-format="format
> sets the GBM format used for the framebuffer for the GBM backend. Can be
> .B xrgb8888,
> .B xrgb2101010,
> .B rgb565.
> By default, xrgb8888 is used.
> .RS
> .PP
> +.RE
> +.TP 7
> +.BI "idle-time="seconds
> +sets Weston's idle timeout in seconds. This idle timeout is the time
> +after which Weston will enter an "inactive" mode and screen will fade to
> +black. Note that a screensaver may also start at this moment after fade-out
> +(if enabled in the SCREENSAVER section below), but the current idle-time
> +option has nothing to do with screensavers.
> +
> +.IR Important
> +: This option may also be set via Weston's '-i' command
> +line option and will take precedence over the current .ini option. This
> +means that if both weston.ini and command line define this idle-timeout
> +time, the one specified in the command-line will be used. On the other
> +hand, if none of these sets the value, default idle timeout will be
> +set to 300 seconds.
> +.RS
>
> .SH "LIBINPUT SECTION"
> The
> .B libinput
> section is used to configure input devices when using the libinput input device
> backend.
> .PP
> Available configuration are:
> .TP 7
> .BI "enable_tap=" true
> @@ -289,21 +306,21 @@ section is optional, as are all of the entries that may be specified in
> it.
> .TP 7
> .BI "path=" /usr/libexec/weston-screensaver
> This instructs the compositor to use the selected screensaver client on a given
> path (string). If this line is missing or commented out, the screensaver in
> .B "weston(1)"
> is disabled.
> .RE
> .TP 7
> .BI "duration=" 600
> -The idle time in seconds until the screensaver disappears in order to save power
> +The time in seconds until the screensaver disappears in order to save power
> (unsigned integer).
> .SH "OUTPUT SECTION"
> There can be multiple output sections, each corresponding to one output. It is
> currently only recognized by the drm and x11 backends.
> .TP 7
> .BI "name=" name
> sets a name for the output (string). The backend uses the name to
> identify the output. All X11 output names start with a letter X. All
> Wayland output names start with the letters WL. The available
> output names for DRM backend are listed in the
> diff --git a/src/compositor.c b/src/compositor.c
> index 4540911..015037f 100644
> --- a/src/compositor.c
> +++ b/src/compositor.c
> @@ -4603,21 +4603,21 @@ int main(int argc, char *argv[])
> *(*backend_init)(struct wl_display *display,
> int *argc, char *argv[],
> struct weston_config *config);
> int i, fd;
> char *backend = NULL;
> char *shell = NULL;
> char *modules = NULL;
> char *option_modules = NULL;
> char *log = NULL;
> char *server_socket = NULL, *end;
> - int32_t idle_time = 300;
> + int32_t idle_time = -1;
> int32_t help = 0;
> char *socket_name = NULL;
> int32_t version = 0;
> int32_t noconfig = 0;
> int32_t numlock_on;
> struct weston_config *config = NULL;
> struct weston_config_section *section;
> struct wl_client *primary_client;
> struct wl_listener primary_client_destroyed;
> struct weston_seat *seat;
> @@ -4701,20 +4701,24 @@ int main(int argc, char *argv[])
> ec = backend_init(display, &argc, argv, config);
> if (ec == NULL) {
> weston_log("fatal: failed to create compositor\n");
> ret = EXIT_FAILURE;
> goto out_signals;
> }
>
> catch_signals();
> segv_compositor = ec;
>
> + if (idle_time < 0)
> + weston_config_section_get_int(section, "idle-time", &idle_time, -1);
> + if (idle_time < 0)
> + idle_time = 300; /* default idle timeout, in seconds */
> ec->idle_time = idle_time;
> ec->default_pointer_grab = NULL;
>
> for (i = 1; i < argc; i++)
> weston_log("fatal: unhandled option: %s\n", argv[i]);
> if (argc > 1) {
> ret = EXIT_FAILURE;
> goto out;
> }
>
Hi,
looks good, pushed. I followed up with a trivial commit to explain
idle-time=0 on the man page.
Thanks,
pq
More information about the wayland-devel
mailing list