mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-05 04:06:08 -05:00
Merge branch 'remove-deprecated-things'
This commit is contained in:
commit
3e25faeae7
6 changed files with 11 additions and 116 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
112
config.c
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
2
input.c
2
input.c
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue