diff --git a/src/config.c b/src/config.c
index 2224a1d..80d02c0 100644
--- a/src/config.c
+++ b/src/config.c
@@ -77,45 +77,6 @@ void cleanup_config()
}
-void extract_values (const char *value, char **value1, char **value2, char **value3)
-{
- char *b=0, *c=0;
-
- if (*value1) free (*value1);
- if (*value2) free (*value2);
- if (*value3) free (*value3);
-
- if ((b = strchr (value, ' '))) {
- b[0] = '\0';
- b++;
- }
- else {
- *value2 = 0;
- *value3 = 0;
- }
- *value1 = strdup (value);
- g_strstrip(*value1);
-
- if (b) {
- if ((c = strchr (b, ' '))) {
- c[0] = '\0';
- c++;
- }
- else {
- c = 0;
- *value3 = 0;
- }
- *value2 = strdup (b);
- g_strstrip(*value2);
- }
-
- if (c) {
- *value3 = strdup (c);
- g_strstrip(*value3);
- }
-}
-
-
void get_action (char *event, int *action)
{
if (strcmp (event, "none") == 0)
diff --git a/src/tint2conf/CMakeLists.txt b/src/tint2conf/CMakeLists.txt
index 0ec906d..5526c7d 100644
--- a/src/tint2conf/CMakeLists.txt
+++ b/src/tint2conf/CMakeLists.txt
@@ -20,6 +20,7 @@ include_directories( ../util
set(SOURCES ../util/common.c
main.c
properties.c
+ properties_rw.c
theme_view.c )
link_directories( ${X11_T2C_LIBRARY_DIRS}
${GLIB2_LIBRARY_DIRS}
diff --git a/src/tint2conf/main.c b/src/tint2conf/main.c
index c22862d..ee5fa71 100644
--- a/src/tint2conf/main.c
+++ b/src/tint2conf/main.c
@@ -24,6 +24,7 @@
#include "common.h"
#include "theme_view.h"
#include "properties.h"
+#include "properties_rw.h"
#define SNAPSHOT_TICK 190
@@ -76,27 +77,27 @@ static const char *global_ui =
" "
" "
" "
-// " "
-// " "
+ " "
+ " "
" "
" "
" "
"
"
" "
" "
" "
-// " "
+ " "
" "
" "
" "
-// " "
+ " "
" "
" "
" "
@@ -134,6 +135,9 @@ int main (int argc, char ** argv)
initTheme();
g_set_application_name (_("tint2conf"));
gtk_window_set_default_icon_name("taskbar");
+
+ // config file use '.' as decimal separator
+ setlocale(LC_NUMERIC, "POSIX");
// define main layout : container, menubar, toolbar
g_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
@@ -335,6 +339,7 @@ static void menuProperties()
//*
GtkWidget *prop;
prop = create_properties();
+ config_read_file(file);
gtk_window_present(GTK_WINDOW(prop));
//printf("menuProperties : fin\n");
//*/
diff --git a/src/tint2conf/properties.c b/src/tint2conf/properties.c
index 82a3075..d93a35c 100644
--- a/src/tint2conf/properties.c
+++ b/src/tint2conf/properties.c
@@ -27,6 +27,7 @@
void change_paragraph(GtkWidget *widget);
void create_general(GtkWidget *parent);
void create_panel(GtkWidget *parent);
+void create_panel_items(GtkWidget *parent);
void create_launcher(GtkWidget *parent);
void create_taskbar(GtkWidget *parent);
void create_task(GtkWidget *parent);
@@ -41,7 +42,7 @@ GtkWidget *create_properties()
{
GtkWidget *view, *dialog_vbox3, *button, *notebook;
GtkTooltips *tooltips;
- GtkWidget *page_panel, *page_launcher, *page_taskbar, *page_battery, *page_clock, *page_tooltip, *page_systemtray, *page_task, *page_background;
+ GtkWidget *page_panel, *page_panel_items, *page_launcher, *page_taskbar, *page_battery, *page_clock, *page_tooltip, *page_systemtray, *page_task, *page_background;
GtkWidget *label;
tooltips = gtk_tooltips_new ();
@@ -86,6 +87,14 @@ GtkWidget *create_properties()
gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page_panel, label);
create_panel(page_panel);
+ label = gtk_label_new (_("Panel items"));
+ gtk_widget_show (label);
+ page_panel_items = gtk_vbox_new (FALSE, DEFAULT_HOR_SPACING);
+ gtk_container_set_border_width(GTK_CONTAINER(page_panel_items), 10);
+ gtk_widget_show (page_panel_items);
+ gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page_panel_items, label);
+ create_panel_items(page_panel_items);
+
label = gtk_label_new (_("Launcher"));
gtk_widget_show (label);
page_launcher = gtk_vbox_new (FALSE, DEFAULT_HOR_SPACING);
@@ -169,10 +178,9 @@ void create_panel(GtkWidget *parent)
int i;
GtkWidget *screen_position[12];
GtkWidget *table, *hbox, *frame;
- GtkWidget *margin_x, *margin_y, *combo_strut_policy, *combo_layer, *combo_width_type, *combo_height_type, *combo_monitor, *combo_background, *items_order;
GtkWidget *label;
- label = gtk_label_new (_("Position, size and items order"));
+ label = gtk_label_new (_("Position and size"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
gtk_widget_show (label);
@@ -188,6 +196,69 @@ void create_panel(GtkWidget *parent)
gtk_table_set_row_spacings (GTK_TABLE (table), ROW_SPACING);
gtk_table_set_col_spacings (GTK_TABLE (table), COL_SPACING);
+ table = gtk_table_new (3, 8, FALSE);
+ gtk_widget_show (table);
+ gtk_box_pack_start (GTK_BOX (hbox), table, FALSE, FALSE, 0);
+ gtk_table_set_row_spacings (GTK_TABLE (table), ROW_SPACING);
+ gtk_table_set_col_spacings (GTK_TABLE (table), COL_SPACING);
+
+ label = gtk_label_new (_("Width"));
+ gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
+ gtk_widget_show (label);
+ gtk_table_attach (GTK_TABLE (table), label, 1, 2, 0, 1, GTK_FILL, 0, 0, 0);
+
+ panel_width = gtk_spin_button_new_with_range (0, 9000, 1);
+ gtk_widget_show (panel_width);
+ gtk_table_attach (GTK_TABLE (table), panel_width, 2, 3, 0, 1, GTK_FILL, 0, 0, 0);
+
+ panel_combo_width_type = gtk_combo_box_new_text ();
+ gtk_widget_show (panel_combo_width_type);
+ gtk_table_attach (GTK_TABLE (table), panel_combo_width_type, 3, 4, 0, 1, GTK_FILL, 0, 0, 0);
+ gtk_combo_box_append_text (GTK_COMBO_BOX (panel_combo_width_type), _("Percent"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (panel_combo_width_type), _("Pixels"));
+
+ label = gtk_label_new (_("Marging x"));
+ gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
+ gtk_widget_show (label);
+ gtk_table_attach (GTK_TABLE (table), label, 6, 7, 0, 1, GTK_FILL, 0, 0, 0);
+
+ panel_margin_x = gtk_spin_button_new_with_range (0, 500, 1);
+ gtk_widget_show (panel_margin_x);
+ gtk_entry_set_max_length (GTK_ENTRY (panel_margin_x), 3);
+ gtk_table_attach (GTK_TABLE (table), panel_margin_x, 7, 8, 0, 1, GTK_FILL, 0, 0, 0);
+
+ label = gtk_label_new (_("Height"));
+ gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
+ gtk_widget_show (label);
+ gtk_table_attach (GTK_TABLE (table), label, 1, 2, 1, 2, GTK_FILL, 0, 0, 0);
+
+ panel_height = gtk_spin_button_new_with_range (0, 9000, 1);
+ gtk_widget_show (panel_height);
+ gtk_table_attach (GTK_TABLE (table), panel_height, 2, 3, 1, 2, GTK_FILL, 0, 0, 0);
+
+ change_paragraph(parent);
+
+ panel_combo_height_type = gtk_combo_box_new_text ();
+ gtk_widget_show (panel_combo_height_type);
+ gtk_table_attach (GTK_TABLE (table), panel_combo_height_type, 3, 4, 1, 2, GTK_FILL, 0, 0, 0);
+ gtk_combo_box_append_text (GTK_COMBO_BOX (panel_combo_height_type), _("Percent"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (panel_combo_height_type), _("Pixels"));
+
+ label = gtk_label_new (_("Marging y"));
+ gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
+ gtk_widget_show (label);
+ gtk_table_attach (GTK_TABLE (table), label, 6, 7, 1, 2, GTK_FILL, 0, 0, 0);
+
+ panel_margin_y = gtk_spin_button_new_with_range (0, 500, 1);
+ gtk_widget_show (panel_margin_y);
+ gtk_entry_set_max_length (GTK_ENTRY (panel_margin_y), 3);
+ gtk_table_attach (GTK_TABLE (table), panel_margin_y, 7, 8, 1, 2, GTK_FILL, 0, 0, 0);
+
+ frame = gtk_frame_new (NULL);
+ gtk_widget_show (frame);
+ gtk_box_pack_start (GTK_BOX (hbox), frame, FALSE, TRUE, 0);
+ gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
+
table = gtk_table_new (5, 5, FALSE);
gtk_widget_show (table);
gtk_box_pack_start (GTK_BOX (hbox), table, FALSE, FALSE, 0);
@@ -216,79 +287,6 @@ void create_panel(GtkWidget *parent)
gtk_table_attach_defaults (GTK_TABLE (table), screen_position[10], 2, 3, 4, 5);
gtk_table_attach_defaults (GTK_TABLE (table), screen_position[11], 3, 4, 4, 5);
- table = gtk_table_new (3, 8, FALSE);
- gtk_widget_show (table);
- gtk_box_pack_start (GTK_BOX (hbox), table, FALSE, FALSE, 0);
- gtk_table_set_row_spacings (GTK_TABLE (table), ROW_SPACING);
- gtk_table_set_col_spacings (GTK_TABLE (table), COL_SPACING);
-
- label = gtk_label_new (_("Width"));
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 1, 2, 0, 1, GTK_FILL, 0, 0, 0);
-
- margin_x = gtk_spin_button_new_with_range (0, 9000, 1);
- gtk_widget_show (margin_x);
- gtk_table_attach (GTK_TABLE (table), margin_x, 2, 3, 0, 1, GTK_FILL, 0, 0, 0);
-
- combo_width_type = gtk_combo_box_new_text ();
- gtk_widget_show (combo_width_type);
- gtk_table_attach (GTK_TABLE (table), combo_width_type, 3, 4, 0, 1, GTK_FILL, 0, 0, 0);
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_width_type), _("Percent"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_width_type), _("Pixels"));
-
- label = gtk_label_new (_("Marging x"));
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 6, 7, 0, 1, GTK_FILL, 0, 0, 0);
-
- margin_x = gtk_spin_button_new_with_range (0, 500, 1);
- gtk_widget_show (margin_x);
- gtk_entry_set_max_length (GTK_ENTRY (margin_x), 3);
- gtk_table_attach (GTK_TABLE (table), margin_x, 7, 8, 0, 1, GTK_FILL, 0, 0, 0);
-
- label = gtk_label_new (_("Height"));
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 1, 2, 1, 2, GTK_FILL, 0, 0, 0);
-
- margin_y = gtk_spin_button_new_with_range (0, 9000, 1);
- gtk_widget_show (margin_y);
- gtk_table_attach (GTK_TABLE (table), margin_y, 2, 3, 1, 2, GTK_FILL, 0, 0, 0);
-
- label = gtk_label_new (_("Items order"));
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 1, 2, 2, 3, GTK_FILL, 0, 0, 0);
-
- items_order = gtk_entry_new ();
- gtk_widget_show (items_order);
- gtk_entry_set_width_chars (GTK_ENTRY (items_order), 15);
- gtk_table_attach (GTK_TABLE (table), items_order, 2, 4, 2, 3, GTK_FILL, 0, 0, 0);
-
- change_paragraph(parent);
-
- combo_height_type = gtk_combo_box_new_text ();
- gtk_widget_show (combo_height_type);
- gtk_table_attach (GTK_TABLE (table), combo_height_type, 3, 4, 1, 2, GTK_FILL, 0, 0, 0);
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_height_type), _("Percent"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_height_type), _("Pixels"));
-
- label = gtk_label_new (_("Marging y"));
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 6, 7, 1, 2, GTK_FILL, 0, 0, 0);
-
- margin_y = gtk_spin_button_new_with_range (0, 500, 1);
- gtk_widget_show (margin_y);
- gtk_entry_set_max_length (GTK_ENTRY (margin_y), 3);
- gtk_table_attach (GTK_TABLE (table), margin_y, 7, 8, 1, 2, GTK_FILL, 0, 0, 0);
-
- frame = gtk_frame_new (NULL);
- gtk_widget_show (frame);
- gtk_box_pack_start (GTK_BOX (hbox), frame, FALSE, TRUE, 0);
- gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
-
label = gtk_label_new (_("Autohide"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
@@ -306,18 +304,18 @@ void create_panel(GtkWidget *parent)
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 2, 3, 0, 1, GTK_FILL, 0, 0, 0);
- margin_x = gtk_check_button_new ();
- gtk_widget_show (margin_x);
- gtk_table_attach (GTK_TABLE (table), margin_x, 3, 4, 0, 1, GTK_FILL, 0, 0, 0);
+ panel_autohide = gtk_check_button_new ();
+ gtk_widget_show (panel_autohide);
+ gtk_table_attach (GTK_TABLE (table), panel_autohide, 3, 4, 0, 1, GTK_FILL, 0, 0, 0);
label = gtk_label_new (_("Show panel after"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 6, 7, 0, 1, GTK_FILL, 0, 0, 0);
- margin_x = gtk_spin_button_new_with_range (0, 10000, 0.1);
- gtk_widget_show (margin_x);
- gtk_table_attach (GTK_TABLE (table), margin_x, 7, 8, 0, 1, GTK_FILL, 0, 0, 0);
+ panel_autohide_show_time = gtk_spin_button_new_with_range (0, 10000, 0.1);
+ gtk_widget_show (panel_autohide_show_time);
+ gtk_table_attach (GTK_TABLE (table), panel_autohide_show_time, 7, 8, 0, 1, GTK_FILL, 0, 0, 0);
label = gtk_label_new (_("seconds"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
@@ -329,19 +327,19 @@ void create_panel(GtkWidget *parent)
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 2, 3, 1, 2, GTK_FILL, 0, 0, 0);
- margin_x = gtk_spin_button_new_with_range (0, 500, 1);
- gtk_widget_show (margin_x);
- gtk_entry_set_max_length (GTK_ENTRY (margin_x), 3);
- gtk_table_attach (GTK_TABLE (table), margin_x, 3, 4, 1, 2, GTK_FILL, 0, 0, 0);
+ panel_autohide_size = gtk_spin_button_new_with_range (0, 500, 1);
+ gtk_widget_show (panel_autohide_size);
+ gtk_entry_set_max_length (GTK_ENTRY (panel_autohide_size), 3);
+ gtk_table_attach (GTK_TABLE (table), panel_autohide_size, 3, 4, 1, 2, GTK_FILL, 0, 0, 0);
label = gtk_label_new (_("Hide panel after"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 6, 7, 1, 2, GTK_FILL, 0, 0, 0);
- margin_y = gtk_spin_button_new_with_range (0, 10000, 0.1);
- gtk_widget_show (margin_y);
- gtk_table_attach (GTK_TABLE (table), margin_y, 7, 8, 1, 2, GTK_FILL, 0, 0, 0);
+ panel_autohide_hide_time = gtk_spin_button_new_with_range (0, 10000, 0.1);
+ gtk_widget_show (panel_autohide_hide_time);
+ gtk_table_attach (GTK_TABLE (table), panel_autohide_hide_time, 7, 8, 1, 2, GTK_FILL, 0, 0, 0);
label = gtk_label_new (_("seconds"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
@@ -367,10 +365,10 @@ void create_panel(GtkWidget *parent)
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 2, 3, 0, 1, GTK_FILL, 0, 0, 0);
- margin_x = gtk_spin_button_new_with_range (0, 500, 1);
- gtk_widget_show (margin_x);
- gtk_entry_set_max_length (GTK_ENTRY (margin_x), 3);
- gtk_table_attach (GTK_TABLE (table), margin_x, 3, 4, 0, 1, GTK_FILL, 0, 0, 0);
+ panel_padding_x = gtk_spin_button_new_with_range (0, 500, 1);
+ gtk_widget_show (panel_padding_x);
+ gtk_entry_set_max_length (GTK_ENTRY (panel_padding_x), 3);
+ gtk_table_attach (GTK_TABLE (table), panel_padding_x, 3, 4, 0, 1, GTK_FILL, 0, 0, 0);
label = gtk_label_new (_("Background"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
@@ -380,29 +378,29 @@ void create_panel(GtkWidget *parent)
combo_background = gtk_combo_box_new_text ();
gtk_widget_show (combo_background);
gtk_table_attach (GTK_TABLE (table), combo_background, 7, 8, 0, 1, GTK_FILL, 0, 0, 0);
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 1"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 2"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 3"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 1"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 2"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 3"));
label = gtk_label_new (_("Vertical padding"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 2, 3, 1, 2, GTK_FILL, 0, 0, 0);
- margin_y = gtk_spin_button_new_with_range (0, 500, 1);
- gtk_widget_show (margin_y);
- gtk_entry_set_max_length (GTK_ENTRY (margin_y), 3);
- gtk_table_attach (GTK_TABLE (table), margin_y, 3, 4, 1, 2, GTK_FILL, 0, 0, 0);
+ panel_padding_y = gtk_spin_button_new_with_range (0, 500, 1);
+ gtk_widget_show (panel_padding_y);
+ gtk_entry_set_max_length (GTK_ENTRY (panel_padding_y), 3);
+ gtk_table_attach (GTK_TABLE (table), panel_padding_y, 3, 4, 1, 2, GTK_FILL, 0, 0, 0);
label = gtk_label_new (_("Spacing"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 6, 7, 1, 2, GTK_FILL, 0, 0, 0);
- margin_x = gtk_spin_button_new_with_range (0, 500, 1);
- gtk_widget_show (margin_x);
- gtk_entry_set_max_length (GTK_ENTRY (margin_x), 3);
- gtk_table_attach (GTK_TABLE (table), margin_x, 7, 8, 1, 2, GTK_FILL, 0, 0, 0);
+ panel_spacing = gtk_spin_button_new_with_range (0, 500, 1);
+ gtk_widget_show (panel_spacing);
+ gtk_entry_set_max_length (GTK_ENTRY (panel_spacing), 3);
+ gtk_table_attach (GTK_TABLE (table), panel_spacing, 7, 8, 1, 2, GTK_FILL, 0, 0, 0);
change_paragraph(parent);
@@ -418,61 +416,91 @@ void create_panel(GtkWidget *parent)
gtk_table_set_row_spacings (GTK_TABLE (table), ROW_SPACING);
gtk_table_set_col_spacings (GTK_TABLE (table), COL_SPACING);
- label = gtk_label_new (_("WM menu"));
+ label = gtk_label_new (_("Show WM menu"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 2, 3, 0, 1, GTK_FILL, 0, 0, 0);
- margin_x = gtk_check_button_new ();
- gtk_widget_show (margin_x);
- gtk_entry_set_max_length (GTK_ENTRY (margin_x), 3);
- gtk_table_attach (GTK_TABLE (table), margin_x, 3, 4, 0, 1, GTK_FILL, 0, 0, 0);
+ panel_wm_menu = gtk_check_button_new ();
+ gtk_widget_show (panel_wm_menu);
+ gtk_entry_set_max_length (GTK_ENTRY (panel_wm_menu), 3);
+ gtk_table_attach (GTK_TABLE (table), panel_wm_menu, 3, 4, 0, 1, GTK_FILL, 0, 0, 0);
label = gtk_label_new (_("Place in dock"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 2, 3, 1, 2, GTK_FILL, 0, 0, 0);
- margin_x = gtk_check_button_new ();
- gtk_widget_show (margin_x);
- gtk_entry_set_max_length (GTK_ENTRY (margin_x), 3);
- gtk_table_attach (GTK_TABLE (table), margin_x, 3, 4, 1, 2, GTK_FILL, 0, 0, 0);
+ panel_dock = gtk_check_button_new ();
+ gtk_widget_show (panel_dock);
+ gtk_entry_set_max_length (GTK_ENTRY (panel_dock), 3);
+ gtk_table_attach (GTK_TABLE (table), panel_dock, 3, 4, 1, 2, GTK_FILL, 0, 0, 0);
- label = gtk_label_new (_("Layer"));
+ label = gtk_label_new (_("Panel's layer"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 6, 7, 0, 1, GTK_FILL, 0, 0, 0);
- combo_layer = gtk_combo_box_new_text ();
- gtk_widget_show (combo_layer);
- gtk_entry_set_max_length (GTK_ENTRY (combo_layer), 3);
- gtk_table_attach (GTK_TABLE (table), combo_layer, 7, 8, 0, 1, GTK_FILL, 0, 0, 0);
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_layer), _("top"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_layer), _("normal"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_layer), _("bottom"));
+ panel_combo_layer = gtk_combo_box_new_text ();
+ gtk_widget_show (panel_combo_layer);
+ gtk_entry_set_max_length (GTK_ENTRY (panel_combo_layer), 3);
+ gtk_table_attach (GTK_TABLE (table), panel_combo_layer, 7, 8, 0, 1, GTK_FILL, 0, 0, 0);
+ gtk_combo_box_append_text (GTK_COMBO_BOX (panel_combo_layer), _("Top"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (panel_combo_layer), _("Normal"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (panel_combo_layer), _("Bottom"));
- label = gtk_label_new (_("Strut policy"));
+ label = gtk_label_new (_("Maximized window"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 6, 7, 1, 2, GTK_FILL, 0, 0, 0);
- combo_strut_policy = gtk_combo_box_new_text ();
- gtk_widget_show (combo_strut_policy);
- gtk_entry_set_max_length (GTK_ENTRY (combo_strut_policy), 3);
- gtk_table_attach (GTK_TABLE (table), combo_strut_policy, 7, 8, 1, 2, GTK_FILL, 0, 0, 0);
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_strut_policy), _("follow_size"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_strut_policy), _("minimum"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_strut_policy), _("none"));
+ panel_combo_strut_policy = gtk_combo_box_new_text ();
+ gtk_widget_show (panel_combo_strut_policy);
+ gtk_entry_set_max_length (GTK_ENTRY (panel_combo_strut_policy), 3);
+ gtk_table_attach (GTK_TABLE (table), panel_combo_strut_policy, 7, 8, 1, 2, GTK_FILL, 0, 0, 0);
+ gtk_combo_box_append_text (GTK_COMBO_BOX (panel_combo_strut_policy), _("Follow panel size"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (panel_combo_strut_policy), _("Follow hidden size"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (panel_combo_strut_policy), _("Full screen"));
label = gtk_label_new (_("Monitor"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 10, 11, 0, 1, GTK_FILL, 0, 0, 0);
- combo_monitor = gtk_combo_box_new_text ();
- gtk_widget_show (combo_monitor);
- gtk_table_attach (GTK_TABLE (table), combo_monitor, 11, 12, 0, 1, GTK_FILL, 0, 0, 0);
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_monitor), _("All"));
+ panel_combo_monitor = gtk_combo_box_new_text ();
+ gtk_widget_show (panel_combo_monitor);
+ gtk_table_attach (GTK_TABLE (table), panel_combo_monitor, 11, 12, 0, 1, GTK_FILL, 0, 0, 0);
+ gtk_combo_box_append_text (GTK_COMBO_BOX (panel_combo_monitor), _("All"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (panel_combo_monitor), _("1"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (panel_combo_monitor), _("2"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (panel_combo_monitor), _("3"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (panel_combo_monitor), _("4"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (panel_combo_monitor), _("5"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (panel_combo_monitor), _("6"));
+
+ change_paragraph(parent);
+}
+
+
+void create_panel_items(GtkWidget *parent)
+{
+ GtkWidget *table, *label;
+
+ table = gtk_table_new (2, 2, FALSE);
+ gtk_widget_show (table);
+ gtk_box_pack_start (GTK_BOX (parent), table, FALSE, FALSE, 0);
+ gtk_table_set_row_spacings (GTK_TABLE (table), ROW_SPACING);
+ gtk_table_set_col_spacings (GTK_TABLE (table), COL_SPACING);
+
+ label = gtk_label_new (_("Items order"));
+ gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
+ gtk_widget_show (label);
+ gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1, GTK_FILL, 0, 0, 0);
+
+ items_order = gtk_entry_new ();
+ gtk_widget_show (items_order);
+ gtk_entry_set_width_chars (GTK_ENTRY (items_order), 15);
+ gtk_table_attach (GTK_TABLE (table), items_order, 1, 2, 0, 1, GTK_FILL, 0, 0, 0);
change_paragraph(parent);
}
@@ -541,9 +569,9 @@ void create_launcher(GtkWidget *parent)
combo_background = gtk_combo_box_new_text ();
gtk_widget_show (combo_background);
gtk_table_attach (GTK_TABLE (table), combo_background, 7, 8, 0, 1, GTK_FILL, 0, 0, 0);
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 1"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 2"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 3"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 1"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 2"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 3"));
label = gtk_label_new (_("Icon size"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
@@ -587,24 +615,24 @@ void create_taskbar(GtkWidget *parent)
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1, GTK_FILL, 0, 0, 0);
- margin_x = gtk_check_button_new ();
- gtk_widget_show (margin_x);
- gtk_entry_set_max_length (GTK_ENTRY (margin_x), 3);
- gtk_table_attach (GTK_TABLE (table), margin_x, 1, 2, 0, 1, GTK_FILL, 0, 0, 0);
+ taskbar_show_desktop = gtk_check_button_new ();
+ gtk_widget_show (taskbar_show_desktop);
+ gtk_entry_set_max_length (GTK_ENTRY (taskbar_show_desktop), 3);
+ gtk_table_attach (GTK_TABLE (table), taskbar_show_desktop, 1, 2, 0, 1, GTK_FILL, 0, 0, 0);
label = gtk_label_new (_("Show taskbar name"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2, GTK_FILL, 0, 0, 0);
- margin_x = gtk_check_button_new ();
- gtk_widget_show (margin_x);
- gtk_entry_set_max_length (GTK_ENTRY (margin_x), 3);
- gtk_table_attach (GTK_TABLE (table), margin_x, 1, 2, 1, 2, GTK_FILL, 0, 0, 0);
+ taskbar_show_name = gtk_check_button_new ();
+ gtk_widget_show (taskbar_show_name);
+ gtk_entry_set_max_length (GTK_ENTRY (taskbar_show_name), 3);
+ gtk_table_attach (GTK_TABLE (table), taskbar_show_name, 1, 2, 1, 2, GTK_FILL, 0, 0, 0);
change_paragraph(parent);
- label = gtk_label_new (_("Appearance"));
+ label = gtk_label_new (_("Taskbar Appearance"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
gtk_widget_show (label);
@@ -621,32 +649,32 @@ void create_taskbar(GtkWidget *parent)
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 2, 3, 0, 1, GTK_FILL, 0, 0, 0);
- margin_x = gtk_spin_button_new_with_range (0, 500, 1);
- gtk_widget_show (margin_x);
- gtk_entry_set_max_length (GTK_ENTRY (margin_x), 3);
- gtk_table_attach (GTK_TABLE (table), margin_x, 3, 4, 0, 1, GTK_FILL, 0, 0, 0);
+ taskbar_padding_x = gtk_spin_button_new_with_range (0, 500, 1);
+ gtk_widget_show (taskbar_padding_x);
+ gtk_entry_set_max_length (GTK_ENTRY (taskbar_padding_x), 3);
+ gtk_table_attach (GTK_TABLE (table), taskbar_padding_x, 3, 4, 0, 1, GTK_FILL, 0, 0, 0);
label = gtk_label_new (_("Vertical padding"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 2, 3, 1, 2, GTK_FILL, 0, 0, 0);
- margin_y = gtk_spin_button_new_with_range (0, 500, 1);
- gtk_widget_show (margin_y);
- gtk_entry_set_max_length (GTK_ENTRY (margin_y), 3);
- gtk_table_attach (GTK_TABLE (table), margin_y, 3, 4, 1, 2, GTK_FILL, 0, 0, 0);
+ taskbar_padding_y = gtk_spin_button_new_with_range (0, 500, 1);
+ gtk_widget_show (taskbar_padding_y);
+ gtk_entry_set_max_length (GTK_ENTRY (taskbar_padding_y), 3);
+ gtk_table_attach (GTK_TABLE (table), taskbar_padding_y, 3, 4, 1, 2, GTK_FILL, 0, 0, 0);
label = gtk_label_new (_("Spacing"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 2, 3, 2, 3, GTK_FILL, 0, 0, 0);
- margin_x = gtk_spin_button_new_with_range (0, 500, 1);
- gtk_widget_show (margin_x);
- gtk_entry_set_max_length (GTK_ENTRY (margin_x), 3);
- gtk_table_attach (GTK_TABLE (table), margin_x, 3, 4, 2, 3, GTK_FILL, 0, 0, 0);
+ taskbar_spacing = gtk_spin_button_new_with_range (0, 500, 1);
+ gtk_widget_show (taskbar_spacing);
+ gtk_entry_set_max_length (GTK_ENTRY (taskbar_spacing), 3);
+ gtk_table_attach (GTK_TABLE (table), taskbar_spacing, 3, 4, 2, 3, GTK_FILL, 0, 0, 0);
- label = gtk_label_new (_("Normal background"));
+ label = gtk_label_new (_("Inactive background"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 6, 7, 0, 1, GTK_FILL, 0, 0, 0);
@@ -654,9 +682,9 @@ void create_taskbar(GtkWidget *parent)
combo_background = gtk_combo_box_new_text ();
gtk_widget_show (combo_background);
gtk_table_attach (GTK_TABLE (table), combo_background, 7, 8, 0, 1, GTK_FILL, 0, 0, 0);
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 1"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 2"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 3"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 1"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 2"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 3"));
label = gtk_label_new (_("Active background"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
@@ -666,9 +694,9 @@ void create_taskbar(GtkWidget *parent)
combo_background = gtk_combo_box_new_text ();
gtk_widget_show (combo_background);
gtk_table_attach (GTK_TABLE (table), combo_background, 7, 8, 1, 2, GTK_FILL, 0, 0, 0);
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 1"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 2"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 3"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 1"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 2"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 3"));
change_paragraph(parent);
@@ -678,7 +706,7 @@ void create_taskbar(GtkWidget *parent)
gtk_widget_show (label);
gtk_box_pack_start(GTK_BOX (parent), label, FALSE, FALSE, 0);
- table = gtk_table_new (2, 12, FALSE);
+ table = gtk_table_new (6, 22, FALSE);
gtk_widget_show (table);
gtk_box_pack_start (GTK_BOX (parent), table, FALSE, FALSE, 0);
gtk_table_set_row_spacings (GTK_TABLE (table), ROW_SPACING);
@@ -689,34 +717,42 @@ void create_taskbar(GtkWidget *parent)
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 2, 3, 0, 1, GTK_FILL, 0, 0, 0);
- margin_x = gtk_spin_button_new_with_range (0, 500, 1);
- gtk_widget_show (margin_x);
- gtk_entry_set_max_length (GTK_ENTRY (margin_x), 3);
- gtk_table_attach (GTK_TABLE (table), margin_x, 3, 4, 0, 1, GTK_FILL, 0, 0, 0);
+ taskbar_name_padding_x = gtk_spin_button_new_with_range (0, 500, 1);
+ gtk_widget_show (taskbar_name_padding_x);
+ gtk_entry_set_max_length (GTK_ENTRY (taskbar_name_padding_x), 3);
+ gtk_table_attach (GTK_TABLE (table), taskbar_name_padding_x, 3, 4, 0, 1, GTK_FILL, 0, 0, 0);
- label = gtk_label_new (_("Vertical padding"));
+ label = gtk_label_new (_("Inactive font color"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 2, 3, 1, 2, GTK_FILL, 0, 0, 0);
- margin_y = gtk_spin_button_new_with_range (0, 500, 1);
- gtk_widget_show (margin_y);
- gtk_entry_set_max_length (GTK_ENTRY (margin_y), 3);
- gtk_table_attach (GTK_TABLE (table), margin_y, 3, 4, 1, 2, GTK_FILL, 0, 0, 0);
+ taskbar_name_inactive_color = gtk_color_button_new();
+ gtk_color_button_set_use_alpha(GTK_COLOR_BUTTON(taskbar_name_inactive_color), TRUE);
+ gtk_widget_show (taskbar_name_inactive_color);
+ gtk_table_attach (GTK_TABLE (table), taskbar_name_inactive_color, 3, 4, 1, 2, GTK_FILL, 0, 0, 0);
- label = gtk_label_new (_("Normal background"));
+ label = gtk_label_new (_("Active font color"));
+ gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
+ gtk_widget_show (label);
+ gtk_table_attach (GTK_TABLE (table), label, 2, 3, 2, 3, GTK_FILL, 0, 0, 0);
+
+ taskbar_name_active_color = gtk_color_button_new();
+ gtk_color_button_set_use_alpha(GTK_COLOR_BUTTON(taskbar_name_active_color), TRUE);
+ gtk_widget_show (taskbar_name_active_color);
+ gtk_table_attach (GTK_TABLE (table), taskbar_name_active_color, 3, 4, 2, 3, GTK_FILL, 0, 0, 0);
+
+ label = gtk_label_new (_("Font"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 6, 7, 0, 1, GTK_FILL, 0, 0, 0);
- combo_background = gtk_combo_box_new_text ();
- gtk_widget_show (combo_background);
- gtk_table_attach (GTK_TABLE (table), combo_background, 7, 8, 0, 1, GTK_FILL, 0, 0, 0);
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 1"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 2"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 3"));
+ taskbar_name_font = gtk_font_button_new ();
+ gtk_widget_show (taskbar_name_font);
+ gtk_table_attach (GTK_TABLE (table), taskbar_name_font, 7, 22, 0, 1, GTK_FILL, 0, 0, 0);
+ //gtk_font_button_set_show_style (GTK_FONT_BUTTON (taskbar_name_font), FALSE);
- label = gtk_label_new (_("Active background"));
+ label = gtk_label_new (_("Inactive background"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 6, 7, 1, 2, GTK_FILL, 0, 0, 0);
@@ -724,9 +760,21 @@ void create_taskbar(GtkWidget *parent)
combo_background = gtk_combo_box_new_text ();
gtk_widget_show (combo_background);
gtk_table_attach (GTK_TABLE (table), combo_background, 7, 8, 1, 2, GTK_FILL, 0, 0, 0);
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 1"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 2"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 3"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 1"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 2"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 3"));
+
+ label = gtk_label_new (_("Active background"));
+ gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
+ gtk_widget_show (label);
+ gtk_table_attach (GTK_TABLE (table), label, 6, 7, 2, 3, GTK_FILL, 0, 0, 0);
+
+ combo_background = gtk_combo_box_new_text ();
+ gtk_widget_show (combo_background);
+ gtk_table_attach (GTK_TABLE (table), combo_background, 7, 8, 2, 3, GTK_FILL, 0, 0, 0);
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 1"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 2"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 3"));
change_paragraph(parent);
}
@@ -945,64 +993,64 @@ void create_clock(GtkWidget *parent)
gtk_table_set_row_spacings (GTK_TABLE (table), ROW_SPACING);
gtk_table_set_col_spacings (GTK_TABLE (table), COL_SPACING);
- label = gtk_label_new (_("First line"));
+ label = gtk_label_new (_("First line format"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 2, 3, 0, 1, GTK_FILL, 0, 0, 0);
margin_x = gtk_entry_new ();
gtk_widget_show (margin_x);
- gtk_entry_set_width_chars (GTK_ENTRY (margin_x), 15);
+ gtk_entry_set_width_chars (GTK_ENTRY (margin_x), 16);
gtk_table_attach (GTK_TABLE (table), margin_x, 3, 4, 0, 1, GTK_FILL, 0, 0, 0);
- label = gtk_label_new (_("Second line"));
+ label = gtk_label_new (_("Second line format"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 2, 3, 1, 2, GTK_FILL, 0, 0, 0);
margin_x = gtk_entry_new ();
gtk_widget_show (margin_x);
- gtk_entry_set_width_chars (GTK_ENTRY (margin_x), 15);
+ gtk_entry_set_width_chars (GTK_ENTRY (margin_x), 16);
gtk_table_attach (GTK_TABLE (table), margin_x, 3, 4, 1, 2, GTK_FILL, 0, 0, 0);
- label = gtk_label_new (_("Tooltip"));
+ label = gtk_label_new (_("Tooltip format"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 2, 3, 2, 3, GTK_FILL, 0, 0, 0);
margin_x = gtk_entry_new ();
gtk_widget_show (margin_x);
- gtk_entry_set_width_chars (GTK_ENTRY (margin_x), 15);
+ gtk_entry_set_width_chars (GTK_ENTRY (margin_x), 16);
gtk_table_attach (GTK_TABLE (table), margin_x, 3, 4, 2, 3, GTK_FILL, 0, 0, 0);
- label = gtk_label_new (_("First line"));
+ label = gtk_label_new (_("First line timezone"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 6, 7, 0, 1, GTK_FILL, 0, 0, 0);
margin_x = gtk_entry_new ();
gtk_widget_show (margin_x);
- gtk_entry_set_width_chars (GTK_ENTRY (margin_x), 20);
+ gtk_entry_set_width_chars (GTK_ENTRY (margin_x), 16);
gtk_table_attach (GTK_TABLE (table), margin_x, 7, 8, 0, 1, GTK_FILL, 0, 0, 0);
- label = gtk_label_new (_("Second line"));
+ label = gtk_label_new (_("Second line timezone"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 6, 7, 1, 2, GTK_FILL, 0, 0, 0);
margin_x = gtk_entry_new ();
gtk_widget_show (margin_x);
- gtk_entry_set_width_chars (GTK_ENTRY (margin_x), 20);
+ gtk_entry_set_width_chars (GTK_ENTRY (margin_x), 16);
gtk_table_attach (GTK_TABLE (table), margin_x, 7, 8, 1, 2, GTK_FILL, 0, 0, 0);
- label = gtk_label_new (_("Tooltip"));
+ label = gtk_label_new (_("Tooltip timezone"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 6, 7, 2, 3, GTK_FILL, 0, 0, 0);
margin_x = gtk_entry_new ();
gtk_widget_show (margin_x);
- gtk_entry_set_width_chars (GTK_ENTRY (margin_x), 20);
+ gtk_entry_set_width_chars (GTK_ENTRY (margin_x), 16);
gtk_table_attach (GTK_TABLE (table), margin_x, 7, 8, 2, 3, GTK_FILL, 0, 0, 0);
change_paragraph(parent);
@@ -1026,7 +1074,7 @@ void create_clock(GtkWidget *parent)
margin_x = gtk_entry_new ();
gtk_widget_show (margin_x);
- gtk_entry_set_width_chars (GTK_ENTRY (margin_x), 12);
+ gtk_entry_set_width_chars (GTK_ENTRY (margin_x), 16);
gtk_table_attach (GTK_TABLE (table), margin_x, 3, 4, 0, 1, GTK_FILL, 0, 0, 0);
label = gtk_label_new (_("Right click command"));
@@ -1036,7 +1084,7 @@ void create_clock(GtkWidget *parent)
margin_x = gtk_entry_new ();
gtk_widget_show (margin_x);
- gtk_entry_set_width_chars (GTK_ENTRY (margin_x), 12);
+ gtk_entry_set_width_chars (GTK_ENTRY (margin_x), 16);
gtk_table_attach (GTK_TABLE (table), margin_x, 7, 8, 0, 1, GTK_FILL, 0, 0, 0);
change_paragraph(parent);
@@ -1047,7 +1095,7 @@ void create_clock(GtkWidget *parent)
gtk_widget_show (label);
gtk_box_pack_start(GTK_BOX (parent), label, FALSE, FALSE, 0);
- table = gtk_table_new (3, 10, FALSE);
+ table = gtk_table_new (3, 22, FALSE);
gtk_widget_show (table);
gtk_box_pack_start (GTK_BOX (parent), table, FALSE, FALSE, 0);
gtk_table_set_row_spacings (GTK_TABLE (table), ROW_SPACING);
@@ -1081,9 +1129,9 @@ void create_clock(GtkWidget *parent)
combo_background = gtk_combo_box_new_text ();
gtk_widget_show (combo_background);
gtk_table_attach (GTK_TABLE (table), combo_background, 3, 4, 2, 3, GTK_FILL, 0, 0, 0);
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 1"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 2"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 3"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 1"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 2"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 3"));
label = gtk_label_new (_("Font first line"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
@@ -1092,7 +1140,7 @@ void create_clock(GtkWidget *parent)
margin_x = gtk_font_button_new ();
gtk_widget_show (margin_x);
- gtk_table_attach (GTK_TABLE (table), margin_x, 7, 8, 0, 1, GTK_FILL, 0, 0, 0);
+ gtk_table_attach (GTK_TABLE (table), margin_x, 7, 22, 0, 1, GTK_FILL, 0, 0, 0);
// gtk_font_button_set_show_style (GTK_FONT_BUTTON (margin_x), FALSE);
label = gtk_label_new (_("Font second line"));
@@ -1102,7 +1150,7 @@ void create_clock(GtkWidget *parent)
margin_x = gtk_font_button_new ();
gtk_widget_show (margin_x);
- gtk_table_attach (GTK_TABLE (table), margin_x, 7, 8, 1, 2, GTK_FILL, 0, 0, 0);
+ gtk_table_attach (GTK_TABLE (table), margin_x, 7, 22, 1, 2, GTK_FILL, 0, 0, 0);
// gtk_font_button_set_show_style (GTK_FONT_BUTTON (margin_x), FALSE);
label = gtk_label_new (_("Font color"));
@@ -1122,7 +1170,7 @@ void create_clock(GtkWidget *parent)
void create_systemtray(GtkWidget *parent)
{
GtkWidget *table;
- GtkWidget *margin_x, *margin_y, *combo_background;
+ GtkWidget *margin_x, *margin_y;
GtkWidget *label;
table = gtk_table_new (2, 2, FALSE);
@@ -1136,13 +1184,13 @@ void create_systemtray(GtkWidget *parent)
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2, GTK_FILL, 0, 0, 0);
- combo_background = gtk_combo_box_new_text ();
- gtk_widget_show (combo_background);
- gtk_table_attach (GTK_TABLE (table), combo_background, 1, 2, 1, 2, GTK_FILL, 0, 0, 0);
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("ascending"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("descending"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("left2right"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("right2left"));
+ systray_icon_order = gtk_combo_box_new_text ();
+ gtk_widget_show (systray_icon_order);
+ gtk_table_attach (GTK_TABLE (table), systray_icon_order, 1, 2, 1, 2, GTK_FILL, 0, 0, 0);
+ gtk_combo_box_append_text (GTK_COMBO_BOX (systray_icon_order), _("Ascending"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (systray_icon_order), _("Descending"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (systray_icon_order), _("Left to right"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (systray_icon_order), _("Right to left"));
change_paragraph(parent);
@@ -1196,9 +1244,9 @@ void create_systemtray(GtkWidget *parent)
combo_background = gtk_combo_box_new_text ();
gtk_widget_show (combo_background);
gtk_table_attach (GTK_TABLE (table), combo_background, 3, 4, 3, 4, GTK_FILL, 0, 0, 0);
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 1"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 2"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 3"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 1"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 2"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 3"));
label = gtk_label_new (_("Icon size"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
@@ -1245,9 +1293,8 @@ void create_systemtray(GtkWidget *parent)
void create_battery(GtkWidget *parent)
{
- GtkWidget *table;
- GtkWidget *margin_x, *margin_y, *combo_background;
- GtkWidget *label;
+ GtkWidget *table, *label;
+ GtkWidget *margin_x, *margin_y, *combo_background, *alert_command;
table = gtk_table_new (1, 2, FALSE);
gtk_widget_show (table);
@@ -1297,6 +1344,17 @@ void create_battery(GtkWidget *parent)
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 4, 5, 1, 2, GTK_FILL, 0, 0, 0);
+ label = gtk_label_new (_("Alert command"));
+ gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
+ gtk_widget_show (label);
+ gtk_table_attach (GTK_TABLE (table), label, 7, 8, 1, 2, GTK_FILL, 0, 0, 0);
+
+ alert_command = gtk_entry_new ();
+ gtk_widget_show (alert_command);
+ gtk_entry_set_width_chars (GTK_ENTRY (alert_command), 20);
+ gtk_table_attach (GTK_TABLE (table), alert_command, 8, 9, 1, 2, GTK_FILL, 0, 0, 0);
+
+
change_paragraph(parent);
label = gtk_label_new (_("Appearance"));
@@ -1305,7 +1363,7 @@ void create_battery(GtkWidget *parent)
gtk_widget_show (label);
gtk_box_pack_start(GTK_BOX (parent), label, FALSE, FALSE, 0);
- table = gtk_table_new (4, 10, FALSE);
+ table = gtk_table_new (4, 22, FALSE);
gtk_widget_show (table);
gtk_box_pack_start (GTK_BOX (parent), table, FALSE, FALSE, 0);
gtk_table_set_row_spacings (GTK_TABLE (table), ROW_SPACING);
@@ -1339,9 +1397,9 @@ void create_battery(GtkWidget *parent)
combo_background = gtk_combo_box_new_text ();
gtk_widget_show (combo_background);
gtk_table_attach (GTK_TABLE (table), combo_background, 3, 4, 2, 3, GTK_FILL, 0, 0, 0);
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 1"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 2"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 3"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 1"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 2"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 3"));
label = gtk_label_new (_("Font first line"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
@@ -1350,7 +1408,7 @@ void create_battery(GtkWidget *parent)
margin_x = gtk_font_button_new ();
gtk_widget_show (margin_x);
- gtk_table_attach (GTK_TABLE (table), margin_x, 7, 8, 0, 1, GTK_FILL, 0, 0, 0);
+ gtk_table_attach (GTK_TABLE (table), margin_x, 7, 22, 0, 1, GTK_FILL, 0, 0, 0);
// gtk_font_button_set_show_style (GTK_FONT_BUTTON (margin_x), FALSE);
label = gtk_label_new (_("Font second line"));
@@ -1360,7 +1418,7 @@ void create_battery(GtkWidget *parent)
margin_x = gtk_font_button_new ();
gtk_widget_show (margin_x);
- gtk_table_attach (GTK_TABLE (table), margin_x, 7, 8, 1, 2, GTK_FILL, 0, 0, 0);
+ gtk_table_attach (GTK_TABLE (table), margin_x, 7, 22, 1, 2, GTK_FILL, 0, 0, 0);
// gtk_font_button_set_show_style (GTK_FONT_BUTTON (margin_x), FALSE);
label = gtk_label_new (_("Font color"));
@@ -1406,7 +1464,7 @@ void create_tooltip(GtkWidget *parent)
gtk_widget_show (label);
gtk_box_pack_start(GTK_BOX (parent), label, FALSE, FALSE, 0);
- table = gtk_table_new (2, 10, FALSE);
+ table = gtk_table_new (2, 22, FALSE);
gtk_widget_show (table);
gtk_box_pack_start (GTK_BOX (parent), table, FALSE, FALSE, 0);
gtk_table_set_row_spacings (GTK_TABLE (table), ROW_SPACING);
@@ -1482,9 +1540,9 @@ void create_tooltip(GtkWidget *parent)
combo_background = gtk_combo_box_new_text ();
gtk_widget_show (combo_background);
gtk_table_attach (GTK_TABLE (table), combo_background, 3, 4, 2, 3, GTK_FILL, 0, 0, 0);
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 1"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 2"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Back 3"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 1"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 2"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background), _("Id 3"));
label = gtk_label_new (_("Font"));
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
@@ -1493,7 +1551,7 @@ void create_tooltip(GtkWidget *parent)
margin_x = gtk_font_button_new ();
gtk_widget_show (margin_x);
- gtk_table_attach (GTK_TABLE (table), margin_x, 7, 8, 0, 1, GTK_FILL, 0, 0, 0);
+ gtk_table_attach (GTK_TABLE (table), margin_x, 7, 22, 0, 1, GTK_FILL, 0, 0, 0);
// gtk_font_button_set_show_style (GTK_FONT_BUTTON (margin_x), FALSE);
label = gtk_label_new (_("Font color"));
diff --git a/src/tint2conf/properties.h b/src/tint2conf/properties.h
index 5378bd7..c66edb2 100644
--- a/src/tint2conf/properties.h
+++ b/src/tint2conf/properties.h
@@ -4,6 +4,32 @@
#include
+// panel
+GtkWidget *panel_width, *panel_height, *panel_margin_x, *panel_margin_y, *panel_padding_x, *panel_padding_y, *panel_spacing;
+GtkWidget *panel_wm_menu, *panel_dock, *panel_autohide, *panel_autohide_show_time, *panel_autohide_hide_time, *panel_autohide_size;
+GtkWidget *panel_combo_strut_policy, *panel_combo_layer, *panel_combo_width_type, *panel_combo_height_type, *panel_combo_monitor;
+GtkWidget *items_order;
+
+// taskbar
+GtkWidget *taskbar_show_desktop, *taskbar_show_name, *taskbar_padding_x, *taskbar_padding_y, *taskbar_spacing;
+GtkWidget *taskbar_name_padding_x, *taskbar_name_inactive_color, *taskbar_name_active_color, *taskbar_name_font;
+
+// task
+
+// clock
+
+// battery
+
+// systray
+GtkWidget *systray_icon_order;
+
+// tooltip
+
+// launcher
+
+// background
+GtkWidget *combo_background;
+GtkWidget *margin_x, *margin_y;
GtkWidget *create_properties();
diff --git a/src/tint2conf/properties_rw.c b/src/tint2conf/properties_rw.c
new file mode 100644
index 0000000..78df71f
--- /dev/null
+++ b/src/tint2conf/properties_rw.c
@@ -0,0 +1,551 @@
+
+#include
+#include
+#include
+#include
+
+#include "common.h"
+#include "properties.h"
+#include "properties_rw.h"
+
+
+void add_entry (char *key, char *value);
+void hex2gdk(char *hex, GdkColor *color);
+
+
+
+void config_read_file (const char *path)
+{
+ FILE *fp;
+ char line[512];
+ char *key, *value;
+
+ if ((fp = fopen(path, "r")) == NULL) return;
+
+ while (fgets(line, sizeof(line), fp) != NULL) {
+ if (parse_line(line, &key, &value)) {
+ add_entry (key, value);
+ free (key);
+ free (value);
+ }
+ }
+ fclose (fp);
+}
+
+
+void config_save_file(const char *path) {
+ //printf("config_save_file : %s\n", path);
+}
+
+
+void add_entry (char *key, char *value)
+{
+ char *value1=0, *value2=0, *value3=0;
+
+ /* Background and border */
+ if (strcmp (key, "rounded") == 0) {
+ // 'rounded' is the first parameter => alloc a new background
+ //Background bg;
+ //bg.border.rounded = atoi(value);
+ //g_array_append_val(backgrounds, bg);
+ }
+ else if (strcmp (key, "border_width") == 0) {
+ //g_array_index(backgrounds, Background, backgrounds->len-1).border.width = atoi(value);
+ }
+ else if (strcmp (key, "background_color") == 0) {
+ extract_values(value, &value1, &value2, &value3);
+ //Background* bg = &g_array_index(backgrounds, Background, backgrounds->len-1);
+ //get_color (value1, bg->back.color);
+ //if (value2) bg->back.alpha = (atoi (value2) / 100.0);
+ //else bg->back.alpha = 0.5;
+ }
+ else if (strcmp (key, "border_color") == 0) {
+ extract_values(value, &value1, &value2, &value3);
+ //Background* bg = &g_array_index(backgrounds, Background, backgrounds->len-1);
+ //get_color (value1, bg->border.color);
+ //if (value2) bg->border.alpha = (atoi (value2) / 100.0);
+ //else bg->border.alpha = 0.5;
+ }
+
+ /* Panel */
+ else if (strcmp (key, "panel_size") == 0) {
+ extract_values(value, &value1, &value2, &value3);
+ char *b;
+ if ((b = strchr (value1, '%'))) {
+ b[0] = '\0';
+ gtk_combo_box_set_active(GTK_COMBO_BOX(panel_combo_width_type), 0);
+ }
+ else
+ gtk_combo_box_set_active(GTK_COMBO_BOX(panel_combo_width_type), 1);
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(panel_width), atof(value1));
+ if (atoi(value1) == 0) {
+ // full width mode
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(panel_width), 100);
+ gtk_combo_box_set_active(GTK_COMBO_BOX(panel_combo_width_type), 0);
+ }
+ if ((b = strchr (value2, '%'))) {
+ b[0] = '\0';
+ gtk_combo_box_set_active(GTK_COMBO_BOX(panel_combo_height_type), 0);
+ }
+ else
+ gtk_combo_box_set_active(GTK_COMBO_BOX(panel_combo_height_type), 1);
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(panel_height), atof(value2));
+ }
+ else if (strcmp (key, "panel_items") == 0) {
+ gtk_entry_set_text(GTK_ENTRY(items_order), value);
+ }
+ else if (strcmp (key, "panel_margin") == 0) {
+ extract_values(value, &value1, &value2, &value3);
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(panel_margin_x), atof(value1));
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(panel_margin_y), atof(value1));
+ }
+ else if (strcmp (key, "panel_padding") == 0) {
+ extract_values(value, &value1, &value2, &value3);
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(panel_padding_x), atof(value1));
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(panel_spacing), atof(value1));
+ if (value2) gtk_spin_button_set_value(GTK_SPIN_BUTTON(panel_padding_y), atof(value2));
+ if (value3) gtk_spin_button_set_value(GTK_SPIN_BUTTON(panel_spacing), atof(value3));
+ }
+ else if (strcmp (key, "panel_position") == 0) {
+ extract_values(value, &value1, &value2, &value3);
+ /*
+ if (strcmp (value1, "top") == 0) panel_position = TOP;
+ else {
+ if (strcmp (value1, "bottom") == 0) panel_position = BOTTOM;
+ else panel_position = CENTER;
+ }
+
+ if (!value2) panel_position |= CENTER;
+ else {
+ if (strcmp (value2, "left") == 0) panel_position |= LEFT;
+ else {
+ if (strcmp (value2, "right") == 0) panel_position |= RIGHT;
+ else panel_position |= CENTER;
+ }
+ }
+ if (!value3) panel_horizontal = 1;
+ else {
+ if (strcmp (value3, "vertical") == 0) panel_horizontal = 0;
+ else panel_horizontal = 1;
+ }
+ */
+ }
+ else if (strcmp (key, "panel_background_id") == 0) {
+ //int id = atoi (value);
+ //id = (id < backgrounds->len && id >= 0) ? id : 0;
+ //panel_config.area.bg = &g_array_index(backgrounds, Background, id);
+ }
+ else if (strcmp (key, "wm_menu") == 0) {
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(panel_wm_menu), atoi(value));
+ }
+ else if (strcmp (key, "panel_dock") == 0) {
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(panel_dock), atoi(value));
+ }
+ else if (strcmp (key, "panel_layer") == 0) {
+ if (strcmp(value, "bottom") == 0)
+ gtk_combo_box_set_active(GTK_COMBO_BOX(panel_combo_layer), 2);
+ else if (strcmp(value, "top") == 0)
+ gtk_combo_box_set_active(GTK_COMBO_BOX(panel_combo_layer), 0);
+ else
+ gtk_combo_box_set_active(GTK_COMBO_BOX(panel_combo_layer), 1);
+ }
+ else if (strcmp (key, "panel_monitor") == 0) {
+ //panel_config.monitor = config_get_monitor(value);
+ }
+ else if (strcmp (key, "font_shadow") == 0) {
+ //panel_config.g_task.font_shadow = atoi (value);
+ }
+ else if (strcmp (key, "urgent_nb_of_blink") == 0) {
+ //max_tick_urgent = atoi (value);
+ }
+
+ /* autohide options */
+ else if (strcmp(key, "autohide") == 0) {
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(panel_autohide), atoi(value));
+ }
+ else if (strcmp(key, "autohide_show_timeout") == 0) {
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(panel_autohide_show_time), atof(value));
+ }
+ else if (strcmp(key, "autohide_hide_timeout") == 0) {
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(panel_autohide_hide_time), atof(value));
+ }
+ else if (strcmp(key, "strut_policy") == 0) {
+ if (strcmp(value, "follow_size") == 0)
+ gtk_combo_box_set_active(GTK_COMBO_BOX(panel_combo_strut_policy), 0);
+ else if (strcmp(value, "none") == 0)
+ gtk_combo_box_set_active(GTK_COMBO_BOX(panel_combo_strut_policy), 2);
+ else
+ gtk_combo_box_set_active(GTK_COMBO_BOX(panel_combo_strut_policy), 1);
+ }
+ else if (strcmp(key, "autohide_height") == 0) {
+ if (atoi(value) == 0) {
+ // autohide need height > 0
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(panel_autohide_size), 1);
+ }
+ else
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(panel_autohide_size), atof(value));
+ }
+
+ /* Battery */
+ else if (strcmp (key, "battery_low_status") == 0) {
+#ifdef ENABLE_BATTERY
+ //battery_low_status = atoi(value);
+ //if(battery_low_status < 0 || battery_low_status > 100)
+ //battery_low_status = 0;
+#endif
+ }
+ else if (strcmp (key, "battery_low_cmd") == 0) {
+#ifdef ENABLE_BATTERY
+ //if (strlen(value) > 0)
+ //battery_low_cmd = strdup (value);
+#endif
+ }
+ else if (strcmp (key, "bat1_font") == 0) {
+#ifdef ENABLE_BATTERY
+ //bat1_font_desc = pango_font_description_from_string (value);
+#endif
+ }
+ else if (strcmp (key, "bat2_font") == 0) {
+#ifdef ENABLE_BATTERY
+ //bat2_font_desc = pango_font_description_from_string (value);
+#endif
+ }
+ else if (strcmp (key, "battery_font_color") == 0) {
+#ifdef ENABLE_BATTERY
+ extract_values(value, &value1, &value2, &value3);
+ //get_color (value1, panel_config.battery.font.color);
+ //if (value2) panel_config.battery.font.alpha = (atoi (value2) / 100.0);
+ //else panel_config.battery.font.alpha = 0.5;
+#endif
+ }
+ else if (strcmp (key, "battery_padding") == 0) {
+#ifdef ENABLE_BATTERY
+ extract_values(value, &value1, &value2, &value3);
+ //panel_config.battery.area.paddingxlr = panel_config.battery.area.paddingx = atoi (value1);
+ //if (value2) panel_config.battery.area.paddingy = atoi (value2);
+ //if (value3) panel_config.battery.area.paddingx = atoi (value3);
+#endif
+ }
+ else if (strcmp (key, "battery_background_id") == 0) {
+#ifdef ENABLE_BATTERY
+ //int id = atoi (value);
+ //id = (id < backgrounds->len && id >= 0) ? id : 0;
+ //panel_config.battery.area.bg = &g_array_index(backgrounds, Background, id);
+#endif
+ }
+ else if (strcmp (key, "battery_hide") == 0) {
+#ifdef ENABLE_BATTERY
+ //percentage_hide = atoi (value);
+ //if (percentage_hide == 0)
+ // percentage_hide = 101;
+#endif
+ }
+
+ /* Clock */
+ else if (strcmp (key, "time1_format") == 0) {
+ //if (strlen(value) > 0) {
+ //time1_format = strdup (value);
+ //clock_enabled = 1;
+ //}
+ }
+ else if (strcmp (key, "time2_format") == 0) {
+ //if (strlen(value) > 0)
+ //time2_format = strdup (value);
+ }
+ else if (strcmp (key, "time1_font") == 0) {
+ //time1_font_desc = pango_font_description_from_string (value);
+ }
+ else if (strcmp(key, "time1_timezone") == 0) {
+ //if (strlen(value) > 0)
+ //time1_timezone = strdup(value);
+ }
+ else if (strcmp(key, "time2_timezone") == 0) {
+ //if (strlen(value) > 0)
+ //time2_timezone = strdup(value);
+ }
+ else if (strcmp (key, "time2_font") == 0) {
+ //time2_font_desc = pango_font_description_from_string (value);
+ }
+ else if (strcmp (key, "clock_font_color") == 0) {
+ extract_values(value, &value1, &value2, &value3);
+ //get_color (value1, panel_config.clock.font.color);
+ //if (value2) panel_config.clock.font.alpha = (atoi (value2) / 100.0);
+ //else panel_config.clock.font.alpha = 0.5;
+ }
+ else if (strcmp (key, "clock_padding") == 0) {
+ extract_values(value, &value1, &value2, &value3);
+ //panel_config.clock.area.paddingxlr = panel_config.clock.area.paddingx = atoi (value1);
+ //if (value2) panel_config.clock.area.paddingy = atoi (value2);
+ //if (value3) panel_config.clock.area.paddingx = atoi (value3);
+ }
+ else if (strcmp (key, "clock_background_id") == 0) {
+ //int id = atoi (value);
+ //id = (id < backgrounds->len && id >= 0) ? id : 0;
+ //panel_config.clock.area.bg = &g_array_index(backgrounds, Background, id);
+ }
+ else if (strcmp(key, "clock_tooltip") == 0) {
+ //if (strlen(value) > 0)
+ //time_tooltip_format = strdup (value);
+ }
+ else if (strcmp(key, "clock_tooltip_timezone") == 0) {
+ //if (strlen(value) > 0)
+ //time_tooltip_timezone = strdup(value);
+ }
+ else if (strcmp(key, "clock_lclick_command") == 0) {
+ //if (strlen(value) > 0)
+ //clock_lclick_command = strdup(value);
+ }
+ else if (strcmp(key, "clock_rclick_command") == 0) {
+ //if (strlen(value) > 0)
+ //clock_rclick_command = strdup(value);
+ }
+
+ /* Taskbar */
+ else if (strcmp (key, "taskbar_mode") == 0) {
+ if (strcmp (value, "multi_desktop") == 0)
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(taskbar_show_desktop), 1);
+ else
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(taskbar_show_desktop), 0);
+ }
+ else if (strcmp (key, "taskbar_padding") == 0) {
+ extract_values(value, &value1, &value2, &value3);
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(taskbar_padding_x), atof(value1));
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(taskbar_spacing), atof(value1));
+ if (value2) gtk_spin_button_set_value(GTK_SPIN_BUTTON(taskbar_padding_y), atof(value2));
+ if (value3) gtk_spin_button_set_value(GTK_SPIN_BUTTON(taskbar_spacing), atof(value3));
+ }
+ else if (strcmp (key, "taskbar_background_id") == 0) {
+ //int id = atoi (value);
+ //id = (id < backgrounds->len && id >= 0) ? id : 0;
+ //panel_config.g_taskbar.background[TASKBAR_NORMAL] = &g_array_index(backgrounds, Background, id);
+ //if (panel_config.g_taskbar.background[TASKBAR_ACTIVE] == 0)
+ //panel_config.g_taskbar.background[TASKBAR_ACTIVE] = panel_config.g_taskbar.background[TASKBAR_NORMAL];
+ }
+ else if (strcmp (key, "taskbar_active_background_id") == 0) {
+ //int id = atoi (value);
+ //id = (id < backgrounds->len && id >= 0) ? id : 0;
+ //panel_config.g_taskbar.background[TASKBAR_ACTIVE] = &g_array_index(backgrounds, Background, id);
+ }
+ else if (strcmp (key, "taskbar_name") == 0) {
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(taskbar_show_name), atoi(value));
+ }
+ else if (strcmp (key, "taskbar_name_padding") == 0) {
+ extract_values(value, &value1, &value2, &value3);
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(taskbar_name_padding_x), atof(value1));
+ }
+ else if (strcmp (key, "taskbar_name_background_id") == 0) {
+ //int id = atoi (value);
+ //id = (id < backgrounds->len && id >= 0) ? id : 0;
+ //panel_config.g_taskbar.background_name[TASKBAR_NORMAL] = &g_array_index(backgrounds, Background, id);
+ //if (panel_config.g_taskbar.background_name[TASKBAR_ACTIVE] == 0)
+ //panel_config.g_taskbar.background_name[TASKBAR_ACTIVE] = panel_config.g_taskbar.background_name[TASKBAR_NORMAL];
+ }
+ else if (strcmp (key, "taskbar_name_active_background_id") == 0) {
+ //int id = atoi (value);
+ //id = (id < backgrounds->len && id >= 0) ? id : 0;
+ //panel_config.g_taskbar.background_name[TASKBAR_ACTIVE] = &g_array_index(backgrounds, Background, id);
+ }
+ else if (strcmp (key, "taskbar_name_font") == 0) {
+ gtk_font_button_set_font_name(GTK_FONT_BUTTON(taskbar_name_font), value);
+ }
+ else if (strcmp (key, "taskbar_name_font_color") == 0) {
+ extract_values(value, &value1, &value2, &value3);
+ GdkColor col;
+ hex2gdk(value1, &col);
+ gtk_color_button_set_color(GTK_COLOR_BUTTON(taskbar_name_inactive_color), &col);
+ if (value2) {
+ int alpha = atoi(value2);
+ gtk_color_button_set_alpha(GTK_COLOR_BUTTON(taskbar_name_inactive_color), (alpha*65535)/100);
+ }
+ }
+ else if (strcmp (key, "taskbar_name_active_font_color") == 0) {
+ extract_values(value, &value1, &value2, &value3);
+ GdkColor col;
+ hex2gdk(value1, &col);
+ gtk_color_button_set_color(GTK_COLOR_BUTTON(taskbar_name_active_color), &col);
+ if (value2) {
+ int alpha = atoi(value2);
+ gtk_color_button_set_alpha(GTK_COLOR_BUTTON(taskbar_name_active_color), (alpha*65535)/100);
+ }
+ }
+
+ /* Task */
+ else if (strcmp (key, "task_text") == 0) {
+ //panel_config.g_task.text = atoi (value);
+ }
+ else if (strcmp (key, "task_icon") == 0) {
+ //panel_config.g_task.icon = atoi (value);
+ }
+ else if (strcmp (key, "task_centered") == 0) {
+ //panel_config.g_task.centered = atoi (value);
+ }
+ else if (strcmp (key, "task_width") == 0) {
+ // old parameter : just for backward compatibility
+ //panel_config.g_task.maximum_width = atoi (value);
+ //panel_config.g_task.maximum_height = 30;
+ }
+ else if (strcmp (key, "task_maximum_size") == 0) {
+ extract_values(value, &value1, &value2, &value3);
+ //panel_config.g_task.maximum_width = atoi (value1);
+ //panel_config.g_task.maximum_height = 30;
+ //if (value2)
+ //panel_config.g_task.maximum_height = atoi (value2);
+ }
+ else if (strcmp (key, "task_padding") == 0) {
+ extract_values(value, &value1, &value2, &value3);
+ //panel_config.g_task.area.paddingxlr = panel_config.g_task.area.paddingx = atoi (value1);
+ //if (value2) panel_config.g_task.area.paddingy = atoi (value2);
+ //if (value3) panel_config.g_task.area.paddingx = atoi (value3);
+ }
+ else if (strcmp (key, "task_font") == 0) {
+ //panel_config.g_task.font_desc = pango_font_description_from_string (value);
+ }
+ else if (g_regex_match_simple("task.*_font_color", key, 0, 0)) {
+ /*gchar** split = g_regex_split_simple("_", key, 0, 0);
+ int status = get_task_status(split[1]);
+ g_strfreev(split);
+ extract_values(value, &value1, &value2, &value3);
+ float alpha = 1;
+ if (value2) alpha = (atoi (value2) / 100.0);
+ get_color (value1, panel_config.g_task.font[status].color);
+ panel_config.g_task.font[status].alpha = alpha;
+ panel_config.g_task.config_font_mask |= (1<len && id >= 0) ? id : 0;
+ panel_config.g_task.background[status] = &g_array_index(backgrounds, Background, id);
+ panel_config.g_task.config_background_mask |= (1<len && id >= 0) ? id : 0;
+ //systray.area.bg = &g_array_index(backgrounds, Background, id);
+ }
+ else if (strcmp(key, "systray_sort") == 0) {
+ if (strcmp(value, "descending") == 0)
+ gtk_combo_box_set_active(GTK_COMBO_BOX(systray_icon_order), 1);
+ else if (strcmp(value, "ascending") == 0)
+ gtk_combo_box_set_active(GTK_COMBO_BOX(systray_icon_order), 0);
+ else if (strcmp(value, "right2left") == 0)
+ gtk_combo_box_set_active(GTK_COMBO_BOX(systray_icon_order), 3);
+ else // default to left2right
+ gtk_combo_box_set_active(GTK_COMBO_BOX(systray_icon_order), 2);
+ }
+ else if (strcmp(key, "systray_icon_size") == 0) {
+ //systray_max_icon_size = atoi(value);
+ }
+ else if (strcmp(key, "systray_icon_asb") == 0) {
+ extract_values(value, &value1, &value2, &value3);
+ //systray.alpha = atoi(value1);
+ //systray.saturation = atoi(value2);
+ //systray.brightness = atoi(value3);
+ }
+
+ /* Launcher */
+ else if (strcmp (key, "launcher_padding") == 0) {
+ extract_values(value, &value1, &value2, &value3);
+ //panel_config.launcher.area.paddingxlr = panel_config.launcher.area.paddingx = atoi (value1);
+ //if (value2) panel_config.launcher.area.paddingy = atoi (value2);
+ //if (value3) panel_config.launcher.area.paddingx = atoi (value3);
+ }
+ else if (strcmp (key, "launcher_background_id") == 0) {
+ //int id = atoi (value);
+ //id = (id < backgrounds->len && id >= 0) ? id : 0;
+ //panel_config.launcher.area.bg = &g_array_index(backgrounds, Background, id);
+ }
+ else if (strcmp(key, "launcher_icon_size") == 0) {
+ //launcher_max_icon_size = atoi(value);
+ }
+ else if (strcmp(key, "launcher_item_app") == 0) {
+ //char *app = strdup(value);
+ //panel_config.launcher.list_apps = g_slist_append(panel_config.launcher.list_apps, app);
+ }
+ else if (strcmp(key, "launcher_icon_theme") == 0) {
+ // if XSETTINGS manager running, tint2 use it.
+ //icon_theme_name = strdup(value);
+ }
+
+ /* Tooltip */
+ else if (strcmp (key, "tooltip_show_timeout") == 0) {
+ //int timeout_msec = 1000*atof(value);
+ }
+ else if (strcmp (key, "tooltip_hide_timeout") == 0) {
+ //int timeout_msec = 1000*atof(value);
+ }
+ else if (strcmp (key, "tooltip_padding") == 0) {
+ extract_values(value, &value1, &value2, &value3);
+ //if (value1) g_tooltip.paddingx = atoi(value1);
+ //if (value2) g_tooltip.paddingy = atoi(value2);
+ }
+ else if (strcmp (key, "tooltip_background_id") == 0) {
+ //int id = atoi (value);
+ //id = (id < backgrounds->len && id >= 0) ? id : 0;
+ //g_tooltip.bg = &g_array_index(backgrounds, Background, id);
+ }
+ else if (strcmp (key, "tooltip_font_color") == 0) {
+ extract_values(value, &value1, &value2, &value3);
+ //get_color(value1, g_tooltip.font_color.color);
+ //if (value2) g_tooltip.font_color.alpha = (atoi (value2) / 100.0);
+ //else g_tooltip.font_color.alpha = 0.1;
+ }
+ else if (strcmp (key, "tooltip_font") == 0) {
+ //g_tooltip.font_desc = pango_font_description_from_string(value);
+ }
+
+ /* Mouse actions */
+ else if (strcmp (key, "mouse_middle") == 0) {
+ //get_action (value, &mouse_middle);
+ }
+ else if (strcmp (key, "mouse_right") == 0) {
+ }
+ else if (strcmp (key, "mouse_scroll_up") == 0) {
+ }
+ else if (strcmp (key, "mouse_scroll_down") == 0) {
+ }
+
+ if (value1) free (value1);
+ if (value2) free (value2);
+ if (value3) free (value3);
+}
+
+
+void hex2gdk(char *hex, GdkColor *color)
+{
+ if (hex == NULL || hex[0] != '#') return;
+
+ color->red = 257 * (hex_char_to_int (hex[1]) * 16 + hex_char_to_int (hex[2]));
+ color->green = 257 * (hex_char_to_int (hex[3]) * 16 + hex_char_to_int (hex[4]));
+ color->blue = 257 * (hex_char_to_int (hex[5]) * 16 + hex_char_to_int (hex[6]));
+}
+
+
diff --git a/src/tint2conf/properties_rw.h b/src/tint2conf/properties_rw.h
new file mode 100644
index 0000000..77f86e8
--- /dev/null
+++ b/src/tint2conf/properties_rw.h
@@ -0,0 +1,11 @@
+
+#ifndef PROPERTIES_RW
+#define PROPERTIES_RW
+
+
+void config_read_file (const char *path);
+void config_save_file(const char *path);
+
+
+#endif
+
diff --git a/src/tint2conf/theme_view.c b/src/tint2conf/theme_view.c
index 4e169c1..05fad6b 100644
--- a/src/tint2conf/theme_view.c
+++ b/src/tint2conf/theme_view.c
@@ -35,7 +35,7 @@ GtkWidget *create_view()
GtkCellRenderer *renderer;
GtkWidget *view;
- g_store = gtk_list_store_new(NB_COL, G_TYPE_STRING, GDK_TYPE_PIXBUF);
+ g_store = gtk_list_store_new(NB_COL, G_TYPE_STRING, G_TYPE_STRING, GDK_TYPE_PIXBUF);
view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(g_store));
gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(view), TRUE);
@@ -50,6 +50,12 @@ GtkWidget *create_view()
gtk_tree_view_column_set_visible(col, FALSE);
gtk_tree_view_append_column(GTK_TREE_VIEW(view),col);
+ renderer = gtk_cell_renderer_text_new();
+ col = gtk_tree_view_column_new();
+ gtk_tree_view_column_pack_start(col, renderer, TRUE);
+ gtk_tree_view_column_add_attribute(col, renderer, "text", COL_THEME_NAME);
+ gtk_tree_view_append_column(GTK_TREE_VIEW(view),col);
+
g_width_list = 200;
g_height_list = 30;
g_renderer = gtk_cell_renderer_pixbuf_new();
@@ -75,6 +81,13 @@ void custom_list_append(const gchar *name)
gtk_list_store_append(g_store, &iter);
gtk_list_store_set(g_store, &iter, COL_THEME_FILE, name, -1);
+
+ gchar *b, *n;
+ b = strrchr(name, '/');
+ n = g_strdup(b+1);
+ b = strrchr(n, '.');
+ *b = '\0';
+ gtk_list_store_set(g_store, &iter, COL_THEME_NAME, n, -1);
}
diff --git a/src/tint2conf/theme_view.h b/src/tint2conf/theme_view.h
index 306107d..dc1c71d 100644
--- a/src/tint2conf/theme_view.h
+++ b/src/tint2conf/theme_view.h
@@ -6,7 +6,7 @@
extern GtkWidget *g_theme_view;
extern GtkListStore *g_store;
-enum { COL_THEME_FILE = 0, COL_SNAPSHOT, NB_COL, };
+enum { COL_THEME_FILE = 0, COL_THEME_NAME, COL_SNAPSHOT, NB_COL, };
GtkWidget *create_view();
diff --git a/src/util/common.c b/src/util/common.c
index b9f2b72..f6fa36e 100644
--- a/src/util/common.c
+++ b/src/util/common.c
@@ -146,6 +146,45 @@ void get_color (char *hex, double *rgb)
}
+void extract_values (const char *value, char **value1, char **value2, char **value3)
+{
+ char *b=0, *c=0;
+
+ if (*value1) free (*value1);
+ if (*value2) free (*value2);
+ if (*value3) free (*value3);
+
+ if ((b = strchr (value, ' '))) {
+ b[0] = '\0';
+ b++;
+ }
+ else {
+ *value2 = 0;
+ *value3 = 0;
+ }
+ *value1 = strdup (value);
+ g_strstrip(*value1);
+
+ if (b) {
+ if ((c = strchr (b, ' '))) {
+ c[0] = '\0';
+ c++;
+ }
+ else {
+ c = 0;
+ *value3 = 0;
+ }
+ *value2 = strdup (b);
+ g_strstrip(*value2);
+ }
+
+ if (c) {
+ *value3 = strdup (c);
+ g_strstrip(*value3);
+ }
+}
+
+
void adjust_asb(DATA32 *data, int w, int h, int alpha, float satur, float bright)
{
unsigned int x, y;
diff --git a/src/util/common.h b/src/util/common.h
index e85af7e..0c60317 100644
--- a/src/util/common.h
+++ b/src/util/common.h
@@ -49,6 +49,8 @@ int hex_char_to_int (char c);
int hex_to_rgb (char *hex, int *r, int *g, int *b);
void get_color (char *hex, double *rgb);
+void extract_values (const char *value, char **value1, char **value2, char **value3);
+
// adjust Alpha/Saturation/Brightness on an ARGB icon
// alpha from 0 to 100, satur from 0 to 1, bright from 0 to 1.
void adjust_asb(DATA32 *data, int w, int h, int alpha, float satur, float bright);