diff options
author | David <dbphillipsnz@gmail.com> | 2014-05-02 11:42:13 +1200 |
---|---|---|
committer | David <dbphillipsnz@gmail.com> | 2014-05-02 11:42:13 +1200 |
commit | b5d850670d406da072db4b5f77f76c1860aa4734 (patch) | |
tree | 3cd5ae35cc08c76f8fa56cc43eb5ee04dc60fc7a | |
parent | cfcf72f4173d37c4d4fd0d1d5802b3d689501424 (diff) | |
parent | 4bb267e8e416c95fddc59d3c954afc37d9a3f67a (diff) | |
download | paramano-b5d850670d406da072db4b5f77f76c1860aa4734.tar.xz |
Merge branch 'sudo-fix'
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | config_file.c | 6 | ||||
-rw-r--r-- | data/trayfreq.conf | 36 | ||||
-rw-r--r-- | data/trayfreq.config | 9 | ||||
-rw-r--r-- | defaults.c | 11 | ||||
-rw-r--r-- | defaults.h | 3 | ||||
-rw-r--r-- | freq_tray/getcore.c | 2 | ||||
-rw-r--r-- | lc/fr.po | 7 | ||||
-rw-r--r-- | trayfreq.c | 46 | ||||
-rw-r--r-- | trayfreq_set/trayfreq_set_interface.c | 15 | ||||
-rw-r--r-- | trayfreq_set/trayfreq_set_interface.h | 2 |
11 files changed, 86 insertions, 53 deletions
@@ -83,7 +83,7 @@ install: mkdir -p $(INSTALL_PATH)/usr/share/locale/fr/LC_MESSAGES/ cp lc/fr.mo $(INSTALL_PATH)/usr/share/locale/fr/LC_MESSAGES/trayfreq.mo - install -Dm 644 data/trayfreq.config $(INSTALL_PATH)/usr/share/trayfreq/trayfreq.config + install -Dm 644 data/trayfreq.conf $(INSTALL_PATH)/usr/share/trayfreq/trayfreq.conf install -Dm 644 data/trayfreq.desktop $(INSTALL_PATH)/etc/xdg/autostart/trayfreq.desktop install -Dm 755 trayfreq $(INSTALL_PATH)/usr/bin/trayfreq install -Dm 755 trayfreq-set $(INSTALL_PATH)/usr/bin/trayfreq-set 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) diff --git a/data/trayfreq.conf b/data/trayfreq.conf new file mode 100644 index 0000000..59dc4d8 --- /dev/null +++ b/data/trayfreq.conf @@ -0,0 +1,36 @@ +# Begin /usr/share/trayfreq/trayfreq.conf +# +# Sample config file for trayfreq-archlinux +# + +[battery] +## Uncomment to hide battery icon -- useful for desktop PCs +# show=0 + +## Governor to use for all cores when on battery power +# governor=powersave + +[ac] +## Governor to use for all core while on AC power +## Often set to a performance or non-power-saving governor +# governor=ondemand + +[governor] +## Governor to set all cores to when trayfreq starts +# default=ondemand + + +## The frequency to set the CPU to when trayfreq starts +[frequency] +# default=800000 + + +[extra] +## Uncomment to make trayfreq run trayfreq-set through sudo. +## Useful if your WM doesn't run trayfreq as root, but you'll have to give the user +## trayfreq is run as passwordless sudo access to `trayfreq-set` +# sudo=1 + + +# +# End /usr/share/trayfreq/trayfreq.conf diff --git a/data/trayfreq.config b/data/trayfreq.config deleted file mode 100644 index 8783104..0000000 --- a/data/trayfreq.config +++ /dev/null @@ -1,9 +0,0 @@ -#[battery] -#show=1 -#governor=powersave -#[ac] -#governor=ondemand -#[governor] -#default=ondemand -#[frequency] -#default=800000 @@ -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")); } @@ -1,9 +1,8 @@ # French translation of strings for trayfreq-archlinux. # Copyright (C) David Phillips # This file is distributed under the same license as the trayfreq-archlinux package. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# David Phillips <dbphillipsnz@gmail.com>, 2014. # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: trayfreq-archlinux 0.5\n" @@ -27,11 +26,11 @@ msgstr "Profil: %s\n" msgid "CPU%i: %s%s" msgstr "CPU%i: %s%s" -#: trayfreq.c:70 +#: trayfreq.c:69 msgid "Failed to open config files!\n" msgstr "Pouvais pas ouvrier les fichiers config !\n" -#: trayfreq.c:113 +#: trayfreq.c:105 msgid "" "GTK Error: gtk_init_check returned FALSE.\n" "Bailing." @@ -42,7 +42,7 @@ void config_init() gboolean home_config_exists; config.key_file = NULL; - config.file_name = g_strconcat(getenv("HOME"), "/.trayfreq.config", NULL); + config.file_name = g_strconcat(getenv("HOME"), "/.trayfreq.conf", NULL); // Check if ~/.trayfreq.config exists @@ -60,42 +60,34 @@ void config_init() } if(!home_config_exists) - config.file_name = g_strconcat("/usr/share/trayfreq/trayfreq.config", NULL); + config.file_name = g_strconcat("/usr/share/trayfreq/trayfreq.conf", 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); |