Merge branch 'master' into popup-during-fullscreen

master
Brian Ashworth 6 years ago committed by GitHub
commit 3f328b6276
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -20,6 +20,8 @@ struct cmd_results *bar_cmd_status_command(int argc, char **argv) {
config->current_bar->status_command = new_command;
wlr_log(WLR_DEBUG, "Feeding bar with status command: %s",
config->current_bar->status_command);
} else {
free(new_command);
}
if (config->active && !config->validating) {

@ -21,6 +21,10 @@ struct cmd_results *cmd_opacity(int argc, char **argv) {
struct sway_container *con = config->handler_context.container;
if (con == NULL) {
return cmd_results_new(CMD_FAILURE, "opacity", "No current container");
}
float opacity = 0.0f;
if (!parse_opacity(argv[0], &opacity)) {

@ -9,12 +9,17 @@ struct cmd_results *cmd_swaybg_command(int argc, char **argv) {
return error;
}
if (config->swaybg_command) {
free(config->swaybg_command);
free(config->swaybg_command);
config->swaybg_command = NULL;
char *new_command = join_args(argv, argc);
if (strcmp(new_command, "-") != 0) {
config->swaybg_command = new_command;
wlr_log(WLR_DEBUG, "Using custom swaybg command: %s",
config->swaybg_command);
} else {
free(new_command);
}
config->swaybg_command = join_args(argv, argc);
wlr_log(WLR_DEBUG, "Using custom swaybg command: %s",
config->swaybg_command);
return cmd_results_new(CMD_SUCCESS, NULL, NULL);
}

@ -9,12 +9,17 @@ struct cmd_results *cmd_swaynag_command(int argc, char **argv) {
return error;
}
if (config->swaynag_command) {
free(config->swaynag_command);
free(config->swaynag_command);
config->swaynag_command = NULL;
char *new_command = join_args(argv, argc);
if (strcmp(new_command, "-") != 0) {
config->swaybg_command = new_command;
wlr_log(WLR_DEBUG, "Using custom swaynag command: %s",
config->swaynag_command);
} else {
free(new_command);
}
config->swaynag_command = join_args(argv, argc);
wlr_log(WLR_DEBUG, "Using custom swaynag command: %s",
config->swaynag_command);
return cmd_results_new(CMD_SUCCESS, NULL, NULL);
}

@ -12,6 +12,9 @@ struct cmd_results *cmd_urgent(int argc, char **argv) {
return error;
}
struct sway_container *container = config->handler_context.container;
if (!container) {
return cmd_results_new(CMD_FAILURE, "urgent", "No current container");
}
if (!container->view) {
return cmd_results_new(CMD_INVALID, "urgent",
"Only views can be urgent");

@ -136,6 +136,8 @@ void free_config(struct sway_config *config) {
free(config->floating_scroll_left_cmd);
free(config->floating_scroll_right_cmd);
free(config->font);
free(config->swaybg_command);
free(config->swaynag_command);
free((char *)config->current_config_path);
free((char *)config->current_config);
free(config);
@ -166,7 +168,7 @@ static void set_color(float dest[static 4], uint32_t color) {
}
static void config_defaults(struct sway_config *config) {
config->swaynag_command = strdup("swaynag");
if (!(config->swaynag_command = strdup("swaynag"))) goto cleanup;
config->swaynag_config_errors = (struct swaynag_instance){
.args = "--type error "
"--message 'There are errors in your config file' "
@ -241,6 +243,8 @@ static void config_defaults(struct sway_config *config) {
if (!(config->active_bar_modifiers = create_list())) goto cleanup;
if (!(config->swaybg_command = strdup("swaybg"))) goto cleanup;
if (!(config->config_chain = create_list())) goto cleanup;
config->current_config_path = NULL;
config->current_config = NULL;

@ -229,17 +229,16 @@ void apply_output_config(struct output_config *oc, struct sway_output *output) {
}
}
if (oc && oc->background) {
if (output->bg_pid != 0) {
terminate_swaybg(output->bg_pid);
}
if (output->bg_pid != 0) {
terminate_swaybg(output->bg_pid);
}
if (oc && oc->background && config->swaybg_command) {
wlr_log(WLR_DEBUG, "Setting background for output %d to %s",
output_i, oc->background);
size_t len = snprintf(NULL, 0, "%s %d \"%s\" %s %s",
config->swaybg_command ? config->swaybg_command : "swaybg",
output_i, oc->background, oc->background_option,
config->swaybg_command, output_i, oc->background,
oc->background_option,
oc->background_fallback ? oc->background_fallback : "");
char *command = malloc(len + 1);
if (!command) {
@ -247,8 +246,8 @@ void apply_output_config(struct output_config *oc, struct sway_output *output) {
return;
}
snprintf(command, len + 1, "%s %d \"%s\" %s %s",
config->swaybg_command ? config->swaybg_command : "swaybg",
output_i, oc->background, oc->background_option,
config->swaybg_command, output_i, oc->background,
oc->background_option,
oc->background_fallback ? oc->background_fallback : "");
wlr_log(WLR_DEBUG, "-> %s", command);
@ -260,6 +259,7 @@ void apply_output_config(struct output_config *oc, struct sway_output *output) {
free(command);
}
}
if (oc) {
switch (oc->dpms_state) {
case DPMS_ON:
@ -353,4 +353,3 @@ void create_default_output_configs(void) {
list_add(config->output_configs, oc);
}
}

@ -71,6 +71,9 @@ The following commands may only be used in the configuration file.
Executes custom background _command_. Default is _swaybg_. Refer to
*output* below for more information.
It can be disabled by setting the command to a single dash:
_swaybg\_command -_
*swaynag\_command* <command>
Executes custom command for _swaynag_. Default is _swaynag_. Additional
arguments may be appended to the end. This should only be used to either
@ -78,6 +81,9 @@ The following commands may only be used in the configuration file.
arguments. This should be placed at the top of the config for the best
results.
It can be disabled by setting the command to a single dash:
_swaynag\_command -_
The following commands cannot be used directly in the configuration file.
They are expected to be used with *bindsym* or at runtime through *swaymsg*(1).

@ -11,6 +11,10 @@
bool swaynag_spawn(const char *swaynag_command,
struct swaynag_instance *swaynag) {
if (!swaynag_command) {
return true;
}
if (swaynag->detailed) {
if (pipe(swaynag->fd) != 0) {
wlr_log(WLR_ERROR, "Failed to create pipe for swaynag");
@ -58,6 +62,10 @@ void swaynag_kill(struct swaynag_instance *swaynag) {
void swaynag_log(const char *swaynag_command, struct swaynag_instance *swaynag,
const char *fmt, ...) {
if (!swaynag_command) {
return;
}
if (!swaynag->detailed) {
wlr_log(WLR_ERROR, "Attempting to write to non-detailed swaynag inst");
return;

Loading…
Cancel
Save