diff options
-rw-r--r-- | config_file.c | 6 | ||||
-rw-r--r-- | defaults.c | 11 | ||||
-rw-r--r-- | defaults.h | 3 | ||||
-rw-r--r-- | freq_tray/getcore.c | 2 | ||||
-rw-r--r-- | trayfreq.c | 42 | ||||
-rw-r--r-- | trayfreq_set/trayfreq_set_interface.c | 15 | ||||
-rw-r--r-- | trayfreq_set/trayfreq_set_interface.h | 2 |
7 files changed, 44 insertions, 37 deletions
diff --git a/config_file.c b/config_file.c index 602eb92..a62f094 100644 --- a/config_file.c +++ b/config_file.c @@ -28,11 +28,13 @@ gboolean config_open(struct config_file* config_file) debug("Creating new config_file->key_file\n"); config_file->key_file = g_key_file_new(); - - return g_key_file_load_from_file( config_file->key_file, + gboolean success = g_key_file_load_from_file( + config_file->key_file, config_file->file_name, G_KEY_FILE_NONE, NULL); + debug("Returning %s\n",success? "TRUE" : "FALSE"); + return success; } void config_close(struct config_file* config_file) @@ -18,8 +18,9 @@ #include "defaults.h" -char* _DEFAULT_GOV = NULL; -char* _DEFAULT_FREQ = NULL; -char* _DEFAULT_PROG = NULL; -char* _DEFAULT_BAT_GOV = NULL; -char* _DEFAULT_AC_GOV = NULL;
\ No newline at end of file +char* _DEFAULT_GOV; +char* _DEFAULT_FREQ; +char* _DEFAULT_PROG; +char* _DEFAULT_BAT_GOV; +char* _DEFAULT_AC_GOV; +bool _DEFAULT_USE_SUDO = FALSE; @@ -19,12 +19,13 @@ #ifndef DEFAULTS_H #define DEFAULTS_H -#include <glib.h> +#include "bool.h" char* _DEFAULT_GOV; char* _DEFAULT_FREQ; char* _DEFAULT_PROG; char* _DEFAULT_BAT_GOV; char* _DEFAULT_AC_GOV; +bool _DEFAULT_USE_SUDO; #endif /* ifndef DEFAULTS_H */ diff --git a/freq_tray/getcore.c b/freq_tray/getcore.c index 44b3940..ad4878f 100644 --- a/freq_tray/getcore.c +++ b/freq_tray/getcore.c @@ -32,7 +32,7 @@ static gboolean core_exists(unsigned int core) sprintf(corestr, "%d", core); sprintf(path, "/sys/devices/system/cpu/cpu%s/cpufreq/scaling_cur_freq", corestr); - debug("Checking if core %d exists by opening '%s'",core,path); + debug("Checking if core %d exists by opening '%s'\n",core,path); return (gboolean)(fd = fopen(path, "r")); } @@ -63,39 +63,31 @@ void config_init() config.file_name = g_strconcat("/usr/share/trayfreq/trayfreq.config", NULL); gboolean success = config_open(&config); - if(!success) { debug("Couldn't open '%s' for reading\n",config.file_name); g_warning(_("Failed to open config files!\n")); return; } - - gchar * def_gov = config_get_key(&config, "governor", "default"); - gchar * def_freq = config_get_key(&config, "frequency", "default"); - gchar * show_bat = config_get_key(&config, "battery", "show"); - gchar * bat_gov = config_get_key (&config, "battery", "governor"); - gchar * ac_gov = config_get_key (&config, "ac", "governor"); - - if(def_gov) - _DEFAULT_GOV = def_gov; - - if(def_freq) - _DEFAULT_FREQ = def_freq; - - if (bat_gov) - _DEFAULT_BAT_GOV = bat_gov; - - if (ac_gov) - _DEFAULT_AC_GOV = ac_gov; - - if(show_bat) + _DEFAULT_GOV = config_get_key(&config, "governor", "default"); + _DEFAULT_FREQ = config_get_key(&config, "frequency", "default"); + _DEFAULT_BAT_GOV = config_get_key(&config, "battery", "governor"); + _DEFAULT_AC_GOV = config_get_key(&config, "ac", "governor"); + + char* temp = config_get_key(&config, "battery", "show"); + if (temp) + SHOW_BATTERY = ( temp[0] == '1' ); + + temp = config_get_key(&config, "extra", "sudo"); + if (temp) { - if(g_strcmp0(show_bat, "1") == 0) - SHOW_BATTERY = TRUE; - else - SHOW_BATTERY = FALSE; + _DEFAULT_USE_SUDO = ( temp[0] == '1' ); + debug("woo\n"); } + + + debug("%s sudo\n",_DEFAULT_USE_SUDO? "Using" : "Not using"); + g_free(config.file_name); config_close(&config); } diff --git a/trayfreq_set/trayfreq_set_interface.c b/trayfreq_set/trayfreq_set_interface.c index 490d50c..3e26112 100644 --- a/trayfreq_set/trayfreq_set_interface.c +++ b/trayfreq_set/trayfreq_set_interface.c @@ -18,20 +18,29 @@ #include "trayfreq_set_interface.h" -#include <gtk/gtk.h> #include <stdio.h> #include <stdlib.h> void si_gov(char* gov, int core) { char cmd[256]; - sprintf(cmd, "/usr/bin/trayfreq-set -g %s -c %i",gov,core); + if (_DEFAULT_USE_SUDO) + { + sprintf(cmd, "sudo trayfreq-set -g %s -c %i",gov,core); + } else { + sprintf(cmd, "trayfreq-set -g %s -c %i",gov,core); + } system(cmd); } void si_freq(int freq, int core) { char cmd[256]; - sprintf(cmd, "/usr/bin/trayfreq-set -f %i -c %i",freq,core); + if (_DEFAULT_USE_SUDO) + { + sprintf(cmd, "sudo trayfreq-set -f %i -c %i",freq,core); + } else { + sprintf(cmd, "trayfreq-set -f %i -c %i",freq,core); + } system(cmd); } diff --git a/trayfreq_set/trayfreq_set_interface.h b/trayfreq_set/trayfreq_set_interface.h index bdbf652..c5681e4 100644 --- a/trayfreq_set/trayfreq_set_interface.h +++ b/trayfreq_set/trayfreq_set_interface.h @@ -19,6 +19,8 @@ #ifndef TRAYFREQ_SET_INTERFACE_H #define TRAYFREQ_SET_INTERFACE_H +#include "../defaults.h" + void si_gov(char* gov, int core); void si_freq(int freq, int core); |