mirror of
https://github.com/swaywm/sway.git
synced 2025-11-20 06:59:46 -05:00
Implement strip_workspace_name.
This commit is contained in:
parent
001ec1f3fd
commit
4bd46fb079
16 changed files with 88 additions and 32 deletions
|
|
@ -25,6 +25,7 @@ static struct cmd_handler bar_handlers[] = {
|
|||
{ "secondary_button", bar_cmd_secondary_button },
|
||||
{ "separator_symbol", bar_cmd_separator_symbol },
|
||||
{ "status_command", bar_cmd_status_command },
|
||||
{ "strip_workspace_name", bar_cmd_strip_workspace_name },
|
||||
{ "strip_workspace_numbers", bar_cmd_strip_workspace_numbers },
|
||||
{ "tray_output", bar_cmd_tray_output },
|
||||
{ "tray_padding", bar_cmd_tray_padding },
|
||||
|
|
|
|||
32
sway/commands/bar/strip_workspace_name.c
Normal file
32
sway/commands/bar/strip_workspace_name.c
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
#include <string.h>
|
||||
#include <strings.h>
|
||||
#include "sway/commands.h"
|
||||
#include "log.h"
|
||||
#include "util.h"
|
||||
|
||||
struct cmd_results *bar_cmd_strip_workspace_name(int argc, char **argv) {
|
||||
struct cmd_results *error = NULL;
|
||||
if ((error = checkarg(argc,
|
||||
"strip_workspace_name", EXPECTED_EQUAL_TO, 1))) {
|
||||
return error;
|
||||
}
|
||||
if (!config->current_bar) {
|
||||
return cmd_results_new(CMD_FAILURE,
|
||||
"strip_workspace_name", "No bar defined.");
|
||||
}
|
||||
|
||||
config->current_bar->strip_workspace_name =
|
||||
parse_boolean(argv[0], config->current_bar->strip_workspace_name);
|
||||
|
||||
if (config->current_bar->strip_workspace_name) {
|
||||
config->current_bar->strip_workspace_numbers = false;
|
||||
|
||||
wlr_log(WLR_DEBUG, "Stripping workspace name on bar: %s",
|
||||
config->current_bar->id);
|
||||
} else {
|
||||
wlr_log(WLR_DEBUG, "Enabling workspace name on bar: %s",
|
||||
config->current_bar->id);
|
||||
}
|
||||
|
||||
return cmd_results_new(CMD_SUCCESS, NULL, NULL);
|
||||
}
|
||||
|
|
@ -2,6 +2,7 @@
|
|||
#include <strings.h>
|
||||
#include "sway/commands.h"
|
||||
#include "log.h"
|
||||
#include "util.h"
|
||||
|
||||
struct cmd_results *bar_cmd_strip_workspace_numbers(int argc, char **argv) {
|
||||
struct cmd_results *error = NULL;
|
||||
|
|
@ -13,17 +14,19 @@ struct cmd_results *bar_cmd_strip_workspace_numbers(int argc, char **argv) {
|
|||
return cmd_results_new(CMD_FAILURE,
|
||||
"strip_workspace_numbers", "No bar defined.");
|
||||
}
|
||||
if (strcasecmp("yes", argv[0]) == 0) {
|
||||
config->current_bar->strip_workspace_numbers = true;
|
||||
|
||||
config->current_bar->strip_workspace_numbers =
|
||||
parse_boolean(argv[0], config->current_bar->strip_workspace_numbers);
|
||||
|
||||
if (config->current_bar->strip_workspace_numbers) {
|
||||
config->current_bar->strip_workspace_name = false;
|
||||
|
||||
wlr_log(WLR_DEBUG, "Stripping workspace numbers on bar: %s",
|
||||
config->current_bar->id);
|
||||
} else if (strcasecmp("no", argv[0]) == 0) {
|
||||
config->current_bar->strip_workspace_numbers = false;
|
||||
} else {
|
||||
wlr_log(WLR_DEBUG, "Enabling workspace numbers on bar: %s",
|
||||
config->current_bar->id);
|
||||
} else {
|
||||
return cmd_results_new(CMD_INVALID,
|
||||
"strip_workspace_numbers", "Invalid value %s", argv[0]);
|
||||
}
|
||||
|
||||
return cmd_results_new(CMD_SUCCESS, NULL, NULL);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -99,6 +99,7 @@ struct bar_config *default_bar_config(void) {
|
|||
bar->wrap_scroll = false;
|
||||
bar->separator_symbol = NULL;
|
||||
bar->strip_workspace_numbers = false;
|
||||
bar->strip_workspace_name = false;
|
||||
bar->binding_mode_indicator = true;
|
||||
bar->verbose = false;
|
||||
bar->pid = 0;
|
||||
|
|
|
|||
|
|
@ -559,6 +559,8 @@ json_object *ipc_json_describe_bar_config(struct bar_config *bar) {
|
|||
json_object_new_boolean(bar->workspace_buttons));
|
||||
json_object_object_add(json, "strip_workspace_numbers",
|
||||
json_object_new_boolean(bar->strip_workspace_numbers));
|
||||
json_object_object_add(json, "strip_workspace_name",
|
||||
json_object_new_boolean(bar->strip_workspace_name));
|
||||
json_object_object_add(json, "binding_mode_indicator",
|
||||
json_object_new_boolean(bar->binding_mode_indicator));
|
||||
json_object_object_add(json, "verbose",
|
||||
|
|
|
|||
|
|
@ -114,6 +114,7 @@ sway_sources = files(
|
|||
'commands/bar/separator_symbol.c',
|
||||
'commands/bar/status_command.c',
|
||||
'commands/bar/strip_workspace_numbers.c',
|
||||
'commands/bar/strip_workspace_name.c',
|
||||
'commands/bar/swaybar_command.c',
|
||||
'commands/bar/tray_output.c',
|
||||
'commands/bar/tray_padding.c',
|
||||
|
|
|
|||
|
|
@ -50,6 +50,10 @@ Sway allows configuring swaybar in the sway configuration file.
|
|||
*workspace\_buttons* yes|no
|
||||
Enables or disables workspace buttons on the bar. Default is _yes_.
|
||||
|
||||
*strip\_workspace\_name* yes|no
|
||||
If set to _yes_, then workspace names will be omitted from the workspace
|
||||
button and only the custom number will be shown. Default is _no_.
|
||||
|
||||
*strip\_workspace\_numbers* yes|no
|
||||
If set to _yes_, then workspace numbers will be omitted from the workspace
|
||||
button and only the custom name will be shown. Default is _no_.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue