[PATCH 2/3] desktop-shell: Make zapping configurable

Derek Foreman derekf at osg.samsung.com
Mon Jan 11 10:04:08 PST 2016


On 11/01/16 09:41 AM, Bob Ham wrote:
> Add a new boolean weston.ini option, "zap" to enable or disable the
> Ctrl-Alt-Backspace key combination.
> 
> Signed-off-by: Bob Ham <bob.ham at collabora.com>
> ---
>  desktop-shell/shell.c | 14 +++++++++++---
>  desktop-shell/shell.h |  1 +
>  man/weston.ini.man    |  4 ++++
>  3 files changed, 16 insertions(+), 3 deletions(-)
> 
> diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
> index 85664c6..c94d0b1 100644
> --- a/desktop-shell/shell.c
> +++ b/desktop-shell/shell.c
> @@ -636,6 +636,7 @@ shell_configuration(struct desktop_shell *shell)
>  	struct weston_config_section *section;
>  	char *s, *client;
>  	int ret;
> +	int zap;
>
>  	section = weston_config_get_section(shell->compositor->config,
>  					    "shell", NULL, NULL);
> @@ -647,6 +648,11 @@ shell_configuration(struct desktop_shell *shell)
>  					 "client", &s, client);
>  	free(client);
>  	shell->client = s;
> +
> +	weston_config_section_get_bool(section,
> +				       "zap", &zap, true);

I think "allow_zap" would be better...

> +	shell->zap = zap;
> +
>  	weston_config_section_get_string(section,
>  					 "binding-modifier", &s, "super");
>  	shell->binding_modifier = get_modifier(s);
> @@ -6425,10 +6431,12 @@ shell_add_bindings(struct weston_compositor *ec, struct desktop_shell *shell)
>  	uint32_t mod;
>  	int i, num_workspace_bindings;
>  
> +	if (shell->zap != false)

Wouldn't it be easier to read as
if (shell->zap) ?

Otherwise looks good to me:
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>

> +		weston_compositor_add_key_binding(ec, KEY_BACKSPACE,
> +					          MODIFIER_CTRL | MODIFIER_ALT,
> +					          terminate_binding, ec);
> +
>  	/* fixed bindings */
> -	weston_compositor_add_key_binding(ec, KEY_BACKSPACE,
> -				          MODIFIER_CTRL | MODIFIER_ALT,
> -				          terminate_binding, ec);
>  	weston_compositor_add_button_binding(ec, BTN_LEFT, 0,
>  					     click_to_activate_binding,
>  					     shell);
> diff --git a/desktop-shell/shell.h b/desktop-shell/shell.h
> index c55a225..ddee363 100644
> --- a/desktop-shell/shell.h
> +++ b/desktop-shell/shell.h
> @@ -189,6 +189,7 @@ struct desktop_shell {
>  
>  	struct exposay exposay;
>  
> +	bool zap;
>  	uint32_t binding_modifier;
>  	uint32_t exposay_modifier;
>  	enum animation_type win_animation_type;
> diff --git a/man/weston.ini.man b/man/weston.ini.man
> index 4f97c4d..09f2ae8 100644
> --- a/man/weston.ini.man
> +++ b/man/weston.ini.man
> @@ -258,6 +258,10 @@ sets the effect used with the focused and unfocused windows. Can be
>  .B none.
>  By default, no animation is used.
>  .TP 7
> +.BI "zap=" true
> +whether the shell should quit when the Ctrl-Alt-Backspace key combination is
> +pressed
> +.TP 7
>  .BI "binding-modifier=" ctrl
>  sets the modifier key used for common bindings (string), such as moving
>  surfaces, resizing, rotating, switching, closing and setting the transparency
> 



More information about the wayland-devel mailing list