Implement default border styles (thanks litemotiv).

This commit is contained in:
Fernando Tarlá Cardoso Lemos
2010-12-07 21:32:04 -02:00
committed by Michael Stapelberg
parent 41eb810531
commit a1dd74da5a
6 changed files with 24 additions and 5 deletions

View File

@ -94,6 +94,9 @@ ipc_socket { BEGIN(BIND_AWS_COND); return TOKIPCSOCKET; }
restart_state { BEGIN(BIND_AWS_COND); return TOKRESTARTSTATE; }
new_container { return TOKNEWCONTAINER; }
new_window { return TOKNEWWINDOW; }
normal { return TOK_NORMAL; }
none { return TOK_NONE; }
1pixel { return TOK_1PIXEL; }
focus_follows_mouse { return TOKFOCUSFOLLOWSMOUSE; }
workspace_bar { return TOKWORKSPACEBAR; }
default { /* yylval.number = MODE_DEFAULT; */return TOKCONTAINERMODE; }

View File

@ -225,6 +225,9 @@ void parse_file(const char *f) {
%token TOKMODE "mode"
%token TOKNEWCONTAINER "new_container"
%token TOKNEWWINDOW "new_window"
%token TOK_NORMAL "normal"
%token TOK_NONE "none"
%token TOK_1PIXEL "1pixel"
%token TOKFOCUSFOLLOWSMOUSE "focus_follows_mouse"
%token TOKWORKSPACEBAR "workspace_bar"
%token TOKCONTAINERMODE "default/stacking/tabbed"
@ -411,13 +414,19 @@ new_container:
;
new_window:
TOKNEWWINDOW WHITESPACE WORD
TOKNEWWINDOW WHITESPACE border_style
{
DLOG("new windows should start in mode %s\n", $<string>3);
config.default_border = sstrdup($<string>3);
DLOG("new windows should start with border style %d\n", $<number>3);
config.default_border = $<number>3;
}
;
border_style:
TOK_NORMAL { $<number>$ = BS_NORMAL; }
| TOK_NONE { $<number>$ = BS_NONE; }
| TOK_1PIXEL { $<number>$ = BS_1PIXEL; }
;
bool:
NUMBER
{

View File

@ -35,6 +35,7 @@ Con *con_new(Con *parent) {
TAILQ_INSERT_TAIL(&all_cons, new, all_cons);
new->type = CT_CON;
new->name = strdup("");
new->border_style = config.default_border;
static int cnt = 0;
LOG("opening window %d\n", cnt);
@ -554,6 +555,9 @@ int con_border_style(Con *con) {
if (con->parent->layout == L_STACKED)
return BS_NORMAL;
if (con->parent->layout == L_TABBED && con->border_style != BS_NORMAL)
return con_num_children(con->parent) == 1 ? con->border_style : BS_NORMAL;
return con->border_style;
}

View File

@ -365,6 +365,7 @@ void load_configuration(xcb_connection_t *conn, const char *override_configpath,
INIT_COLOR(config.bar.urgent, "#2f343a", "#900000", "#ffffff");
config.restart_state_path = "~/.i3/_restart.json";
config.default_border = BS_NORMAL;
parse_configuration(override_configpath);