Merge branch 'master' of git://github.com/SirCmpwn/sway into commands-refactor

This commit is contained in:
Zandr Martin 2016-09-02 13:46:19 -05:00
commit 79ffea328c
Failed to generate hash of commit
52 changed files with 163 additions and 174 deletions

View file

@ -28,6 +28,7 @@ Sway is not supported by many distributions yet. Here's a list of packages
available for you to install:
* [Arch Linux](https://github.com/SirCmpwn/sway/wiki/Install-from-packages#arch)
* [Fedora](https://github.com/SirCmpwn/sway/wiki/Install-from-packages#fedora)
* [Gentoo](https://github.com/SirCmpwn/sway/wiki/Install-from-packages#gentoo)
* [NixOS](https://github.com/SirCmpwn/sway/wiki/Install-from-packages#nixos)
* [openSUSE Tumbleweed](https://github.com/SirCmpwn/sway/wiki/Install-from-packages#opensuse)

View file

@ -1,16 +1,13 @@
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <getopt.h>
#include <stdint.h>
#include <sys/un.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <unistd.h>
#include "log.h"
#include "stringop.h"
#include "ipc.h"
#include "readline.h"
#include "ipc-client.h"
#include "readline.h"
#include "log.h"
static const char ipc_magic[] = {'i', '3', '-', 'i', 'p', 'c'};
static const size_t ipc_header_size = sizeof(ipc_magic)+8;

View file

@ -1,17 +1,15 @@
#include "log.h"
#include "sway.h"
#include "readline.h"
#include <errno.h>
#include <libgen.h>
#include <signal.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <libgen.h>
#include <fcntl.h>
#include <unistd.h>
#include <signal.h>
#include <time.h>
#include <errno.h>
#include <string.h>
#include <stringop.h>
#include <time.h>
#include "log.h"
#include "sway.h"
#include "readline.h"
static int colored = 1;
static log_importance_t loglevel_default = L_ERROR;

View file

@ -1,10 +1,13 @@
#include <math.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <string.h>
#include <wlc/wlc.h>
#include <xkbcommon/xkbcommon-names.h>
#include "log.h"
#include "readline.h"
#include "util.h"
#include "log.h"
int wrap(int i, int max) {
return ((i % max) + max) % max;

View file

@ -1,12 +1,12 @@
#include "border.h"
#include <wlc/wlc-render.h>
#include <cairo/cairo.h>
#include <pango/pangocairo.h>
#include <stdlib.h>
#include <stdio.h>
#include <arpa/inet.h>
#include "container.h"
#include "config.h"
#include "sway/border.h"
#include "sway/container.h"
#include "sway/config.h"
#include "client/pango.h"
void cairo_set_source_u32(cairo_t *cairo, uint32_t color) {

View file

@ -16,24 +16,24 @@
#include <limits.h>
#include <float.h>
#include <libinput.h>
#include "sway/layout.h"
#include "sway/focus.h"
#include "sway/workspace.h"
#include "sway/commands.h"
#include "sway/container.h"
#include "sway/output.h"
#include "sway/handlers.h"
#include "sway/resize.h"
#include "sway/input_state.h"
#include "sway/criteria.h"
#include "sway/ipc-server.h"
#include "sway/input.h"
#include "sway/border.h"
#include "stringop.h"
#include "layout.h"
#include "focus.h"
#include "log.h"
#include "util.h"
#include "workspace.h"
#include "commands.h"
#include "container.h"
#include "output.h"
#include "handlers.h"
#include "sway.h"
#include "resize.h"
#include "input_state.h"
#include "criteria.h"
#include "ipc-server.h"
#include "util.h"
#include "list.h"
#include "input.h"
#include "border.h"
#include "log.h"
struct cmd_handler {
char *command;

View file

@ -12,17 +12,17 @@
#include <limits.h>
#include <float.h>
#include "wayland-desktop-shell-server-protocol.h"
#include "sway/commands.h"
#include "sway/config.h"
#include "sway/layout.h"
#include "sway/input_state.h"
#include "sway/criteria.h"
#include "sway/input.h"
#include "sway/border.h"
#include "readline.h"
#include "stringop.h"
#include "list.h"
#include "log.h"
#include "commands.h"
#include "config.h"
#include "layout.h"
#include "input_state.h"
#include "criteria.h"
#include "input.h"
#include "border.h"
struct sway_config *config = NULL;

View file

@ -3,17 +3,17 @@
#include <stdbool.h>
#include <strings.h>
#include <string.h>
#include "config.h"
#include "stringop.h"
#include "container.h"
#include "workspace.h"
#include "focus.h"
#include "border.h"
#include "layout.h"
#include "input_state.h"
#include "sway/config.h"
#include "sway/container.h"
#include "sway/workspace.h"
#include "sway/focus.h"
#include "sway/border.h"
#include "sway/layout.h"
#include "sway/input_state.h"
#include "sway/ipc-server.h"
#include "sway/output.h"
#include "log.h"
#include "ipc-server.h"
#include "output.h"
#include "stringop.h"
#define ASSERT_NONNULL(PTR) \
sway_assert (PTR, #PTR "must be non-null")

View file

@ -2,12 +2,12 @@
#include <stdio.h>
#include <stdbool.h>
#include <regex.h>
#include "criteria.h"
#include "sway/criteria.h"
#include "sway/container.h"
#include "sway/config.h"
#include "stringop.h"
#include "list.h"
#include "log.h"
#include "container.h"
#include "config.h"
enum criteria_type { // *must* keep in sync with criteria_strings[]
CRIT_CLASS,

View file

@ -10,7 +10,7 @@
#include <errno.h>
#include <string.h>
#include <stringop.h>
#include "workspace.h"
#include "sway/workspace.h"
/* XXX:DEBUG:XXX */
static void container_log(const swayc_t *c, int depth) {

View file

@ -4,11 +4,11 @@
#include <wlc/wlc-render.h>
#include "wayland-desktop-shell-server-protocol.h"
#include "wayland-swaylock-server-protocol.h"
#include "layout.h"
#include "sway/layout.h"
#include "sway/input_state.h"
#include "sway/extensions.h"
#include "sway/ipc-server.h"
#include "log.h"
#include "input_state.h"
#include "extensions.h"
#include "ipc-server.h"
struct desktop_shell_state desktop_shell;
@ -119,27 +119,21 @@ static void set_lock_surface(struct wl_client *client, struct wl_resource *resou
if (!swayc_is_child_of(view, workspace)) {
move_container_to(view, workspace);
}
// make the view floating so it doesn't rearrange other
// siblings.
// make the view floating so it doesn't rearrange other siblings.
if (!view->is_floating) {
// Remove view from its current location
destroy_container(remove_child(view));
// and move it into workspace floating
add_floating(workspace, view);
}
wlc_view_set_state(view->handle, WLC_BIT_FULLSCREEN, true);
workspace->fullscreen = view;
ipc_event_window(view, "fullscreen_mode");
wlc_view_bring_to_front(view->handle);
wlc_view_focus(view->handle);
desktop_shell.is_locked = true;
// reset input state
input_init();
// set focus if the lockscreen is spawned on the currently
// active output
arrange_windows(workspace, -1, -1);
swayc_t *focus_output = swayc_active_output();
if (focus_output == output) {
set_focused_container(view);
}
arrange_windows(workspace, -1, -1);
list_add(desktop_shell.lock_surfaces, surface);
wl_resource_set_destructor(surface, lock_surface_destructor);
} else {

View file

@ -1,13 +1,13 @@
#include <wlc/wlc.h>
#include "focus.h"
#include "sway/focus.h"
#include "sway/workspace.h"
#include "sway/layout.h"
#include "sway/config.h"
#include "sway/extensions.h"
#include "sway/input_state.h"
#include "sway/ipc-server.h"
#include "sway/border.h"
#include "log.h"
#include "workspace.h"
#include "layout.h"
#include "config.h"
#include "input_state.h"
#include "ipc-server.h"
#include "border.h"
bool locked_container_focus = false;
bool suspend_workspace_cleanup = false;
@ -89,7 +89,6 @@ swayc_t *get_focused_container(swayc_t *parent) {
if (!parent) {
return swayc_active_workspace();
}
// get focused container
while (!parent->is_focused && parent->focused) {
parent = parent->focused;
}
@ -133,24 +132,24 @@ bool set_focused_container(swayc_t *c) {
p->is_focused = false;
}
// get new focused view and set focus to it.
if (!(wlc_view_get_type(p->handle) & WLC_BIT_POPUP)) {
// unactivate previous focus
if (focused->type == C_VIEW) {
wlc_view_set_state(focused->handle, WLC_BIT_ACTIVATED, false);
}
update_container_border(focused);
// activate current focus
if (c->type == C_VIEW) {
wlc_view_set_state(c->handle, WLC_BIT_ACTIVATED, true);
}
// set focus
if (!desktop_shell.is_locked) {
// If the system is locked, we do everything _but_ actually setting
// focus. This includes making our internals think that this view is
// focused.
wlc_view_focus(c->handle);
}
if (c->parent->layout != L_TABBED && c->parent->layout != L_STACKED) {
update_container_border(c);
}
// rearrange if parent container is tabbed/stacked
swayc_t *parent = swayc_tabbed_stacked_ancestor(c);
if (parent != NULL) {
arrange_backgrounds();
@ -175,7 +174,6 @@ bool set_focused_container_for(swayc_t *a, swayc_t *c) {
return false;
}
swayc_t *find = c;
// Ensure that a is an ancestor of c
while (find != a && (find = find->parent)) {
if (find == &root_container) {
return false;

View file

@ -7,25 +7,24 @@
#include <wlc/wlc-render.h>
#include <wlc/wlc-wayland.h>
#include <ctype.h>
#include "handlers.h"
#include "border.h"
#include "log.h"
#include "layout.h"
#include "config.h"
#include "commands.h"
#include "stringop.h"
#include "workspace.h"
#include "container.h"
#include "output.h"
#include "focus.h"
#include "input_state.h"
#include "resize.h"
#include "extensions.h"
#include "criteria.h"
#include "ipc-server.h"
#include "sway/handlers.h"
#include "sway/border.h"
#include "sway/layout.h"
#include "sway/config.h"
#include "sway/commands.h"
#include "sway/workspace.h"
#include "sway/container.h"
#include "sway/output.h"
#include "sway/focus.h"
#include "sway/input_state.h"
#include "sway/resize.h"
#include "sway/extensions.h"
#include "sway/criteria.h"
#include "sway/ipc-server.h"
#include "sway/input.h"
#include "list.h"
#include "input.h"
#include "stringop.h"
#include "log.h"
// Event should be sent to client
#define EVENT_PASSTHROUGH false

View file

@ -4,8 +4,8 @@
#include <stdio.h>
#include <string.h>
#include <libinput.h>
#include "config.h"
#include "input.h"
#include "sway/config.h"
#include "sway/input.h"
#include "list.h"
#include "log.h"

View file

@ -1,10 +1,9 @@
#include <string.h>
#include <stdbool.h>
#include <ctype.h>
#include "sway/input_state.h"
#include "sway/config.h"
#include "log.h"
#include "config.h"
#include "input_state.h"
#define KEY_STATE_MAX_LENGTH 64

View file

@ -2,9 +2,9 @@
#include <ctype.h>
#include <string.h>
#include <stdint.h>
#include "container.h"
#include "sway/container.h"
#include "sway/ipc-json.h"
#include "util.h"
#include "ipc-json.h"
static json_object *ipc_json_create_rect(swayc_t *c) {
json_object *rect = json_object_new_object();

View file

@ -13,15 +13,15 @@
#include <json-c/json.h>
#include <list.h>
#include <libinput.h>
#include "ipc-json.h"
#include "ipc-server.h"
#include "log.h"
#include "config.h"
#include "commands.h"
#include "list.h"
#include "sway/ipc-json.h"
#include "sway/ipc-server.h"
#include "sway/config.h"
#include "sway/commands.h"
#include "sway/input.h"
#include "stringop.h"
#include "log.h"
#include "list.h"
#include "util.h"
#include "input.h"
static int ipc_socket = -1;
static struct wlc_event_source *ipc_event_source = NULL;

View file

@ -2,17 +2,17 @@
#include <stdbool.h>
#include <math.h>
#include <wlc/wlc.h>
#include "extensions.h"
#include "log.h"
#include "sway/extensions.h"
#include "sway/config.h"
#include "sway/container.h"
#include "sway/workspace.h"
#include "sway/focus.h"
#include "sway/output.h"
#include "sway/ipc-server.h"
#include "sway/border.h"
#include "sway/layout.h"
#include "list.h"
#include "config.h"
#include "container.h"
#include "workspace.h"
#include "focus.h"
#include "output.h"
#include "ipc-server.h"
#include "border.h"
#include "layout.h"
#include "log.h"
swayc_t root_container;
list_t *scratchpad;
@ -575,7 +575,7 @@ void update_geometry(swayc_t *container) {
// handle hide_edge_borders
if (config->hide_edge_borders != E_NONE && (gap <= 0 || (config->smart_gaps && workspace->children->length == 1))) {
if (config->hide_edge_borders == E_HORIZONTAL || config->hide_edge_borders == E_BOTH) {
if (config->hide_edge_borders == E_VERTICAL || config->hide_edge_borders == E_BOTH) {
if (geometry.origin.x == workspace->x) {
border_left = 0;
}
@ -585,7 +585,7 @@ void update_geometry(swayc_t *container) {
}
}
if (config->hide_edge_borders == E_VERTICAL || config->hide_edge_borders == E_BOTH) {
if (config->hide_edge_borders == E_HORIZONTAL || config->hide_edge_borders == E_BOTH) {
if (geometry.origin.y == workspace->y || should_hide_top_border(container, geometry.origin.y)) {
border_top = 0;
}

View file

@ -8,17 +8,17 @@
#include <signal.h>
#include <unistd.h>
#include <getopt.h>
#include "extensions.h"
#include "layout.h"
#include "stringop.h"
#include "config.h"
#include "log.h"
#include "readline.h"
#include "handlers.h"
#include "sway/extensions.h"
#include "sway/layout.h"
#include "sway/config.h"
#include "sway/handlers.h"
#include "sway/input.h"
#include "sway/ipc-server.h"
#include "ipc-client.h"
#include "ipc-server.h"
#include "input.h"
#include "readline.h"
#include "stringop.h"
#include "sway.h"
#include "log.h"
static bool terminate_request = false;
static int exit_value = 0;

View file

@ -1,7 +1,7 @@
#include <strings.h>
#include <ctype.h>
#include <stdlib.h>
#include "output.h"
#include "sway/output.h"
#include "log.h"
#include "list.h"

View file

@ -1,11 +1,11 @@
#include <wlc/wlc.h>
#include <math.h>
#include "layout.h"
#include "focus.h"
#include "sway/layout.h"
#include "sway/focus.h"
#include "sway/input_state.h"
#include "sway/handlers.h"
#include "sway/resize.h"
#include "log.h"
#include "input_state.h"
#include "handlers.h"
#include "resize.h"
static bool set_size_floating(int new_dimension, bool use_width) {
swayc_t *view = get_focused_float(swayc_active_workspace());

View file

@ -40,6 +40,9 @@ The following commands may only be used in the configuration file.
Sets variable $name to _value_. You can use the new variable in the arguments
of future commands.
**orientation** <horizontal|vertical|auto>::
Sets the default container layout for tiled containers.
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).

View file

@ -6,18 +6,18 @@
#include <string.h>
#include <strings.h>
#include <sys/types.h>
#include "ipc-server.h"
#include "extensions.h"
#include "workspace.h"
#include "layout.h"
#include "sway/ipc-server.h"
#include "sway/extensions.h"
#include "sway/workspace.h"
#include "sway/layout.h"
#include "sway/container.h"
#include "sway/handlers.h"
#include "sway/config.h"
#include "sway/focus.h"
#include "stringop.h"
#include "util.h"
#include "list.h"
#include "log.h"
#include "container.h"
#include "handlers.h"
#include "config.h"
#include "stringop.h"
#include "focus.h"
#include "util.h"
#include "ipc.h"
char *prev_workspace_name = NULL;

View file

@ -5,15 +5,14 @@
#include <errno.h>
#include <sys/wait.h>
#include <poll.h>
#include "swaybar/ipc.h"
#include "swaybar/render.h"
#include "swaybar/config.h"
#include "swaybar/status_line.h"
#include "swaybar/bar.h"
#include "ipc-client.h"
#include "list.h"
#include "log.h"
#include "bar/ipc.h"
#include "bar/render.h"
#include "bar/config.h"
#include "bar/status_line.h"
#include "bar/bar.h"
static void bar_init(struct bar *bar) {
bar->config = init_config();

View file

@ -3,7 +3,7 @@
#include "wayland-desktop-shell-client-protocol.h"
#include "log.h"
#include "bar/config.h"
#include "swaybar/config.h"
uint32_t parse_position(const char *position) {
if (strcmp("top", position) == 0) {

View file

@ -1,11 +1,10 @@
#include <string.h>
#include <json-c/json.h>
#include "swaybar/config.h"
#include "swaybar/ipc.h"
#include "ipc-client.h"
#include "list.h"
#include "log.h"
#include "bar/config.h"
#include "bar/ipc.h"
void ipc_send_workspace_command(const char *workspace_name) {
uint32_t size = strlen("workspace ") + strlen(workspace_name) + 1;

View file

@ -3,9 +3,9 @@
#include <string.h>
#include <stdbool.h>
#include <getopt.h>
#include "swaybar/bar.h"
#include "ipc-client.h"
#include "log.h"
#include "bar/bar.h"
/* global bar state */
struct bar swaybar;

View file

@ -5,9 +5,9 @@
#include "client/cairo.h"
#include "client/pango.h"
#include "client/window.h"
#include "bar/config.h"
#include "bar/status_line.h"
#include "bar/render.h"
#include "swaybar/config.h"
#include "swaybar/status_line.h"
#include "swaybar/render.h"
/* internal spacing */

View file

@ -3,9 +3,9 @@
#include <unistd.h>
#include <json-c/json.h>
#include "swaybar/config.h"
#include "swaybar/status_line.h"
#include "log.h"
#include "bar/config.h"
#include "bar/status_line.h"
#include "util.h"
#define I3JSON_MAXDEPTH 4

View file

@ -12,13 +12,12 @@
#include <signal.h>
#include <stdbool.h>
#include <unistd.h>
#include "client/window.h"
#include "client/registry.h"
#include "client/cairo.h"
#include "swaylock/swaylock.h"
#include "ipc-client.h"
#include "log.h"
#include "lock/lock.h"
struct registry *registry;
struct render_data render_data;