Merge branch 'remove-deprecated-things'

This commit is contained in:
Daniel Eklöf 2020-12-09 20:53:05 +01:00
commit 3e25faeae7
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
6 changed files with 11 additions and 116 deletions

View file

@ -104,6 +104,13 @@ means foot can be PGO:d in e.g. sandboxed build scripts. See
### Deprecated
### Removed
* Support for loading configuration from `$XDG_CONFIG_HOME/footrc`.
* **scrollback** option from `foot.ini`.
* **geometry** option from `foot.ini`.
* Key binding action **scrollback-up** and **scrollback-down**.
### Fixed
* Error when re-assigning a default key binding

View file

@ -2,7 +2,7 @@
_arguments \
-s -S -C \
'(-c --config)'{-c,--config}'[path to configuration file (XDG_CONFIG_HOME/footrc)]:config:_files' \
'(-c --config)'{-c,--config}'[path to configuration file (XDG_CONFIG_HOME/foot/foot.ini)]:config:_files' \
'(-C --check-config)'{-C,--check-config}'[verify configuration and exit with 0 if ok, otherwise exit with 1]' \
'(-f --font)'{-f,--font}'[font name and style in fontconfig format (monospace)]:font:->fonts' \
'(-t --term)'{-t,--term}'[value to set the environment variable TERM to (foot)]:term:->terms' \

112
config.c
View file

@ -55,11 +55,9 @@ static const uint32_t default_bright[] = {
static const char *const binding_action_map[] = {
[BIND_ACTION_NONE] = NULL,
[BIND_ACTION_SCROLLBACK_UP] = "scrollback-up",
[BIND_ACTION_SCROLLBACK_UP_PAGE] = "scrollback-up-page",
[BIND_ACTION_SCROLLBACK_UP_HALF_PAGE] = "scrollback-up-half-page",
[BIND_ACTION_SCROLLBACK_UP_LINE] = "scrollback-up-line",
[BIND_ACTION_SCROLLBACK_DOWN] = "scrollback-down",
[BIND_ACTION_SCROLLBACK_DOWN_PAGE] = "scrollback-down-page",
[BIND_ACTION_SCROLLBACK_DOWN_HALF_PAGE] = "scrollback-down-half-page",
[BIND_ACTION_SCROLLBACK_DOWN_LINE] = "scrollback-down-line",
@ -272,7 +270,6 @@ static struct config_file
open_config(struct config *conf)
{
struct config_file ret = {.path = NULL, .fd = -1};
bool log_deprecation = false;
path_components_t components = tll_init();
@ -311,12 +308,6 @@ open_config(struct config *conf)
}
}
/* Next try footrc */
if (tll_length(components) > 0 && try_open_file(&components, "footrc")) {
log_deprecation = true;
goto done;
}
/* Finally, try foot/foot.ini in all XDG_CONFIG_DIRS */
const char *xdg_config_dirs = getenv("XDG_CONFIG_DIRS");
xdg_config_dirs_copy = xdg_config_dirs != NULL
@ -357,23 +348,6 @@ out:
done:
assert(tll_length(components) > 0);
ret = path_components_to_config_file(&components);
if (log_deprecation && ret.path != NULL) {
LOG_WARN("deprecated: configuration in $XDG_CONFIG_HOME/footrc, "
"use $XDG_CONFIG_HOME/foot/foot.ini instead");
char *text = xstrdup(
"configuration in \033[31m$XDG_CONFIG_HOME/footrc\033[39m or "
"\033[31m~/.config/footrc\033[39m, "
"use \033[32m$XDG_CONFIG_HOME/foot/foot.ini\033[39m or "
"\033[32m~/.config/foot/foot.ini\033[39m instead");
struct user_notification deprecation = {
.kind = USER_NOTIFICATION_DEPRECATED,
.text = text,
};
tll_push_back(conf->notifications, deprecation);
}
goto out;
}
@ -460,22 +434,7 @@ parse_section_main(const char *key, const char *value, struct config *conf,
conf->app_id = xstrdup(value);
}
else if (strcmp(key, "initial-window-size-pixels") == 0 ||
strcmp(key, "geometry") == 0 /* deprecated */)
{
if (strcmp(key, "geometry") == 0) {
LOG_WARN("deprecated: %s:%d: [default]: geometry: use 'initial-window-size-pixels' instead'", path, lineno);
const char fmt[] = "%s:%d: \033[1mgeometry\033[21m, use \033[1minitial-window-size-pixels\033[21m instead";
char *text = xasprintf(fmt, path, lineno);
struct user_notification deprecation = {
.kind = USER_NOTIFICATION_DEPRECATED,
.text = text,
};
tll_push_back(conf->notifications, deprecation);
}
else if (strcmp(key, "initial-window-size-pixels") == 0) {
unsigned width, height;
if (sscanf(value, "%ux%u", &width, &height) != 2 || width == 0 || height == 0) {
LOG_AND_NOTIFY_ERR(
@ -607,28 +566,6 @@ parse_section_main(const char *key, const char *value, struct config *conf,
mbstowcs(conf->word_delimiters, value, chars + 1);
}
else if (strcmp(key, "scrollback") == 0) {
LOG_WARN("deprecated: %s:%d: [default]: scrollback: use 'scrollback.lines' instead'", path, lineno);
const char fmt[] = "%s:%d: \033[1mdefault.scrollback\033[21m, use \033[1mscrollback.lines\033[21m instead";
char *text = xasprintf(fmt, path, lineno);
struct user_notification deprecation = {
.kind = USER_NOTIFICATION_DEPRECATED,
.text = text,
};
tll_push_back(conf->notifications, deprecation);
unsigned long lines;
if (!str_to_ulong(value, 10, &lines)) {
LOG_AND_NOTIFY_ERR(
"%s:%d: [default]: scrollback: expected an integer, got '%s'",
path, lineno, value);
return false;
}
conf->scrollback.lines = lines;
}
else {
LOG_AND_NOTIFY_ERR("%s:%u: [default]: %s: invalid key", path, lineno, key);
return false;
@ -1112,43 +1049,6 @@ argv_compare(char *const *argv1, char *const *argv2)
return 1;
}
static void
maybe_deprecated_key_binding(struct config *conf,
const char *section,
enum bind_action_normal action,
const char *path, unsigned lineno)
{
enum bind_action_normal replacement = BIND_ACTION_NONE;
switch (action) {
case BIND_ACTION_SCROLLBACK_UP:
replacement = BIND_ACTION_SCROLLBACK_UP_PAGE;
break;
case BIND_ACTION_SCROLLBACK_DOWN:
replacement = BIND_ACTION_SCROLLBACK_DOWN_PAGE;
break;
default:
return;
}
LOG_WARN("deprecated: %s:%d: [%s]: key binding %s, use %s instead",
path, lineno, section,
binding_action_map[action], binding_action_map[replacement]);
const char fmt[] = "%s:%d: [%s]: \033[1m%s\033[21m, use \033[1m%s\033[21m instead";
char *text = xasprintf(
fmt, path, lineno, section,
binding_action_map[action], binding_action_map[replacement]);
struct user_notification deprecation = {
.kind = USER_NOTIFICATION_DEPRECATED,
.text = text,
};
tll_push_back(conf->notifications, deprecation);
}
/*
* Parses a key binding value on the form
* "[cmd-to-exec arg1 arg2] Mods+Key"
@ -1232,9 +1132,6 @@ parse_section_key_bindings(
if (strcmp(key, binding_action_map[action]) != 0)
continue;
maybe_deprecated_key_binding(
conf, "key-bindings", action, path, lineno);
/* Unset binding */
if (strcasecmp(value, "none") == 0) {
tll_foreach(conf->bindings.key, it) {
@ -1526,9 +1423,6 @@ parse_section_mouse_bindings(
if (strcmp(key, binding_action_map[action]) != 0)
continue;
maybe_deprecated_key_binding(
conf, "mouse-bindings", action, path, lineno);
/* Unset binding */
if (strcasecmp(value, "none") == 0) {
tll_foreach(conf->bindings.mouse, it) {
@ -1920,8 +1814,8 @@ add_default_key_bindings(struct config *conf)
const struct config_key_modifiers ctrl = {.ctrl = true};
const struct config_key_modifiers ctrl_shift = {.ctrl = true, .shift = true};
add_binding(BIND_ACTION_SCROLLBACK_UP, shift, XKB_KEY_Page_Up);
add_binding(BIND_ACTION_SCROLLBACK_DOWN, shift, XKB_KEY_Page_Down);
add_binding(BIND_ACTION_SCROLLBACK_UP_PAGE, shift, XKB_KEY_Page_Up);
add_binding(BIND_ACTION_SCROLLBACK_DOWN_PAGE, shift, XKB_KEY_Page_Down);
add_binding(BIND_ACTION_CLIPBOARD_COPY, ctrl_shift, XKB_KEY_C);
add_binding(BIND_ACTION_CLIPBOARD_PASTE, ctrl_shift, XKB_KEY_V);
add_binding(BIND_ACTION_PRIMARY_PASTE, shift, XKB_KEY_Insert);

View file

@ -14,8 +14,6 @@ in this order:
- *XDG_CONFIG_HOME/foot/foot.ini*
- *~/.config/foot/foot.ini*
- *XDG_CONFIG_HOME/footrc*
- *~/.config/footrc*
- *XDG_CONFIG_DIRS/foot/foot.ini*
# SECTION: default

View file

@ -87,7 +87,6 @@ execute_binding(struct seat *seat, struct terminal *term,
case BIND_ACTION_NONE:
return true;
case BIND_ACTION_SCROLLBACK_UP:
case BIND_ACTION_SCROLLBACK_UP_PAGE:
cmd_scrollback_up(term, term->rows);
return true;
@ -100,7 +99,6 @@ execute_binding(struct seat *seat, struct terminal *term,
cmd_scrollback_up(term, 1);
return true;
case BIND_ACTION_SCROLLBACK_DOWN:
case BIND_ACTION_SCROLLBACK_DOWN_PAGE:
cmd_scrollback_down(term, term->rows);
return true;

View file

@ -29,11 +29,9 @@ typedef tll(struct key_binding) key_binding_list_t;
enum bind_action_normal {
BIND_ACTION_NONE,
BIND_ACTION_SCROLLBACK_UP, /* Deprecated, alias for UP_PAGE */
BIND_ACTION_SCROLLBACK_UP_PAGE,
BIND_ACTION_SCROLLBACK_UP_HALF_PAGE,
BIND_ACTION_SCROLLBACK_UP_LINE,
BIND_ACTION_SCROLLBACK_DOWN, /* Deprecated, alias for DOWN_PAGE */
BIND_ACTION_SCROLLBACK_DOWN_PAGE,
BIND_ACTION_SCROLLBACK_DOWN_HALF_PAGE,
BIND_ACTION_SCROLLBACK_DOWN_LINE,