commands/opacity: Call output_configure_scene on updated container

Calling container_update() wasn't enough: If there is no visible window
decorations (title bar, borders) container_update would basically no-op
and the scene wouldn't repaint with the update alpha. By also calling
output_configure_scene() we force a call to
wlr_scene_buffer_set_opacity() thus ensuring we update the scene.

Closes: #8580
This commit is contained in:
Alexander Orzechowski 2025-02-18 12:41:22 -05:00 committed by Kenny Levinsen
parent 0da0d37f3d
commit 7fab75a7a6

View file

@ -2,7 +2,8 @@
#include <stdlib.h>
#include <strings.h>
#include "sway/commands.h"
#include "sway/tree/view.h"
#include "sway/tree/container.h"
#include "sway/output.h"
#include "log.h"
struct cmd_results *cmd_opacity(int argc, char **argv) {
@ -37,6 +38,7 @@ struct cmd_results *cmd_opacity(int argc, char **argv) {
}
con->alpha = val;
output_configure_scene(NULL, &con->scene_tree->node, 1);
container_update(con);
return cmd_results_new(CMD_SUCCESS, NULL);