mirror of
https://github.com/Llewellynvdm/conky.git
synced 2024-12-27 12:42:41 +00:00
Config file handling changes
- changed default config filenames, to avoid conflict with conky-1.x - specifying "-" as config file reads from stdin - if a user config file exists but is not readable, report an error instead of falling back to the system-wide config.
This commit is contained in:
parent
4426a8fa5b
commit
55282b64d8
@ -49,11 +49,11 @@ mark_as_advanced(RELEASE)
|
|||||||
option(MAINTAINER_MODE "Enable maintainer mode (builds docs)" false)
|
option(MAINTAINER_MODE "Enable maintainer mode (builds docs)" false)
|
||||||
|
|
||||||
# Some standard options
|
# Some standard options
|
||||||
set(SYSTEM_CONFIG_FILE "/etc/conky/conky.conf" CACHE STRING "Default system-wide Conky configuration file")
|
set(SYSTEM_CONFIG_FILE "/etc/conky/conky2.conf" CACHE STRING "Default system-wide Conky configuration file")
|
||||||
# use FORCE below to make sure this changes when CMAKE_INSTALL_PREFIX is modified
|
# use FORCE below to make sure this changes when CMAKE_INSTALL_PREFIX is modified
|
||||||
set(PACKAGE_LIBRARY_DIR "${CMAKE_INSTALL_PREFIX}/lib/conky" CACHE STRING "Package library path (where Lua bindings are installed" FORCE)
|
set(PACKAGE_LIBRARY_DIR "${CMAKE_INSTALL_PREFIX}/lib/conky" CACHE STRING "Package library path (where Lua bindings are installed" FORCE)
|
||||||
set(DEFAULTNETDEV "eth0" CACHE STRING "Default networkdevice")
|
set(DEFAULTNETDEV "eth0" CACHE STRING "Default networkdevice")
|
||||||
set(CONFIG_FILE "$HOME/.conkyrc" CACHE STRING "Configfile of the user")
|
set(CONFIG_FILE "$HOME/.conky2rc" CACHE STRING "Configfile of the user")
|
||||||
set(MAX_USER_TEXT_DEFAULT "16384" CACHE STRING "Default maximum size of config TEXT buffer, i.e. below TEXT line.")
|
set(MAX_USER_TEXT_DEFAULT "16384" CACHE STRING "Default maximum size of config TEXT buffer, i.e. below TEXT line.")
|
||||||
set(DEFAULT_TEXT_BUFFER_SIZE "256" CACHE STRING "Default size used for temporary, static text buffers")
|
set(DEFAULT_TEXT_BUFFER_SIZE "256" CACHE STRING "Default size used for temporary, static text buffers")
|
||||||
set(MAX_NET_INTERFACES "16" CACHE STRING "Maximum number of network devices")
|
set(MAX_NET_INTERFACES "16" CACHE STRING "Maximum number of network devices")
|
||||||
|
25
src/conky.cc
25
src/conky.cc
@ -2942,36 +2942,33 @@ static const struct option longopts[] = {
|
|||||||
|
|
||||||
void set_current_config() {
|
void set_current_config() {
|
||||||
/* load current_config, CONFIG_FILE or SYSTEM_CONFIG_FILE */
|
/* load current_config, CONFIG_FILE or SYSTEM_CONFIG_FILE */
|
||||||
|
struct stat s;
|
||||||
|
|
||||||
if (current_config.empty()) {
|
if (current_config.empty()) {
|
||||||
/* load default config file */
|
|
||||||
FILE *fp;
|
|
||||||
|
|
||||||
/* Try to use personal config file first */
|
/* Try to use personal config file first */
|
||||||
std::string buf = to_real_path(CONFIG_FILE);
|
std::string buf = to_real_path(CONFIG_FILE);
|
||||||
if (!buf.empty() && (fp = fopen(buf.c_str(), "r"))) {
|
if (stat(buf.c_str(), &s) == 0)
|
||||||
current_config = buf;
|
current_config = buf;
|
||||||
fclose(fp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Try to use system config file if personal config not readable */
|
/* Try to use system config file if personal config does not exist */
|
||||||
if (current_config.empty() && (fp = fopen(SYSTEM_CONFIG_FILE, "r"))) {
|
if (current_config.empty() && (stat(SYSTEM_CONFIG_FILE, &s)==0))
|
||||||
current_config = SYSTEM_CONFIG_FILE;
|
current_config = SYSTEM_CONFIG_FILE;
|
||||||
fclose(fp);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* No readable config found */
|
/* No readable config found */
|
||||||
if (current_config.empty()) {
|
if (current_config.empty()) {
|
||||||
#define NOCFGFILEFOUND "no readable personal or system-wide config file found"
|
#define NOCFGFILEFOUND "no personal or system-wide config file found"
|
||||||
#ifdef BUILD_BUILTIN_CONFIG
|
#ifdef BUILD_BUILTIN_CONFIG
|
||||||
current_config = "==builtin==";
|
current_config = "==builtin==";
|
||||||
NORM_ERR(NOCFGFILEFOUND
|
NORM_ERR(NOCFGFILEFOUND ", using builtin default");
|
||||||
", using builtin default");
|
|
||||||
#else
|
#else
|
||||||
CRIT_ERR(NULL, NULL, NOCFGFILEFOUND);
|
CRIT_ERR(NULL, NULL, NOCFGFILEFOUND);
|
||||||
#endif /* ! CONF_OUTPUT */
|
#endif
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// "-" stands for "read from stdin"
|
||||||
|
if(current_config == "-")
|
||||||
|
current_config = "/dev/stdin";
|
||||||
}
|
}
|
||||||
|
|
||||||
void initialisation(int argc, char **argv) {
|
void initialisation(int argc, char **argv) {
|
||||||
|
Loading…
Reference in New Issue
Block a user