diff options
| author | Drew DeVault <sir@cmpwn.com> | 2017-06-14 18:53:40 -0400 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-06-14 18:53:40 -0400 | 
| commit | 298f56353ef155f6a2ccc977c96b2ff5d971e65e (patch) | |
| tree | dcb3b74f1dde93bce8657b7509662ffd7db667d0 /sway/commands/bar | |
| parent | a5c07dde6aba87584ddb6c6a2769472a6003623a (diff) | |
| parent | eb6e38c86d2deb37cc6f378f8644c4a530fd7448 (diff) | |
| download | sway-298f56353ef155f6a2ccc977c96b2ff5d971e65e.tar.xz | |
Merge branch 'master' into server-decoration
Diffstat (limited to 'sway/commands/bar')
| -rw-r--r-- | sway/commands/bar/activate_button.c | 26 | ||||
| -rw-r--r-- | sway/commands/bar/context_button.c | 26 | ||||
| -rw-r--r-- | sway/commands/bar/icon_theme.c | 25 | ||||
| -rw-r--r-- | sway/commands/bar/secondary_button.c | 26 | ||||
| -rw-r--r-- | sway/commands/bar/tray_output.c | 26 | ||||
| -rw-r--r-- | sway/commands/bar/tray_padding.c | 34 | 
6 files changed, 146 insertions, 17 deletions
| diff --git a/sway/commands/bar/activate_button.c b/sway/commands/bar/activate_button.c new file mode 100644 index 00000000..32a1d3e5 --- /dev/null +++ b/sway/commands/bar/activate_button.c @@ -0,0 +1,26 @@ +#include <stdlib.h> +#include "sway/commands.h" +#include "log.h" + +struct cmd_results *bar_cmd_activate_button(int argc, char **argv) { +	const char *cmd_name = "activate_button"; +#ifndef ENABLE_TRAY +	return cmd_results_new(CMD_INVALID, cmd_name, "Invalid %s command " +			"%s called, but sway was compiled without tray support", +			cmd_name, cmd_name); +#else +	struct cmd_results *error = NULL; +	if ((error = checkarg(argc, cmd_name, EXPECTED_EQUAL_TO, 1))) { +		return error; +	} + +	if (!config->current_bar) { +		return cmd_results_new(CMD_FAILURE, cmd_name, "No bar defined."); +	} + +	// User should be able to prefix with 0x or whatever they want +	config->current_bar->secondary_button = strtoul(argv[0], NULL, 0); + +	return cmd_results_new(CMD_SUCCESS, NULL, NULL); +#endif +} diff --git a/sway/commands/bar/context_button.c b/sway/commands/bar/context_button.c new file mode 100644 index 00000000..6d7d7aec --- /dev/null +++ b/sway/commands/bar/context_button.c @@ -0,0 +1,26 @@ +#include <stdlib.h> +#include "sway/commands.h" +#include "log.h" + +struct cmd_results *bar_cmd_context_button(int argc, char **argv) { +	const char *cmd_name = "context_button"; +#ifndef ENABLE_TRAY +	return cmd_results_new(CMD_INVALID, cmd_name, "Invalid %s command " +			"%s called, but sway was compiled without tray support", +			cmd_name, cmd_name); +#else +	struct cmd_results *error = NULL; +	if ((error = checkarg(argc, cmd_name, EXPECTED_EQUAL_TO, 1))) { +		return error; +	} + +	if (!config->current_bar) { +		return cmd_results_new(CMD_FAILURE, cmd_name, "No bar defined."); +	} + +	// User should be able to prefix with 0x or whatever they want +	config->current_bar->context_button = strtoul(argv[0], NULL, 0); + +	return cmd_results_new(CMD_SUCCESS, NULL, NULL); +#endif +} diff --git a/sway/commands/bar/icon_theme.c b/sway/commands/bar/icon_theme.c new file mode 100644 index 00000000..cbfc0be5 --- /dev/null +++ b/sway/commands/bar/icon_theme.c @@ -0,0 +1,25 @@ +#define _XOPEN_SOURCE 500 +#include <string.h> +#include "sway/commands.h" + +struct cmd_results *bar_cmd_icon_theme(int argc, char **argv) { +	const char *cmd_name = "tray_output"; +#ifndef ENABLE_TRAY +	return cmd_results_new(CMD_INVALID, cmd_name, "Invalid %s command " +			"%s called, but sway was compiled without tray support", +			cmd_name, cmd_name); +#else +	struct cmd_results *error = NULL; +	if ((error = checkarg(argc, cmd_name, EXPECTED_EQUAL_TO, 1))) { +		return error; +	} + +	if (!config->current_bar) { +		return cmd_results_new(CMD_FAILURE, cmd_name, "No bar defined."); +	} + +	config->current_bar->icon_theme = strdup(argv[0]); + +	return cmd_results_new(CMD_SUCCESS, NULL, NULL); +#endif +} diff --git a/sway/commands/bar/secondary_button.c b/sway/commands/bar/secondary_button.c new file mode 100644 index 00000000..745045c5 --- /dev/null +++ b/sway/commands/bar/secondary_button.c @@ -0,0 +1,26 @@ +#include <stdlib.h> +#include "sway/commands.h" +#include "log.h" + +struct cmd_results *bar_cmd_secondary_button(int argc, char **argv) { +	const char *cmd_name = "secondary_button"; +#ifndef ENABLE_TRAY +	return cmd_results_new(CMD_INVALID, cmd_name, "Invalid %s command " +			"%s called, but sway was compiled without tray support", +			cmd_name, cmd_name); +#else +	struct cmd_results *error = NULL; +	if ((error = checkarg(argc, cmd_name, EXPECTED_EQUAL_TO, 1))) { +		return error; +	} + +	if (!config->current_bar) { +		return cmd_results_new(CMD_FAILURE, cmd_name, "No bar defined."); +	} + +	// User should be able to prefix with 0x or whatever they want +	config->current_bar->secondary_button = strtoul(argv[0], NULL, 0); + +	return cmd_results_new(CMD_SUCCESS, NULL, NULL); +#endif +} diff --git a/sway/commands/bar/tray_output.c b/sway/commands/bar/tray_output.c index 8a1b5d35..012304a9 100644 --- a/sway/commands/bar/tray_output.c +++ b/sway/commands/bar/tray_output.c @@ -1,7 +1,29 @@ +#define _XOPEN_SOURCE 500 +#include <string.h>  #include "sway/commands.h" -#include "log.h"  struct cmd_results *bar_cmd_tray_output(int argc, char **argv) { -	sway_log(L_ERROR, "Warning: tray_output is not supported on wayland"); +	const char *cmd_name = "tray_output"; +#ifndef ENABLE_TRAY +	return cmd_results_new(CMD_INVALID, cmd_name, "Invalid %s command " +			"%s called, but sway was compiled without tray support", +			cmd_name, cmd_name); +#else +	struct cmd_results *error = NULL; +	if ((error = checkarg(argc, cmd_name, EXPECTED_EQUAL_TO, 1))) { +		return error; +	} + +	if (!config->current_bar) { +		return cmd_results_new(CMD_FAILURE, cmd_name, "No bar defined."); +	} + +	if (strcmp(argv[0], "all") == 0) { +		// Default behaviour +		return cmd_results_new(CMD_SUCCESS, NULL, NULL); +	} +	config->current_bar->tray_output = strdup(argv[0]); +  	return cmd_results_new(CMD_SUCCESS, NULL, NULL); +#endif  } diff --git a/sway/commands/bar/tray_padding.c b/sway/commands/bar/tray_padding.c index 8c559f65..ac0572ce 100644 --- a/sway/commands/bar/tray_padding.c +++ b/sway/commands/bar/tray_padding.c @@ -1,30 +1,34 @@  #include <stdlib.h> -#include <string.h>  #include <strings.h>  #include "sway/commands.h"  #include "log.h"  struct cmd_results *bar_cmd_tray_padding(int argc, char **argv) { +	const char *cmd_name = "tray_padding"; +#ifndef ENABLE_TRAY +	return cmd_results_new(CMD_INVALID, cmd_name, "Invalid %s command" +			"%s called, but sway was compiled without tray support", +			cmd_name, cmd_name); +#else  	struct cmd_results *error = NULL; -	if ((error = checkarg(argc, "tray_padding", EXPECTED_AT_LEAST, 1))) { +	if ((error = checkarg(argc, cmd_name, EXPECTED_AT_LEAST, 1))) {  		return error;  	}  	if (!config->current_bar) { -		return cmd_results_new(CMD_FAILURE, "tray_padding", "No bar defined."); +		return cmd_results_new(CMD_FAILURE, cmd_name, "No bar defined.");  	} -	int padding = atoi(argv[0]); -	if (padding < 0) { -		return cmd_results_new(CMD_INVALID, "tray_padding", -				"Invalid padding value %s, minimum is 0", argv[0]); +	if (argc == 1 || (argc == 2 && strcasecmp("px", argv[1]) == 0)) { +		char *inv; +		uint32_t padding = strtoul(argv[0], &inv, 10); +		if (*inv == '\0' || strcasecmp(inv, "px") == 0) { +			config->current_bar->tray_padding = padding; +			sway_log(L_DEBUG, "Enabling tray padding of %d px on bar: %s", padding, config->current_bar->id); +			return cmd_results_new(CMD_SUCCESS, NULL, NULL); +		}  	} - -	if (argc > 1 && strcasecmp("px", argv[1]) != 0) { -		return cmd_results_new(CMD_INVALID, "tray_padding", -				"Unknown unit %s", argv[1]); -	} -	config->current_bar->tray_padding = padding; -	sway_log(L_DEBUG, "Enabling tray padding of %d px on bar: %s", padding, config->current_bar->id); -	return cmd_results_new(CMD_SUCCESS, NULL, NULL); +	return cmd_results_new(CMD_FAILURE, cmd_name, +		"Expected 'tray_padding <padding>[px]'"); +#endif  } | 
