aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sway/commands.c14
-rw-r--r--sway/layout.c4
-rw-r--r--sway/log.c3
3 files changed, 20 insertions, 1 deletions
diff --git a/sway/commands.c b/sway/commands.c
index 725eaf15..b7794087 100644
--- a/sway/commands.c
+++ b/sway/commands.c
@@ -217,6 +217,19 @@ int cmd_log_colors(struct sway_config *config, int argc, char **argv) {
return 0;
}
+int cmd_fullscreen(struct sway_config *config, int argc, char **argv) {
+ if (argc != 1) {
+ sway_log(L_ERROR, "Invalid fullscreen command (expected 1 arguments, got %d)", argc);
+ return 1;
+ }
+
+ swayc_t *container = get_focused_container(&root_container);
+ wlc_view_set_state(container->handle, WLC_BIT_FULLSCREEN, true);
+ arrange_windows(container, -1, -1);
+
+ return 1;
+}
+
/* Keep alphabetized */
struct cmd_handler handlers[] = {
{ "bindsym", cmd_bindsym },
@@ -224,6 +237,7 @@ struct cmd_handler handlers[] = {
{ "exit", cmd_exit },
{ "focus", cmd_focus },
{ "focus_follows_mouse", cmd_focus_follows_mouse },
+ { "fullscreen", cmd_fullscreen },
{ "layout", cmd_layout },
{ "log_colors", cmd_log_colors },
{ "set", cmd_set },
diff --git a/sway/layout.c b/sway/layout.c
index b320e8ad..7dbe686a 100644
--- a/sway/layout.c
+++ b/sway/layout.c
@@ -42,6 +42,10 @@ void arrange_windows(swayc_t *container, int width, int height) {
return;
case C_VIEW:
sway_log(L_DEBUG, "Setting view to %d x %d @ %d, %d", width, height, container->x, container->y);
+ // If the view is fullscreen, we need to tell wlc to draw it as such
+ if (wlc_view_get_state(container->handle) & WLC_BIT_FULLSCREEN > 0) {
+ sway_log(L_DEBUG, "window is fullscreen!");
+ }
struct wlc_geometry geometry = {
.origin = {
.x = container->x,
diff --git a/sway/log.c b/sway/log.c
index 7a88b6d1..f439e3b2 100644
--- a/sway/log.c
+++ b/sway/log.c
@@ -48,7 +48,8 @@ void sway_log(int verbosity, char* format, ...) {
va_end(args);
if (colored) {
- fprintf(stderr, "\x1B[0m\n");
+ fprintf(stderr, "\x1B[0m");
}
+ fprintf(stderr, "\n");
}
}