mirror of
https://github.com/swaywm/sway.git
synced 2025-11-08 13:29:50 -05:00
Merge remote-tracking branch 'origin/wlroots' into swaybar-layers
This commit is contained in:
commit
f26ecd9f58
39 changed files with 618 additions and 589 deletions
|
|
@ -6,8 +6,8 @@
|
|||
#include <unistd.h>
|
||||
#include "sway/commands.h"
|
||||
#include "sway/config.h"
|
||||
#include "sway/container.h"
|
||||
#include "sway/workspace.h"
|
||||
#include "sway/tree/container.h"
|
||||
#include "sway/tree/workspace.h"
|
||||
#include "log.h"
|
||||
#include "stringop.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -3,10 +3,11 @@
|
|||
#include "log.h"
|
||||
#include "sway/input/input-manager.h"
|
||||
#include "sway/input/seat.h"
|
||||
#include "sway/view.h"
|
||||
#include "sway/tree/view.h"
|
||||
#include "sway/commands.h"
|
||||
|
||||
static bool parse_movement_direction(const char *name, enum movement_direction *out) {
|
||||
static bool parse_movement_direction(const char *name,
|
||||
enum movement_direction *out) {
|
||||
if (strcasecmp(name, "left") == 0) {
|
||||
*out = MOVE_LEFT;
|
||||
} else if (strcasecmp(name, "right") == 0) {
|
||||
|
|
@ -31,7 +32,7 @@ static bool parse_movement_direction(const char *name, enum movement_direction *
|
|||
}
|
||||
|
||||
struct cmd_results *cmd_focus(int argc, char **argv) {
|
||||
swayc_t *con = config->handler_context.current_container;
|
||||
struct sway_container *con = config->handler_context.current_container;
|
||||
struct sway_seat *seat = config->handler_context.seat;
|
||||
if (con->type < C_WORKSPACE) {
|
||||
return cmd_results_new(CMD_FAILURE, "focus",
|
||||
|
|
@ -50,7 +51,7 @@ struct cmd_results *cmd_focus(int argc, char **argv) {
|
|||
"Expected 'focus <direction|parent|child|mode_toggle>' or 'focus output <direction|name>'");
|
||||
}
|
||||
|
||||
swayc_t *next_focus = get_swayc_in_direction(con, seat, direction);
|
||||
struct sway_container *next_focus = container_get_in_direction(con, seat, direction);
|
||||
if (next_focus) {
|
||||
sway_seat_set_focus(seat, next_focus);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@
|
|||
#include "log.h"
|
||||
#include "sway/input/input-manager.h"
|
||||
#include "sway/input/seat.h"
|
||||
#include "sway/view.h"
|
||||
#include "sway/tree/view.h"
|
||||
#include "sway/commands.h"
|
||||
|
||||
struct cmd_results *cmd_kill(int argc, char **argv) {
|
||||
enum swayc_types type = config->handler_context.current_container->type;
|
||||
enum sway_container_type type = config->handler_context.current_container->type;
|
||||
if (type != C_VIEW && type != C_CONTAINER) {
|
||||
return cmd_results_new(CMD_INVALID, NULL,
|
||||
"Can only kill views and containers with this command");
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
#include <string.h>
|
||||
#include <strings.h>
|
||||
#include "sway/commands.h"
|
||||
#include "sway/container.h"
|
||||
#include "sway/layout.h"
|
||||
#include "sway/tree/container.h"
|
||||
#include "sway/tree/layout.h"
|
||||
#include "log.h"
|
||||
|
||||
struct cmd_results *cmd_layout(int argc, char **argv) {
|
||||
|
|
@ -10,7 +10,7 @@ struct cmd_results *cmd_layout(int argc, char **argv) {
|
|||
if ((error = checkarg(argc, "layout", EXPECTED_MORE_THAN, 0))) {
|
||||
return error;
|
||||
}
|
||||
swayc_t *parent = config->handler_context.current_container;
|
||||
struct sway_container *parent = config->handler_context.current_container;
|
||||
|
||||
// TODO: floating
|
||||
/*
|
||||
|
|
@ -26,10 +26,10 @@ struct cmd_results *cmd_layout(int argc, char **argv) {
|
|||
// TODO: stacks and tabs
|
||||
|
||||
if (strcasecmp(argv[0], "default") == 0) {
|
||||
swayc_change_layout(parent, parent->prev_layout);
|
||||
container_set_layout(parent, parent->prev_layout);
|
||||
if (parent->layout == L_NONE) {
|
||||
swayc_t *output = swayc_parent_by_type(parent, C_OUTPUT);
|
||||
swayc_change_layout(parent, default_layout(output));
|
||||
struct sway_container *output = container_parent(parent, C_OUTPUT);
|
||||
container_set_layout(parent, container_get_default_layout(output));
|
||||
}
|
||||
} else {
|
||||
if (parent->layout != L_TABBED && parent->layout != L_STACKED) {
|
||||
|
|
@ -37,15 +37,15 @@ struct cmd_results *cmd_layout(int argc, char **argv) {
|
|||
}
|
||||
|
||||
if (strcasecmp(argv[0], "splith") == 0) {
|
||||
swayc_change_layout(parent, L_HORIZ);
|
||||
container_set_layout(parent, L_HORIZ);
|
||||
} else if (strcasecmp(argv[0], "splitv") == 0) {
|
||||
swayc_change_layout(parent, L_VERT);
|
||||
container_set_layout(parent, L_VERT);
|
||||
} else if (strcasecmp(argv[0], "toggle") == 0 && argc == 2 && strcasecmp(argv[1], "split") == 0) {
|
||||
if (parent->layout == L_HORIZ && (parent->workspace_layout == L_NONE
|
||||
|| parent->workspace_layout == L_HORIZ)) {
|
||||
swayc_change_layout(parent, L_VERT);
|
||||
container_set_layout(parent, L_VERT);
|
||||
} else {
|
||||
swayc_change_layout(parent, L_HORIZ);
|
||||
container_set_layout(parent, L_HORIZ);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -296,7 +296,7 @@ struct cmd_results *cmd_output(int argc, char **argv) {
|
|||
char identifier[128];
|
||||
bool all = strcmp(output->name, "*") == 0;
|
||||
for (int i = 0; i < root_container.children->length; ++i) {
|
||||
swayc_t *cont = root_container.children->items[i];
|
||||
struct sway_container *cont = root_container.children->items[i];
|
||||
if (cont->type != C_OUTPUT) {
|
||||
continue;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#include "sway/commands.h"
|
||||
#include "sway/config.h"
|
||||
#include "sway/layout.h"
|
||||
#include "sway/tree/layout.h"
|
||||
|
||||
struct cmd_results *cmd_reload(int argc, char **argv) {
|
||||
struct cmd_results *error = NULL;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
#include "sway/commands.h"
|
||||
#include "sway/config.h"
|
||||
#include "sway/input/seat.h"
|
||||
#include "sway/workspace.h"
|
||||
#include "sway/tree/workspace.h"
|
||||
#include "list.h"
|
||||
#include "log.h"
|
||||
#include "stringop.h"
|
||||
|
|
@ -17,15 +17,15 @@ struct cmd_results *cmd_workspace(int argc, char **argv) {
|
|||
|
||||
int output_location = -1;
|
||||
|
||||
swayc_t *current_container = config->handler_context.current_container;
|
||||
swayc_t *old_workspace = NULL, *old_output = NULL;
|
||||
struct sway_container *current_container = config->handler_context.current_container;
|
||||
struct sway_container *old_workspace = NULL, *old_output = NULL;
|
||||
if (current_container) {
|
||||
if (current_container->type == C_WORKSPACE) {
|
||||
old_workspace = current_container;
|
||||
} else {
|
||||
old_workspace = swayc_parent_by_type(current_container, C_WORKSPACE);
|
||||
old_workspace = container_parent(current_container, C_WORKSPACE);
|
||||
}
|
||||
old_output = swayc_parent_by_type(current_container, C_OUTPUT);
|
||||
old_output = container_parent(current_container, C_OUTPUT);
|
||||
}
|
||||
|
||||
for (int i = 0; i < argc; ++i) {
|
||||
|
|
@ -57,7 +57,7 @@ struct cmd_results *cmd_workspace(int argc, char **argv) {
|
|||
if (config->reading || !config->active) {
|
||||
return cmd_results_new(CMD_DEFER, "workspace", NULL);
|
||||
}
|
||||
swayc_t *ws = NULL;
|
||||
struct sway_container *ws = NULL;
|
||||
if (strcasecmp(argv[0], "number") == 0) {
|
||||
if (!(ws = workspace_by_number(argv[1]))) {
|
||||
char *name = join_args(argv + 1, argc - 1);
|
||||
|
|
@ -92,7 +92,7 @@ struct cmd_results *cmd_workspace(int argc, char **argv) {
|
|||
workspace_switch(ws);
|
||||
current_container =
|
||||
sway_seat_get_focus(config->handler_context.seat);
|
||||
swayc_t *new_output = swayc_parent_by_type(current_container, C_OUTPUT);
|
||||
struct sway_container *new_output = container_parent(current_container, C_OUTPUT);
|
||||
|
||||
if (config->mouse_warping && old_output != new_output) {
|
||||
// TODO: Warp mouse
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue