start tint2conf work

git-svn-id: http://tint2.googlecode.com/svn/trunk@632 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
thilor77 2011-06-06 09:16:51 +00:00
parent 47ce616991
commit 72435c0743
11 changed files with 944 additions and 277 deletions

View file

@ -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)

View file

@ -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}

View file

@ -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 =
" <menuitem action='ThemeSaveAs'/>"
" <separator/>"
" <menuitem action='ThemeDelete'/>"
// " <separator/>"
// " <menuitem action='ThemeProperties'/>"
" <separator/>"
" <menuitem action='ThemeProperties'/>"
" <separator/>"
" <menuitem action='ThemeQuit'/>"
" </menu>"
" <menu action='EditMenu'>"
" <menuitem action='EditRefresh'/>"
" <menuitem action='EditRefreshAll'/>"
// " <separator/>"
// " <menuitem action='EditPreferences'/>"
" <separator/>"
" <menuitem action='EditPreferences'/>"
" </menu>"
" <menu action='HelpMenu'>"
" <menuitem action='HelpAbout'/>"
" </menu>"
" </menubar>"
" <toolbar name='ToolBar'>"
// " <toolitem action='ThemeProperties'/>"
" <toolitem action='ThemeProperties'/>"
" <toolitem action='ViewApply'/>"
" </toolbar>"
" <popup name='ThemePopup'>"
// " <menuitem action='ThemeProperties'/>"
" <menuitem action='ThemeProperties'/>"
" <menuitem action='EditRefresh'/>"
" <menuitem action='ViewApply'/>"
" <separator/>"
@ -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");
//*/

View file

@ -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 (_("<b>Position, size and items order</b>"));
label = gtk_label_new (_("<b>Position and size</b>"));
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 (_("<b>Autohide</b>"));
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 (_("<b>Appearance</b>"));
label = gtk_label_new (_("<b>Taskbar Appearance</b>"));
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 (_("<b>Appearance</b>"));
@ -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"));

View file

@ -4,6 +4,32 @@
#include <gtk/gtk.h>
// 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();

View file

@ -0,0 +1,551 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <gtk/gtk.h>
#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<<status);
*/
}
else if (g_regex_match_simple("task.*_icon_asb", 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);
panel_config.g_task.alpha[status] = atoi(value1);
panel_config.g_task.saturation[status] = atoi(value2);
panel_config.g_task.brightness[status] = atoi(value3);
panel_config.g_task.config_asb_mask |= (1<<status);
*/
}
else if (g_regex_match_simple("task.*_background_id", key, 0, 0)) {
/*gchar** split = g_regex_split_simple("_", key, 0, 0);
int status = get_task_status(split[1]);
g_strfreev(split);
int id = atoi (value);
id = (id < backgrounds->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<<status);
if (status == TASK_NORMAL) panel_config.g_task.area.bg = panel_config.g_task.background[TASK_NORMAL];
*/
}
// "tooltip" is deprecated but here for backwards compatibility
else if (strcmp (key, "task_tooltip") == 0 || strcmp(key, "tooltip") == 0) {
//panel_config.g_task.tooltip_enabled = atoi(value);
}
/* Systray */
else if (strcmp (key, "systray_padding") == 0) {
extract_values(value, &value1, &value2, &value3);
//systray.area.paddingxlr = systray.area.paddingx = atoi (value1);
//if (value2) systray.area.paddingy = atoi (value2);
//if (value3) systray.area.paddingx = atoi (value3);
}
else if (strcmp (key, "systray_background_id") == 0) {
//int id = atoi (value);
//id = (id < backgrounds->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]));
}

View file

@ -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

View file

@ -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);
}

View file

@ -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();

View file

@ -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;

View file

@ -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);