* add config.py and config_event_handler.py
also introduces the utils folder
* update config imports and variables
* add 'pyinotify' dependency
* config: check for changes using threading
* config: handle errors and new eventsx
* config: set_path even if file doesn't exist and make new ConfigParser on every update
* fix get_config call
* config: check for changes on moved file
* call notifier.start() manually to prevent hanging
* config: update comments
* battery: fix config imports
* config: fix config deletion detection
* Add load from user config in XDG_CONFIG_HOME if available (#672)
* Add load from user config from in XDG_CONFIG_HOME if available
This update introduces the flexibility to load the configuration file from
multiple locations, prioritizing user preferences and system standards.
Previously, the configuration was strictly read from a hardcoded
system path (`/etc/auto-cpufreq.conf`). Now, the application first checks if the
user has specified a configuration file path via command line arguments. If not,
it looks for a configuration file in the user's config
directory (`$XDG_CONFIG_HOME/auto-cpufreq/auto-cpufreq.conf`). If neither is
found, it defaults to the original system-wide configuration file.
This allows users to add their auto-cpufreq configuration to their dotfiles.
* If --config is set but invalid, exit with error
* Remove redundant empty string check on config file path
* Remove duplicate isfile check for config path
See also: https://github.com/AdnanHodzic/auto-cpufreq/pull/672#discussion_r1548003119
* Update configuration options in README
See also: #672
* config: move find_config_file function and fix finding home directory
* auto_cpufreq: fix hanging on --daemon, --live, and --monitor
* swap pyinotify for patched version
---------
Co-authored-by: Steven Braun <steven.braun.mz@gmail.com>