diff options
Diffstat (limited to 'sway/commands.c')
-rw-r--r-- | sway/commands.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/sway/commands.c b/sway/commands.c index b9399dec..73f245c1 100644 --- a/sway/commands.c +++ b/sway/commands.c | |||
@@ -114,6 +114,7 @@ static sway_cmd bar_cmd_strip_workspace_numbers; | |||
114 | static sway_cmd bar_cmd_swaybar_command; | 114 | static sway_cmd bar_cmd_swaybar_command; |
115 | static sway_cmd bar_cmd_tray_output; | 115 | static sway_cmd bar_cmd_tray_output; |
116 | static sway_cmd bar_cmd_tray_padding; | 116 | static sway_cmd bar_cmd_tray_padding; |
117 | static sway_cmd bar_cmd_wrap_scroll; | ||
117 | static sway_cmd bar_cmd_workspace_buttons; | 118 | static sway_cmd bar_cmd_workspace_buttons; |
118 | 119 | ||
119 | static sway_cmd bar_colors_cmd_active_workspace; | 120 | static sway_cmd bar_colors_cmd_active_workspace; |
@@ -3169,6 +3170,29 @@ static struct cmd_results *bar_cmd_tray_padding(int argc, char **argv) { | |||
3169 | return cmd_results_new(CMD_SUCCESS, NULL, NULL); | 3170 | return cmd_results_new(CMD_SUCCESS, NULL, NULL); |
3170 | } | 3171 | } |
3171 | 3172 | ||
3173 | static struct cmd_results *bar_cmd_wrap_scroll(int argc, char **argv) { | ||
3174 | struct cmd_results *error = NULL; | ||
3175 | if ((error = checkarg(argc, "wrap_scroll", EXPECTED_EQUAL_TO, 1))) { | ||
3176 | return error; | ||
3177 | } | ||
3178 | |||
3179 | if (!config->current_bar) { | ||
3180 | return cmd_results_new(CMD_FAILURE, "wrap_scroll", "No bar defined."); | ||
3181 | } | ||
3182 | |||
3183 | if (strcasecmp("yes", argv[0]) == 0) { | ||
3184 | config->current_bar->wrap_scroll = true; | ||
3185 | sway_log(L_DEBUG, "Enabling wrap scroll on bar: %s", config->current_bar->id); | ||
3186 | } else if (strcasecmp("no", argv[0]) == 0) { | ||
3187 | config->current_bar->wrap_scroll = false; | ||
3188 | sway_log(L_DEBUG, "Disabling wrap scroll on bar: %s", config->current_bar->id); | ||
3189 | } else { | ||
3190 | error = cmd_results_new(CMD_INVALID, "wrap_scroll", "Invalid value %s", argv[0]); | ||
3191 | return error; | ||
3192 | } | ||
3193 | return cmd_results_new(CMD_SUCCESS, NULL, NULL); | ||
3194 | } | ||
3195 | |||
3172 | static struct cmd_results *bar_cmd_workspace_buttons(int argc, char **argv) { | 3196 | static struct cmd_results *bar_cmd_workspace_buttons(int argc, char **argv) { |
3173 | struct cmd_results *error = NULL; | 3197 | struct cmd_results *error = NULL; |
3174 | if ((error = checkarg(argc, "workspace_buttons", EXPECTED_EQUAL_TO, 1))) { | 3198 | if ((error = checkarg(argc, "workspace_buttons", EXPECTED_EQUAL_TO, 1))) { |
@@ -3211,6 +3235,7 @@ static struct cmd_handler bar_handlers[] = { | |||
3211 | { "swaybar_command", bar_cmd_swaybar_command }, | 3235 | { "swaybar_command", bar_cmd_swaybar_command }, |
3212 | { "tray_output", bar_cmd_tray_output }, | 3236 | { "tray_output", bar_cmd_tray_output }, |
3213 | { "tray_padding", bar_cmd_tray_padding }, | 3237 | { "tray_padding", bar_cmd_tray_padding }, |
3238 | { "wrap_scroll", bar_cmd_wrap_scroll }, | ||
3214 | { "workspace_buttons", bar_cmd_workspace_buttons }, | 3239 | { "workspace_buttons", bar_cmd_workspace_buttons }, |
3215 | }; | 3240 | }; |
3216 | 3241 | ||