sway/include/config.h
S. Christoffer Eliesen abc5fbfaec Learn "gaps edge_gaps <on|off|toggle>".
When yes, the old behaviour of adding half the inner gap around each
view is used.

When no, don't add any gap when an edge of the view aligns with the
workspace. The result is inner gap only between views, not against the
workspace edge.

The algorithm is not perfect because it means the extra space is
distributed amongst edge-aligned views only, but it's simple, looks good
and it works.
2015-11-04 13:21:10 +01:00

74 lines
1.3 KiB
C

#ifndef _SWAY_CONFIG_H
#define _SWAY_CONFIG_H
#include <stdint.h>
#include <wlc/wlc.h>
#include <xkbcommon/xkbcommon.h>
#include "list.h"
#include "layout.h"
#include "container.h"
struct sway_variable {
char *name;
char *value;
};
struct sway_binding {
list_t *keys;
uint32_t modifiers;
char *command;
};
struct sway_mode {
char *name;
list_t *bindings;
};
struct output_config {
char *name;
bool enabled;
int width, height;
int x, y;
};
struct workspace_output {
char *output;
char *workspace;
};
struct sway_config {
list_t *symbols;
list_t *modes;
list_t *cmd_queue;
list_t *workspace_outputs;
list_t *output_configs;
struct sway_mode *current_mode;
uint32_t floating_mod;
enum swayc_layouts default_orientation;
enum swayc_layouts default_layout;
// Flags
bool focus_follows_mouse;
bool mouse_warping;
bool active;
bool failed;
bool reloading;
bool reading;
bool auto_back_and_forth;
bool seamless_mouse;
bool edge_gaps;
int gaps_inner;
int gaps_outer;
};
bool load_config(const char *file);
bool read_config(FILE *file, bool is_active);
char *do_var_replacement(char *str);
// Setup output container by applying given config
void apply_output_config(struct output_config *oc, swayc_t *output);
extern struct sway_config *config;
#endif