mirror of
https://github.com/yshui/picom.git
synced 2024-11-11 13:51:02 -05:00
Convert printf_* from config.c and config_libconfig.c
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
This commit is contained in:
parent
d8198926dc
commit
a6fef8e8fb
2 changed files with 53 additions and 44 deletions
38
src/config.c
38
src/config.c
|
@ -22,13 +22,13 @@ parse_long(const char *s, long *dest) {
|
||||||
const char *endptr = NULL;
|
const char *endptr = NULL;
|
||||||
long val = strtol(s, (char **) &endptr, 0);
|
long val = strtol(s, (char **) &endptr, 0);
|
||||||
if (!endptr || endptr == s) {
|
if (!endptr || endptr == s) {
|
||||||
printf_errf("(\"%s\"): Invalid number.", s);
|
log_error("Invalid number: %s", s);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
while (isspace(*endptr))
|
while (isspace(*endptr))
|
||||||
++endptr;
|
++endptr;
|
||||||
if (*endptr) {
|
if (*endptr) {
|
||||||
printf_errf("(\"%s\"): Trailing characters.", s);
|
log_error("Trailing characters: %s", s);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
*dest = val;
|
*dest = val;
|
||||||
|
@ -43,7 +43,7 @@ parse_matrix_readnum(const char *src, double *dest) {
|
||||||
char *pc = NULL;
|
char *pc = NULL;
|
||||||
double val = strtod(src, &pc);
|
double val = strtod(src, &pc);
|
||||||
if (!pc || pc == src) {
|
if (!pc || pc == src) {
|
||||||
printf_errf("(\"%s\"): No number found.", src);
|
log_error("No number found: %s", src);
|
||||||
return src;
|
return src;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,15 +78,15 @@ parse_matrix(session_t *ps, const char *src, const char **endptr) {
|
||||||
|
|
||||||
// Validate matrix width and height
|
// Validate matrix width and height
|
||||||
if (wid <= 0 || hei <= 0) {
|
if (wid <= 0 || hei <= 0) {
|
||||||
printf_errf("(): Invalid matrix width/height.");
|
log_error("Invalid matrix width/height.");
|
||||||
goto err1;
|
goto err1;
|
||||||
}
|
}
|
||||||
if (!(wid % 2 && hei % 2)) {
|
if (!(wid % 2 && hei % 2)) {
|
||||||
printf_errf("(): Width/height not odd.");
|
log_error("Width/height not odd.");
|
||||||
goto err1;
|
goto err1;
|
||||||
}
|
}
|
||||||
if (wid > 16 || hei > 16)
|
if (wid > 16 || hei > 16)
|
||||||
printf_errf("(): Matrix width/height too large, may slow down"
|
log_warn("Matrix width/height too large, may slow down"
|
||||||
"rendering, and/or consume lots of memory");
|
"rendering, and/or consume lots of memory");
|
||||||
|
|
||||||
// Allocate memory
|
// Allocate memory
|
||||||
|
@ -110,14 +110,14 @@ parse_matrix(session_t *ps, const char *src, const char **endptr) {
|
||||||
matrix[2 + i] = DOUBLE_TO_XFIXED(val);
|
matrix[2 + i] = DOUBLE_TO_XFIXED(val);
|
||||||
}
|
}
|
||||||
if (BKEND_XRENDER == ps->o.backend && hasneg)
|
if (BKEND_XRENDER == ps->o.backend && hasneg)
|
||||||
printf_errf("(): A convolution kernel with negative values "
|
log_warn("A convolution kernel with negative values may not work properly under X "
|
||||||
"may not work properly under X Render backend.");
|
"Render backend.");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Detect trailing characters
|
// Detect trailing characters
|
||||||
for ( ;*pc && ';' != *pc; ++pc)
|
for ( ;*pc && ';' != *pc; ++pc)
|
||||||
if (!isspace(*pc) && ',' != *pc) {
|
if (!isspace(*pc) && ',' != *pc) {
|
||||||
printf_errf("(): Trailing characters in matrix string.");
|
log_error("Trailing characters in matrix string.");
|
||||||
goto err2;
|
goto err2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,7 +133,7 @@ parse_matrix(session_t *ps, const char *src, const char **endptr) {
|
||||||
if (endptr)
|
if (endptr)
|
||||||
*endptr = pc;
|
*endptr = pc;
|
||||||
else if (*pc) {
|
else if (*pc) {
|
||||||
printf_errf("(): Only one matrix expected.");
|
log_error("Only one matrix expected.");
|
||||||
goto err2;
|
goto err2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -197,13 +197,13 @@ parse_conv_kern_lst(session_t *ps, const char *src, xcb_render_fixed_t **dest, i
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i > 1) {
|
if (i > 1) {
|
||||||
printf_errf("(): You are seeing this message because your are using multipass\n"
|
log_warn("You are seeing this message because your are using multipassblur. Please "
|
||||||
"blur. Please report an issue to us so we know multipass blur is actually been used.\n"
|
"report an issue to us so we know multipass blur is actually been used. "
|
||||||
"Otherwise it might be removed in future releases");
|
"Otherwise it might be removed in future releases");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*pc) {
|
if (*pc) {
|
||||||
printf_errf("(): Too many blur kernels!");
|
log_error("Too many blur kernels!");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -239,7 +239,7 @@ parse_geometry(session_t *ps, const char *src, region_t *dest) {
|
||||||
if (src != endptr) {
|
if (src != endptr) {
|
||||||
geom.wid = val;
|
geom.wid = val;
|
||||||
if (geom.wid < 0) {
|
if (geom.wid < 0) {
|
||||||
printf_errf("(\"%s\"): Invalid width.", src);
|
log_error("Invalid width: %s", src);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
src = endptr;
|
src = endptr;
|
||||||
|
@ -255,7 +255,7 @@ parse_geometry(session_t *ps, const char *src, region_t *dest) {
|
||||||
if (src != endptr) {
|
if (src != endptr) {
|
||||||
geom.hei = val;
|
geom.hei = val;
|
||||||
if (geom.hei < 0) {
|
if (geom.hei < 0) {
|
||||||
printf_errf("(\"%s\"): Invalid height.", src);
|
log_error("Invalid height: %s", src);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
src = endptr;
|
src = endptr;
|
||||||
|
@ -288,7 +288,7 @@ parse_geometry(session_t *ps, const char *src, region_t *dest) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*src) {
|
if (*src) {
|
||||||
printf_errf("(\"%s\"): Trailing characters.", src);
|
log_error("Trailing characters: %s", src);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -305,11 +305,11 @@ bool parse_rule_opacity(session_t *ps, const char *src) {
|
||||||
char *endptr = NULL;
|
char *endptr = NULL;
|
||||||
long val = strtol(src, &endptr, 0);
|
long val = strtol(src, &endptr, 0);
|
||||||
if (!endptr || endptr == src) {
|
if (!endptr || endptr == src) {
|
||||||
printf_errf("(\"%s\"): No opacity specified?", src);
|
log_error("No opacity specified: %s", src);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (val > 100 || val < 0) {
|
if (val > 100 || val < 0) {
|
||||||
printf_errf("(\"%s\"): Opacity %ld invalid.", src, val);
|
log_error("Opacity %ld invalid: %s", val, src);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -317,7 +317,7 @@ bool parse_rule_opacity(session_t *ps, const char *src) {
|
||||||
while (*endptr && isspace(*endptr))
|
while (*endptr && isspace(*endptr))
|
||||||
++endptr;
|
++endptr;
|
||||||
if (':' != *endptr) {
|
if (':' != *endptr) {
|
||||||
printf_errf("(\"%s\"): Opacity terminator not found.", src);
|
log_error("Opacity terminator not found: %s", src);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
++endptr;
|
++endptr;
|
||||||
|
|
|
@ -140,10 +140,11 @@ void parse_config_libconfig(session_t *ps, bool *shadow_enable,
|
||||||
f = open_config_file(ps->o.config_file, &path);
|
f = open_config_file(ps->o.config_file, &path);
|
||||||
if (!f) {
|
if (!f) {
|
||||||
if (ps->o.config_file) {
|
if (ps->o.config_file) {
|
||||||
printf_errfq(1, "(): Failed to read configuration file \"%s\".",
|
|
||||||
ps->o.config_file);
|
|
||||||
free(ps->o.config_file);
|
free(ps->o.config_file);
|
||||||
ps->o.config_file = NULL;
|
ps->o.config_file = NULL;
|
||||||
|
|
||||||
|
log_fatal("Failed to read configuration file \"%s\".", ps->o.config_file);
|
||||||
|
abort();
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -166,7 +167,7 @@ void parse_config_libconfig(session_t *ps, bool *shadow_enable,
|
||||||
fclose(f);
|
fclose(f);
|
||||||
f = NULL;
|
f = NULL;
|
||||||
if (read_result == CONFIG_FALSE) {
|
if (read_result == CONFIG_FALSE) {
|
||||||
printf("Error when reading configuration file \"%s\", line %d: %s\n",
|
log_error("Error when reading configuration file \"%s\", line %d: %s",
|
||||||
path, config_error_line(&cfg), config_error_text(&cfg));
|
path, config_error_line(&cfg), config_error_text(&cfg));
|
||||||
config_destroy(&cfg);
|
config_destroy(&cfg);
|
||||||
free(path);
|
free(path);
|
||||||
|
@ -213,22 +214,22 @@ void parse_config_libconfig(session_t *ps, bool *shadow_enable,
|
||||||
*shadow_enable = ival;
|
*shadow_enable = ival;
|
||||||
// -C (no_dock_shadow)
|
// -C (no_dock_shadow)
|
||||||
if (config_lookup_bool(&cfg, "no-dock-shadow", &ival)) {
|
if (config_lookup_bool(&cfg, "no-dock-shadow", &ival)) {
|
||||||
printf_errf("(): option `no-dock-shadow` is deprecated, and will be removed.\n"
|
log_warn("Option `no-dock-shadow` is deprecated, and will be removed."
|
||||||
" Please use the wintype option `shadow` of `dock` instead.");
|
" Please use the wintype option `shadow` of `dock` instead.");
|
||||||
ps->o.wintype_option[WINTYPE_DOCK].shadow = false;
|
ps->o.wintype_option[WINTYPE_DOCK].shadow = false;
|
||||||
winopt_mask[WINTYPE_DOCK].shadow = true;
|
winopt_mask[WINTYPE_DOCK].shadow = true;
|
||||||
}
|
}
|
||||||
// -G (no_dnd_shadow)
|
// -G (no_dnd_shadow)
|
||||||
if (config_lookup_bool(&cfg, "no-dnd-shadow", &ival)) {
|
if (config_lookup_bool(&cfg, "no-dnd-shadow", &ival)) {
|
||||||
printf_errf("(): option `no-dnd-shadow` is deprecated, and will be removed.\n"
|
log_warn("Option `no-dnd-shadow` is deprecated, and will be removed."
|
||||||
" Please use the wintype option `shadow` of `dnd` instead.");
|
" Please use the wintype option `shadow` of `dnd` instead.");
|
||||||
ps->o.wintype_option[WINTYPE_DND].shadow = false;
|
ps->o.wintype_option[WINTYPE_DND].shadow = false;
|
||||||
winopt_mask[WINTYPE_DND].shadow = true;
|
winopt_mask[WINTYPE_DND].shadow = true;
|
||||||
};
|
};
|
||||||
// -m (menu_opacity)
|
// -m (menu_opacity)
|
||||||
if (config_lookup_float(&cfg, "menu-opacity", &dval)) {
|
if (config_lookup_float(&cfg, "menu-opacity", &dval)) {
|
||||||
printf_errf("(): option `menu-opacity` is deprecated, and will be removed.\n"
|
log_warn("Option `menu-opacity` is deprecated, and will be removed.Please use the "
|
||||||
"Please use the wintype option `opacity` of `popup_menu` and `dropdown_menu` instead.");
|
"wintype option `opacity` of `popup_menu` and `dropdown_menu` instead.");
|
||||||
ps->o.wintype_option[WINTYPE_DROPDOWN_MENU].opacity = dval;
|
ps->o.wintype_option[WINTYPE_DROPDOWN_MENU].opacity = dval;
|
||||||
ps->o.wintype_option[WINTYPE_POPUP_MENU].opacity = dval;
|
ps->o.wintype_option[WINTYPE_POPUP_MENU].opacity = dval;
|
||||||
winopt_mask[WINTYPE_DROPDOWN_MENU].opacity = true;
|
winopt_mask[WINTYPE_DROPDOWN_MENU].opacity = true;
|
||||||
|
@ -276,11 +277,15 @@ void parse_config_libconfig(session_t *ps, bool *shadow_enable,
|
||||||
// --refresh-rate
|
// --refresh-rate
|
||||||
config_lookup_int(&cfg, "refresh-rate", &ps->o.refresh_rate);
|
config_lookup_int(&cfg, "refresh-rate", &ps->o.refresh_rate);
|
||||||
// --vsync
|
// --vsync
|
||||||
if (config_lookup_string(&cfg, "vsync", &sval) && !parse_vsync(ps, sval))
|
if (config_lookup_string(&cfg, "vsync", &sval) && !parse_vsync(ps, sval)) {
|
||||||
|
log_fatal("Cannot parse vsync");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
}
|
||||||
// --backend
|
// --backend
|
||||||
if (config_lookup_string(&cfg, "backend", &sval) && !parse_backend(ps, sval))
|
if (config_lookup_string(&cfg, "backend", &sval) && !parse_backend(ps, sval)) {
|
||||||
|
log_fatal("Cannot parse backend");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
}
|
||||||
// --log-level
|
// --log-level
|
||||||
if (config_lookup_string(&cfg, "log-level", &sval)) {
|
if (config_lookup_string(&cfg, "log-level", &sval)) {
|
||||||
auto level = string_to_log_level(sval);
|
auto level = string_to_log_level(sval);
|
||||||
|
@ -332,8 +337,10 @@ void parse_config_libconfig(session_t *ps, bool *shadow_enable,
|
||||||
&ps->o.blur_background_fixed);
|
&ps->o.blur_background_fixed);
|
||||||
// --blur-kern
|
// --blur-kern
|
||||||
if (config_lookup_string(&cfg, "blur-kern", &sval)
|
if (config_lookup_string(&cfg, "blur-kern", &sval)
|
||||||
&& !parse_conv_kern_lst(ps, sval, ps->o.blur_kerns, MAX_BLUR_PASS))
|
&& !parse_conv_kern_lst(ps, sval, ps->o.blur_kerns, MAX_BLUR_PASS)) {
|
||||||
|
log_fatal("Cannot parse \"blur-kern\"");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
}
|
||||||
// --resize-damage
|
// --resize-damage
|
||||||
config_lookup_int(&cfg, "resize-damage", &ps->o.resize_damage);
|
config_lookup_int(&cfg, "resize-damage", &ps->o.resize_damage);
|
||||||
// --glx-no-stencil
|
// --glx-no-stencil
|
||||||
|
@ -341,9 +348,11 @@ void parse_config_libconfig(session_t *ps, bool *shadow_enable,
|
||||||
// --glx-no-rebind-pixmap
|
// --glx-no-rebind-pixmap
|
||||||
lcfg_lookup_bool(&cfg, "glx-no-rebind-pixmap", &ps->o.glx_no_rebind_pixmap);
|
lcfg_lookup_bool(&cfg, "glx-no-rebind-pixmap", &ps->o.glx_no_rebind_pixmap);
|
||||||
// --glx-swap-method
|
// --glx-swap-method
|
||||||
if (config_lookup_string(&cfg, "glx-swap-method", &sval)
|
if (config_lookup_string(&cfg, "glx-swap-method", &sval) &&
|
||||||
&& !parse_glx_swap_method(ps, sval))
|
!parse_glx_swap_method(ps, sval)) {
|
||||||
|
log_fatal("Cannot parse \"glx-swap-method\"");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
}
|
||||||
// --glx-use-gpushader4
|
// --glx-use-gpushader4
|
||||||
lcfg_lookup_bool(&cfg, "glx-use-gpushader4", &ps->o.glx_use_gpushader4);
|
lcfg_lookup_bool(&cfg, "glx-use-gpushader4", &ps->o.glx_use_gpushader4);
|
||||||
// --xrender-sync
|
// --xrender-sync
|
||||||
|
@ -352,22 +361,22 @@ void parse_config_libconfig(session_t *ps, bool *shadow_enable,
|
||||||
lcfg_lookup_bool(&cfg, "xrender-sync-fence", &ps->o.xrender_sync_fence);
|
lcfg_lookup_bool(&cfg, "xrender-sync-fence", &ps->o.xrender_sync_fence);
|
||||||
|
|
||||||
if (lcfg_lookup_bool(&cfg, "clear-shadow", &bval))
|
if (lcfg_lookup_bool(&cfg, "clear-shadow", &bval))
|
||||||
printf_errf("(): \"clear-shadow\" is removed as an option, and is always"
|
log_warn("\"clear-shadow\" is removed as an option, and is always"
|
||||||
" enabled now. Consider removing it from your config file");
|
" enabled now. Consider removing it from your config file");
|
||||||
if (lcfg_lookup_bool(&cfg, "paint-on-overlay", &bval))
|
if (lcfg_lookup_bool(&cfg, "paint-on-overlay", &bval))
|
||||||
printf_errf("(): \"paint-on-overlay\" has been removed as an option, and "
|
log_warn("\"paint-on-overlay\" has been removed as an option, and "
|
||||||
"is enabled whenever possible");
|
"is enabled whenever possible");
|
||||||
|
|
||||||
if (config_lookup_float(&cfg, "alpha-step", &dval))
|
if (config_lookup_float(&cfg, "alpha-step", &dval))
|
||||||
printf_errf("(): \"alpha-step\" has been removed, compton now tries to make use"
|
log_warn("\"alpha-step\" has been removed, compton now tries to make use"
|
||||||
" of all alpha values");
|
" of all alpha values");
|
||||||
|
|
||||||
const char *deprecation_message = "has been removed. If you encounter problems "
|
const char *deprecation_message = "has been removed. If you encounter problems "
|
||||||
"without this feature, please feel free to open a bug report";
|
"without this feature, please feel free to open a bug report";
|
||||||
if (lcfg_lookup_bool(&cfg, "glx-use-copysubbuffermesa", &bval) && bval)
|
if (lcfg_lookup_bool(&cfg, "glx-use-copysubbuffermesa", &bval) && bval)
|
||||||
printf_errf("(): \"glx-use-copysubbuffermesa\" %s", deprecation_message);
|
log_warn("\"glx-use-copysubbuffermesa\" %s", deprecation_message);
|
||||||
if (lcfg_lookup_bool(&cfg, "glx-copy-from-front", &bval) && bval)
|
if (lcfg_lookup_bool(&cfg, "glx-copy-from-front", &bval) && bval)
|
||||||
printf_errf("(): \"glx-copy-from-front\" %s", deprecation_message);
|
log_warn("\"glx-copy-from-front\" %s", deprecation_message);
|
||||||
|
|
||||||
// Wintype settings
|
// Wintype settings
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue