diff --git a/src/tint2conf/properties.c b/src/tint2conf/properties.c
index 1621d18..6db7431 100644
--- a/src/tint2conf/properties.c
+++ b/src/tint2conf/properties.c
@@ -367,6 +367,7 @@ void create_background(GtkWidget *parent)
GtkWidget *table, *label, *button;
int row, col;
+ GtkTooltips *tooltips = gtk_tooltips_new();
table = gtk_table_new(1, 4, FALSE);
gtk_widget_show(table);
@@ -386,18 +387,21 @@ void create_background(GtkWidget *parent)
gtk_widget_show(current_background);
gtk_table_attach(GTK_TABLE(table), current_background, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, current_background, "Selects the background you would like to modify", NULL);
button = gtk_button_new_from_stock("gtk-add");
gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(background_duplicate), NULL);
gtk_widget_show(button);
gtk_table_attach(GTK_TABLE(table), button, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, button, "Creates a copy of the current background", NULL);
button = gtk_button_new_from_stock("gtk-remove");
gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(background_delete), NULL);
gtk_widget_show(button);
gtk_table_attach(GTK_TABLE(table), button, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, button, "Deletes the current background", NULL);
table = gtk_table_new(4, 4, FALSE);
gtk_widget_show(table);
@@ -417,6 +421,7 @@ void create_background(GtkWidget *parent)
gtk_widget_show(background_fill_color);
gtk_table_attach(GTK_TABLE(table), background_fill_color, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, background_fill_color, "The fill color of the current background", NULL);
row++, col = 2;
label = gtk_label_new(_("Border color"));
@@ -430,6 +435,7 @@ void create_background(GtkWidget *parent)
gtk_widget_show(background_border_color);
gtk_table_attach(GTK_TABLE(table), background_border_color, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, background_border_color, "The border color of the current background", NULL);
row++, col = 2;
label = gtk_label_new(_("Border width"));
@@ -442,6 +448,7 @@ void create_background(GtkWidget *parent)
gtk_widget_show(background_border_width);
gtk_table_attach(GTK_TABLE(table), background_border_width, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, background_border_width, "The width of the border of the current background, in pixels", NULL);
row++, col = 2;
label = gtk_label_new(_("Corner radius"));
@@ -454,6 +461,7 @@ void create_background(GtkWidget *parent)
gtk_widget_show(background_corner_radius);
gtk_table_attach(GTK_TABLE(table), background_corner_radius, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, background_corner_radius, "The corner radius of the current background", NULL);
g_signal_connect(G_OBJECT(current_background), "changed", G_CALLBACK(current_background_changed), NULL);
g_signal_connect(G_OBJECT(background_fill_color), "color-set", G_CALLBACK(background_update), NULL);
@@ -755,6 +763,7 @@ void create_panel(GtkWidget *parent)
GtkWidget *table, *hbox, *position;
GtkWidget *label;
int row, col;
+ GtkTooltips *tooltips = gtk_tooltips_new();
label = gtk_label_new(_("Geometry"));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
@@ -794,17 +803,29 @@ void create_panel(GtkWidget *parent)
}
}
gtk_table_attach_defaults(GTK_TABLE(position), screen_position[0], 1, 2, 0, 1);
+ gtk_tooltips_set_tip(tooltips, screen_position[0], "Position on screen: top-left, horizontal panel", NULL);
gtk_table_attach_defaults(GTK_TABLE(position), screen_position[1], 2, 3, 0, 1);
+ gtk_tooltips_set_tip(tooltips, screen_position[1], "Position on screen: top-center, horizontal panel", NULL);
gtk_table_attach_defaults(GTK_TABLE(position), screen_position[2], 3, 4, 0, 1);
+ gtk_tooltips_set_tip(tooltips, screen_position[2], "Position on screen: top-right, horizontal panel", NULL);
gtk_table_attach_defaults(GTK_TABLE(position), screen_position[3], 0, 1, 1, 2);
+ gtk_tooltips_set_tip(tooltips, screen_position[3], "Position on screen: top-left, vertical panel", NULL);
gtk_table_attach_defaults(GTK_TABLE(position), screen_position[4], 0, 1, 2, 3);
+ gtk_tooltips_set_tip(tooltips, screen_position[4], "Position on screen: center-left, vertical panel", NULL);
gtk_table_attach_defaults(GTK_TABLE(position), screen_position[5], 0, 1, 3, 4);
+ gtk_tooltips_set_tip(tooltips, screen_position[5], "Position on screen: bottom-left, vertical panel", NULL);
gtk_table_attach_defaults(GTK_TABLE(position), screen_position[6], 4, 5, 1, 2);
+ gtk_tooltips_set_tip(tooltips, screen_position[6], "Position on screen: top-right, vertical panel", NULL);
gtk_table_attach_defaults(GTK_TABLE(position), screen_position[7], 4, 5, 2, 3);
+ gtk_tooltips_set_tip(tooltips, screen_position[7], "Position on screen: center-right, vertical panel", NULL);
gtk_table_attach_defaults(GTK_TABLE(position), screen_position[8], 4, 5, 3, 4);
+ gtk_tooltips_set_tip(tooltips, screen_position[8], "Position on screen: bottom-right, vertical panel", NULL);
gtk_table_attach_defaults(GTK_TABLE(position), screen_position[9], 1, 2, 4, 5);
+ gtk_tooltips_set_tip(tooltips, screen_position[9], "Position on screen: bottom-left, horizontal panel", NULL);
gtk_table_attach_defaults(GTK_TABLE(position), screen_position[10], 2, 3, 4, 5);
+ gtk_tooltips_set_tip(tooltips, screen_position[10], "Position on screen: bottom-center, horizontal panel", NULL);
gtk_table_attach_defaults(GTK_TABLE(position), screen_position[11], 3, 4, 4, 5);
+ gtk_tooltips_set_tip(tooltips, screen_position[11], "Position on screen: bottom-right, horizontal panel", NULL);
gtk_table_attach(GTK_TABLE(table), position, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
row++;
@@ -826,6 +847,7 @@ void create_panel(GtkWidget *parent)
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"));
+ gtk_tooltips_set_tip(tooltips, panel_combo_monitor, "The monitor on which the panel is placed", NULL);
row++;
col = 2;
@@ -839,6 +861,7 @@ void create_panel(GtkWidget *parent)
gtk_widget_show(panel_width);
gtk_table_attach(GTK_TABLE(table), panel_width, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, panel_width, "The width of the panel", NULL);
panel_combo_width_type = gtk_combo_box_new_text();
gtk_widget_show(panel_combo_width_type);
@@ -846,6 +869,7 @@ void create_panel(GtkWidget *parent)
col++;
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"));
+ gtk_tooltips_set_tip(tooltips, panel_combo_width_type, "The units used to specify the width of the panel: pixels or percentage of the monitor size", NULL);
row++;
col = 2;
@@ -859,6 +883,7 @@ void create_panel(GtkWidget *parent)
gtk_widget_show(panel_height);
gtk_table_attach(GTK_TABLE(table), panel_height, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, panel_height, "The height of the panel", NULL);
panel_combo_height_type = gtk_combo_box_new_text();
gtk_widget_show(panel_combo_height_type);
@@ -866,6 +891,7 @@ void create_panel(GtkWidget *parent)
col++;
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"));
+ gtk_tooltips_set_tip(tooltips, panel_combo_height_type, "The units used to specify the height of the panel: pixels or percentage of the monitor size", NULL);
row++;
col = 2;
@@ -879,6 +905,10 @@ void create_panel(GtkWidget *parent)
gtk_widget_show(panel_margin_x);
gtk_table_attach(GTK_TABLE(table), panel_margin_x, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, panel_margin_x, "Creates a space between the panel and the edge of the monitor. "
+ "For left-aligned panels, the space is created on the right of the panel; "
+ "for right-aligned panels, it is created on the left; "
+ "for centered panels, it is evenly distributed on both sides of the panel.", NULL);
row++;
col = 2;
@@ -892,6 +922,10 @@ void create_panel(GtkWidget *parent)
gtk_widget_show(panel_margin_y);
gtk_table_attach(GTK_TABLE(table), panel_margin_y, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, panel_margin_y, "Creates a space between the panel and the edge of the monitor. "
+ "For top-aligned panels, the space is created on the bottom of the panel; "
+ "for bottom-aligned panels, it is created on the top; "
+ "for centered panels, it is evenly distributed on both sides of the panel.", NULL);
change_paragraph(parent);
@@ -919,6 +953,8 @@ void create_panel(GtkWidget *parent)
gtk_widget_show(panel_background);
gtk_table_attach(GTK_TABLE(table), panel_background, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, panel_background, "Selects the background used to display the panel. "
+ "Backgrounds can be edited in the Backgrounds tab.", NULL);
row++;
col = 2;
@@ -932,6 +968,8 @@ void create_panel(GtkWidget *parent)
gtk_widget_show(panel_padding_x);
gtk_table_attach(GTK_TABLE(table), panel_padding_x, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, panel_padding_x, "Specifies the horizontal padding of the panel. "
+ "This is the space between the border of the panel and the elements inside.", NULL);
row++;
col = 2;
@@ -945,6 +983,8 @@ void create_panel(GtkWidget *parent)
gtk_widget_show(panel_padding_y);
gtk_table_attach(GTK_TABLE(table), panel_padding_y, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, panel_padding_y, "Specifies the vertical padding of the panel. "
+ "This is the space between the border of the panel and the elements inside.", NULL);
row++;
col = 2;
@@ -958,6 +998,7 @@ void create_panel(GtkWidget *parent)
gtk_widget_show(panel_spacing);
gtk_table_attach(GTK_TABLE(table), panel_spacing, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, panel_spacing, "Specifies the spacing between elements inside the panel.", NULL);
row++;
col = 2;
@@ -971,6 +1012,8 @@ void create_panel(GtkWidget *parent)
gtk_widget_show(disable_transparency);
gtk_table_attach(GTK_TABLE(table), disable_transparency, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, disable_transparency, "If enabled, the compositor will not be used to draw a transparent panel. "
+ "May fix display corruption problems on broken graphics stacks.", NULL);
row++, col = 2;
label = gtk_label_new(_("Font shadows"));
@@ -983,6 +1026,8 @@ void create_panel(GtkWidget *parent)
gtk_widget_show(font_shadow);
gtk_table_attach(GTK_TABLE(table), font_shadow, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, font_shadow, "If enabled, a shadow will be drawn behind text. "
+ "This may improve legibility on transparent panels.", NULL);
change_paragraph(parent);
@@ -1010,6 +1055,7 @@ void create_panel(GtkWidget *parent)
gtk_widget_show(panel_autohide);
gtk_table_attach(GTK_TABLE(table), panel_autohide, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, panel_autohide, "If enabled, the panel is hidden when the mouse cursor leaves the panel.", NULL);
row++;
col = 2;
@@ -1023,6 +1069,7 @@ void create_panel(GtkWidget *parent)
gtk_widget_show(panel_autohide_show_time);
gtk_table_attach(GTK_TABLE(table), panel_autohide_show_time, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, panel_autohide_show_time, "Specifies a delay after which the panel is shown when the mouse cursor enters the panel.", NULL);
label = gtk_label_new(_("seconds"));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
@@ -1042,6 +1089,7 @@ void create_panel(GtkWidget *parent)
gtk_widget_show(panel_autohide_size);
gtk_table_attach(GTK_TABLE(table), panel_autohide_size, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, panel_autohide_size, "Specifies the size of the panel when hidden, in pixels.", NULL);
row++;
col = 2;
@@ -1055,6 +1103,7 @@ void create_panel(GtkWidget *parent)
gtk_widget_show(panel_autohide_hide_time);
gtk_table_attach(GTK_TABLE(table), panel_autohide_hide_time, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, panel_autohide_hide_time, "Specifies a delay after which the panel is hidden when the mouse cursor leaves the panel.", NULL);
label = gtk_label_new(_("seconds"));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
@@ -1078,7 +1127,7 @@ void create_panel(GtkWidget *parent)
row = 0;
col = 2;
- label = gtk_label_new(_("Forward mouse clicks"));
+ label = gtk_label_new(_("Forward mouse events"));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
gtk_widget_show(label);
gtk_table_attach(GTK_TABLE(table), label, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
@@ -1088,6 +1137,9 @@ void create_panel(GtkWidget *parent)
gtk_widget_show(panel_wm_menu);
gtk_table_attach(GTK_TABLE(table), panel_wm_menu, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, panel_wm_menu, "If enabled, mouse events not handled by panel elements are forwarded to the desktop. "
+ "Useful on desktop environments that show a start menu when right clicking the desktop, "
+ "or switch the desktop when rotating the mouse wheel over the desktop.", NULL);
row++;
col = 2;
@@ -1101,6 +1153,9 @@ void create_panel(GtkWidget *parent)
gtk_widget_show(panel_dock);
gtk_table_attach(GTK_TABLE(table), panel_dock, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, panel_dock, "If enabled, places the panel in the dock area of the window manager. "
+ "Windows placed in the dock are usually treated differently than normal windows. "
+ "The exact behavior depends on the window manager and its configuration.", NULL);
row++;
col = 2;
@@ -1117,6 +1172,11 @@ void create_panel(GtkWidget *parent)
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"));
+ gtk_tooltips_set_tip(tooltips, panel_combo_layer, "Specifies the layer on which the panel window should be placed. \n"
+ "Top means the panel should always cover other windows. \n"
+ "Bottom means other windows should always cover the panel. \n"
+ "Normal means that other windows may or may not cover the panel, depending on which has focus. \n"
+ "Note that some window managers prevent this option from working correctly if the panel is placed in the dock.", NULL);
row++;
col = 2;
@@ -1133,6 +1193,11 @@ void create_panel(GtkWidget *parent)
gtk_combo_box_append_text(GTK_COMBO_BOX(panel_combo_strut_policy), _("Match the panel size"));
gtk_combo_box_append_text(GTK_COMBO_BOX(panel_combo_strut_policy), _("Match the hidden panel size"));
gtk_combo_box_append_text(GTK_COMBO_BOX(panel_combo_strut_policy), _("Fill the screen"));
+ gtk_tooltips_set_tip(tooltips, panel_combo_strut_policy, "Specifies the size of maximized windows. \n"
+ "Match the panel size means that maximized windows should extend to the edge of the panel. \n"
+ "Match the hidden panel size means that maximized windows should extend to the edge of the panel when hidden; "
+ "when visible, the panel and the windows will overlap. \n"
+ "Fill the screen means that maximized windows will always have the same size as the screen.", NULL);
row++;
col = 2;
@@ -1148,6 +1213,9 @@ void create_panel(GtkWidget *parent)
gtk_entry_set_text(GTK_ENTRY(panel_window_name), "tint2");
gtk_table_attach(GTK_TABLE(table), panel_window_name, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, panel_window_name, "Specifies the name of the panel window. "
+ "This is useful if you want to configure special treatment of tint2 windows in your "
+ "window manager or compositor.", NULL);
change_paragraph(parent);
}
@@ -1155,6 +1223,7 @@ void create_panel(GtkWidget *parent)
void create_panel_items(GtkWidget *parent)
{
GtkWidget *table, *label, *button, *image;
+ GtkTooltips *tooltips = gtk_tooltips_new();
panel_items = gtk_list_store_new(itemsNumCols, G_TYPE_STRING, G_TYPE_STRING);
all_items = gtk_list_store_new(itemsNumCols, G_TYPE_STRING, G_TYPE_STRING);
@@ -1197,6 +1266,9 @@ void create_panel_items(GtkWidget *parent)
gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(panel_items_view)), GTK_SELECTION_SINGLE);
gtk_tree_view_set_model(GTK_TREE_VIEW(panel_items_view), GTK_TREE_MODEL(panel_items));
g_object_unref(panel_items);
+ gtk_tooltips_set_tip(tooltips, panel_items_view, "Specifies the elements that will appear in the panel and their order. "
+ "Elements can be added by selecting them in the list of available elements, then clicking on "
+ "the add left button.", NULL);
all_items_view = gtk_tree_view_new();
@@ -1210,6 +1282,9 @@ void create_panel_items(GtkWidget *parent)
gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(all_items_view)), GTK_SELECTION_SINGLE);
gtk_tree_view_set_model(GTK_TREE_VIEW(all_items_view), GTK_TREE_MODEL(all_items));
g_object_unref(all_items);
+ gtk_tooltips_set_tip(tooltips, all_items_view, "Lists all the possible elements that can appear in the panel. "
+ "Elements can be added to the panel by selecting them, then clicking on "
+ "the add left button.", NULL);
table = gtk_table_new(2, 3, FALSE);
gtk_widget_show(table);
@@ -1217,13 +1292,13 @@ void create_panel_items(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(_("Items selected"));
+ label = gtk_label_new(_("Elements selected"));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
gtk_label_set_use_markup(GTK_LABEL(label), TRUE);
gtk_widget_show(label);
gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, GTK_FILL, 0, 0, 0);
- label = gtk_label_new(_("Items available"));
+ label = gtk_label_new(_("Elements available"));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
gtk_label_set_use_markup(GTK_LABEL(label), TRUE);
gtk_widget_show(label);
@@ -1240,6 +1315,7 @@ void create_panel_items(GtkWidget *parent)
gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(panel_move_item_up), NULL);
gtk_widget_show(button);
gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 0);
+ gtk_tooltips_set_tip(tooltips, button, "Moves up the current element in the list of selected elements.", NULL);
button = gtk_button_new();
image = gtk_image_new_from_stock(GTK_STOCK_GO_DOWN, GTK_ICON_SIZE_BUTTON);
@@ -1247,6 +1323,7 @@ void create_panel_items(GtkWidget *parent)
gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(panel_move_item_down), NULL);
gtk_widget_show(button);
gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 0);
+ gtk_tooltips_set_tip(tooltips, button, "Moves down the current element in the list of selected elements.", NULL);
label = gtk_label_new(_(" "));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
@@ -1259,6 +1336,7 @@ void create_panel_items(GtkWidget *parent)
gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(panel_add_item), NULL);
gtk_widget_show(button);
gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 0);
+ gtk_tooltips_set_tip(tooltips, button, "Copies the current element in the list of available elements to the list of selected elements.", NULL);
button = gtk_button_new();
image = gtk_image_new_from_stock(GTK_STOCK_GO_FORWARD, GTK_ICON_SIZE_BUTTON);
@@ -1266,6 +1344,7 @@ void create_panel_items(GtkWidget *parent)
gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(panel_remove_item), NULL);
gtk_widget_show(button);
gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 0);
+ gtk_tooltips_set_tip(tooltips, button, "Removes the current element from the list of selected elements.", NULL);
gtk_table_attach(GTK_TABLE(table), vbox, 1, 2, 1, 2, GTK_FILL, GTK_FILL, 0, 0);
@@ -1785,6 +1864,7 @@ GtkWidget *addScrollBarToWidget(GtkWidget *widget)
void create_launcher(GtkWidget *parent)
{
GtkWidget *image;
+ GtkTooltips *tooltips = gtk_tooltips_new();
icon_theme = NULL;
@@ -1809,7 +1889,9 @@ void create_launcher(GtkWidget *parent)
gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(launcher_apps_view)), GTK_SELECTION_SINGLE);
gtk_tree_view_set_model(GTK_TREE_VIEW(launcher_apps_view), GTK_TREE_MODEL(launcher_apps));
g_object_unref(launcher_apps);
-
+ gtk_tooltips_set_tip(tooltips, launcher_apps_view, "Specifies the application launchers that will appear in the launcher and their order. "
+ "Launchers can be added by selecting an item in the list of available applications, then clicking on "
+ "the add left button.", NULL);
all_apps_view = gtk_tree_view_new();
gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(all_apps_view),
@@ -1828,6 +1910,9 @@ void create_launcher(GtkWidget *parent)
gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(all_apps_view)), GTK_SELECTION_SINGLE);
gtk_tree_view_set_model(GTK_TREE_VIEW(all_apps_view), GTK_TREE_MODEL(all_apps));
g_object_unref(all_apps);
+ gtk_tooltips_set_tip(tooltips, all_apps_view, "Lists all the applications detected on the system. "
+ "Launchers can be added to the launcher by selecting an application, then clicking on "
+ "the add left button.", NULL);
GtkWidget *table, *label, *button;
int row, col;
@@ -1861,6 +1946,7 @@ void create_launcher(GtkWidget *parent)
gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(launcher_move_app_up), NULL);
gtk_widget_show(button);
gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 0);
+ gtk_tooltips_set_tip(tooltips, button, "Moves up the current launcher in the list of selected applications.", NULL);
button = gtk_button_new();
image = gtk_image_new_from_stock(GTK_STOCK_GO_DOWN, GTK_ICON_SIZE_BUTTON);
@@ -1868,6 +1954,7 @@ void create_launcher(GtkWidget *parent)
gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(launcher_move_app_down), NULL);
gtk_widget_show(button);
gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 0);
+ gtk_tooltips_set_tip(tooltips, button, "Moves down the current launcher in the list of selected applications.", NULL);
label = gtk_label_new(_(" "));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
@@ -1880,6 +1967,7 @@ void create_launcher(GtkWidget *parent)
gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(launcher_add_app), NULL);
gtk_widget_show(button);
gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 0);
+ gtk_tooltips_set_tip(tooltips, button, "Copies the current application in the list of available applications to the list of selected applications.", NULL);
button = gtk_button_new();
image = gtk_image_new_from_stock(GTK_STOCK_GO_FORWARD, GTK_ICON_SIZE_BUTTON);
@@ -1887,6 +1975,7 @@ void create_launcher(GtkWidget *parent)
gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(launcher_remove_app), NULL);
gtk_widget_show(button);
gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 0);
+ gtk_tooltips_set_tip(tooltips, button, "Removes the current application from the list of selected application.", NULL);
gtk_table_attach(GTK_TABLE(table), vbox, 1, 2, 1, 2, GTK_FILL, GTK_FILL, 0, 0);
@@ -1907,6 +1996,8 @@ void create_launcher(GtkWidget *parent)
launcher_apps_dirs = gtk_entry_new();
gtk_widget_show(launcher_apps_dirs);
gtk_box_pack_start(GTK_BOX(parent), launcher_apps_dirs, FALSE, FALSE, 0);
+ gtk_tooltips_set_tip(tooltips, launcher_apps_dirs, "Specifies a path to a directory from which the launcher is loading all .desktop files (all subdirectories are explored recursively). "
+ "Can be used multiple times, in which case the paths must be separated by commas. Leading ~ is expaned to the path of the user's home directory.", NULL);
label = gtk_label_new(_("Appearance"));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
@@ -1919,7 +2010,7 @@ void create_launcher(GtkWidget *parent)
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);
-
+
row = 0, col = 2;
label = gtk_label_new(_("Background"));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
@@ -1931,6 +2022,8 @@ void create_launcher(GtkWidget *parent)
gtk_widget_show(launcher_background);
gtk_table_attach(GTK_TABLE(table), launcher_background, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, launcher_background, "Selects the background used to display the launcher. "
+ "Backgrounds can be edited in the Backgrounds tab.", NULL);
row++, col = 2;
label = gtk_label_new(_("Horizontal padding"));
@@ -1943,6 +2036,8 @@ void create_launcher(GtkWidget *parent)
gtk_widget_show(launcher_padding_x);
gtk_table_attach(GTK_TABLE(table), launcher_padding_x, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, launcher_padding_x, "Specifies the horizontal padding of the launcher. "
+ "This is the space between the border and the elements inside.", NULL);
row++, col = 2;
label = gtk_label_new(_("Vertical padding"));
@@ -1955,6 +2050,8 @@ void create_launcher(GtkWidget *parent)
gtk_widget_show(launcher_padding_y);
gtk_table_attach(GTK_TABLE(table), launcher_padding_y, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, launcher_padding_y, "Specifies the vertical padding of the launcher. "
+ "This is the space between the border and the elements inside.", NULL);
row++, col = 2;
label = gtk_label_new(_("Spacing"));
@@ -1967,6 +2064,7 @@ void create_launcher(GtkWidget *parent)
gtk_widget_show(launcher_spacing);
gtk_table_attach(GTK_TABLE(table), launcher_spacing, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, launcher_spacing, "Specifies the spacing between the elements inside the launcher.", NULL);
row++, col = 2;
label = gtk_label_new(_("Icon size"));
@@ -1979,6 +2077,7 @@ void create_launcher(GtkWidget *parent)
gtk_widget_show(launcher_icon_size);
gtk_table_attach(GTK_TABLE(table), launcher_icon_size, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, launcher_icon_size, "Specifies the size of the launcher icons, in pixels.", NULL);
row++, col = 2;
label = gtk_label_new(_("Icon theme"));
@@ -1995,6 +2094,9 @@ void create_launcher(GtkWidget *parent)
gtk_widget_show(launcher_icon_theme);
gtk_table_attach(GTK_TABLE(table), launcher_icon_theme, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, launcher_icon_theme, "The icon theme used to display launcher icons. If left blank, "
+ "tint2 will detect and use the icon theme of your desktop as long as you have "
+ "an XSETTINGS manager running (most desktop environments do).", NULL);
row++, col = 2;
label = gtk_label_new(_("Startup notifications"));
@@ -2007,6 +2109,8 @@ void create_launcher(GtkWidget *parent)
gtk_widget_show(startup_notifications);
gtk_table_attach(GTK_TABLE(table), startup_notifications, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, startup_notifications, "If enabled, startup notifications are shown when starting applications from the launcher. "
+ "The appearance may vary depending on your desktop environment configuration; normally, a busy mouse cursor is displayed until the application starts.", NULL);
row++, col = 2;
label = gtk_label_new(_("Tooltips"));
@@ -2019,6 +2123,7 @@ void create_launcher(GtkWidget *parent)
gtk_widget_show(launcher_tooltip);
gtk_table_attach(GTK_TABLE(table), launcher_tooltip, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, launcher_tooltip, "If enabled, shows a tooltip with the application name when the mouse is moved over an application launcher.", NULL);
change_paragraph(parent);
@@ -2052,6 +2157,7 @@ void create_taskbar(GtkWidget *parent)
{
GtkWidget *table, *label;
int row, col;
+ GtkTooltips *tooltips = gtk_tooltips_new();
label = gtk_label_new(_("Options"));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
@@ -2078,6 +2184,7 @@ void create_taskbar(GtkWidget *parent)
gtk_widget_show(taskbar_show_desktop);
gtk_table_attach(GTK_TABLE(table), taskbar_show_desktop, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, taskbar_show_desktop, "If enabled, the taskbar is split into multiple smaller taskbars, one for each virtual desktop.", NULL);
col = 2;
row++;
@@ -2091,6 +2198,8 @@ void create_taskbar(GtkWidget *parent)
gtk_widget_show(taskbar_distribute_size);
gtk_table_attach(GTK_TABLE(table), taskbar_distribute_size, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, taskbar_distribute_size, "If enabled and 'Show a taskbar for each desktop' is also enabled, "
+ "the available size is distributed between taskbars proportionally to the number of tasks.", NULL);
col = 2;
row++;
@@ -2104,6 +2213,7 @@ void create_taskbar(GtkWidget *parent)
gtk_widget_show(taskbar_hide_inactive_tasks);
gtk_table_attach(GTK_TABLE(table), taskbar_hide_inactive_tasks, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, taskbar_hide_inactive_tasks, "If enabled, only the active task will be shown in the taskbar.", NULL);
col = 2;
row++;
@@ -2117,6 +2227,8 @@ void create_taskbar(GtkWidget *parent)
gtk_widget_show(taskbar_hide_diff_monitor);
gtk_table_attach(GTK_TABLE(table), taskbar_hide_diff_monitor, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, taskbar_hide_diff_monitor, "If enabled, tasks that are not on the same monitor as the panel will not be displayed. "
+ "This behavior is enabled automatically if the panel monitor is set to 'All'.", NULL);
row++;
col = 2;
@@ -2133,6 +2245,10 @@ void create_taskbar(GtkWidget *parent)
gtk_combo_box_append_text(GTK_COMBO_BOX(taskbar_sort_order), _("None"));
gtk_combo_box_append_text(GTK_COMBO_BOX(taskbar_sort_order), _("By title"));
gtk_combo_box_append_text(GTK_COMBO_BOX(taskbar_sort_order), _("By center"));
+ gtk_tooltips_set_tip(tooltips, taskbar_sort_order, "Specifies how tasks should be sorted on the taskbar. \n"
+ "'None' means that new tasks are added to the end, and the user can also reorder task buttons by mouse dragging. \n"
+ "'By title' means that tasks are sorted by their window titles. \n"
+ "'By center' means that tasks are sorted geometrically by their window centers.", NULL);
change_paragraph(parent);
@@ -2160,6 +2276,8 @@ void create_taskbar(GtkWidget *parent)
gtk_widget_show(taskbar_padding_x);
gtk_table_attach(GTK_TABLE(table), taskbar_padding_x, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, taskbar_padding_x, "Specifies the horizontal padding of the taskbar. "
+ "This is the space between the border and the elements inside.", NULL);
col = 2;
row++;
@@ -2173,6 +2291,8 @@ void create_taskbar(GtkWidget *parent)
gtk_widget_show(taskbar_padding_y);
gtk_table_attach(GTK_TABLE(table), taskbar_padding_y, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, taskbar_padding_y, "Specifies the vertical padding of the taskbar. "
+ "This is the space between the border and the elements inside.", NULL);
col = 2;
row++;
@@ -2186,19 +2306,7 @@ void create_taskbar(GtkWidget *parent)
gtk_widget_show(taskbar_spacing);
gtk_table_attach(GTK_TABLE(table), taskbar_spacing, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
-
- col = 2;
- row++;
- 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, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
- col++;
-
- taskbar_inactive_background = create_background_combo();
- gtk_widget_show(taskbar_inactive_background);
- gtk_table_attach(GTK_TABLE(table), taskbar_inactive_background, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
- col++;
+ gtk_tooltips_set_tip(tooltips, taskbar_spacing, "Specifies the spacing between the elements inside the taskbar.", NULL);
col = 2;
row++;
@@ -2212,6 +2320,22 @@ void create_taskbar(GtkWidget *parent)
gtk_widget_show(taskbar_active_background);
gtk_table_attach(GTK_TABLE(table), taskbar_active_background, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, taskbar_active_background, "Selects the background used to display the taskbar of the current desktop. "
+ "Backgrounds can be edited in the Backgrounds tab.", NULL);
+ col = 2;
+ row++;
+ 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, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
+ col++;
+
+ taskbar_inactive_background = create_background_combo();
+ gtk_widget_show(taskbar_inactive_background);
+ gtk_table_attach(GTK_TABLE(table), taskbar_inactive_background, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
+ col++;
+ gtk_tooltips_set_tip(tooltips, taskbar_inactive_background, "Selects the background used to display taskbars of inactive desktops. "
+ "Backgrounds can be edited in the Backgrounds tab.", NULL);
change_paragraph(parent);
@@ -2240,6 +2364,8 @@ void create_taskbar(GtkWidget *parent)
gtk_widget_show(taskbar_show_name);
gtk_table_attach(GTK_TABLE(table), taskbar_show_name, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, taskbar_show_name, "If enabled, displays the name of the desktop at the top/left of the taskbar. "
+ "The name is set by your window manager; you might be able to configure it there.", NULL);
col = 2;
row++;
@@ -2253,20 +2379,8 @@ void create_taskbar(GtkWidget *parent)
gtk_widget_show(taskbar_name_padding_x);
gtk_table_attach(GTK_TABLE(table), taskbar_name_padding_x, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
-
- col = 2;
- row++;
- 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, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
- col++;
-
- 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, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
- col++;
+ gtk_tooltips_set_tip(tooltips, taskbar_name_padding_x, "Specifies the horizontal padding of the desktop name. "
+ "This is the space between the border and the text inside.", NULL);
col = 2;
row++;
@@ -2281,6 +2395,22 @@ void create_taskbar(GtkWidget *parent)
gtk_widget_show(taskbar_name_active_color);
gtk_table_attach(GTK_TABLE(table), taskbar_name_active_color, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, taskbar_name_active_color, "Specifies the font color used to display the name of the current desktop.", NULL);
+
+ col = 2;
+ row++;
+ 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, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
+ col++;
+
+ 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, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
+ col++;
+ gtk_tooltips_set_tip(tooltips, taskbar_name_inactive_color, "Specifies the font color used to display the name of inactive desktops.", NULL);
col = 2;
row++;
@@ -2294,20 +2424,8 @@ void create_taskbar(GtkWidget *parent)
gtk_widget_show(taskbar_name_font);
gtk_table_attach(GTK_TABLE(table), taskbar_name_font, col, col+3, row, row+1, GTK_FILL, 0, 0, 0);
col++;
- //gtk_font_button_set_show_style(GTK_FONT_BUTTON(taskbar_name_font), FALSE);
-
- col = 2;
- row++;
- 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, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
- col++;
-
- taskbar_name_inactive_background = create_background_combo();
- gtk_widget_show(taskbar_name_inactive_background);
- gtk_table_attach(GTK_TABLE(table), taskbar_name_inactive_background, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
- col++;
+ gtk_font_button_set_show_style(GTK_FONT_BUTTON(taskbar_name_font), TRUE);
+ gtk_tooltips_set_tip(tooltips, taskbar_name_font, "Specifies the font used to display the desktop name.", NULL);
col = 2;
row++;
@@ -2321,6 +2439,23 @@ void create_taskbar(GtkWidget *parent)
gtk_widget_show(taskbar_name_active_background);
gtk_table_attach(GTK_TABLE(table), taskbar_name_active_background, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, taskbar_name_active_background, "Selects the background used to display the name of the current desktop. "
+ "Backgrounds can be edited in the Backgrounds tab.", NULL);
+
+ col = 2;
+ row++;
+ 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, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
+ col++;
+
+ taskbar_name_inactive_background = create_background_combo();
+ gtk_widget_show(taskbar_name_inactive_background);
+ gtk_table_attach(GTK_TABLE(table), taskbar_name_inactive_background, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
+ col++;
+ gtk_tooltips_set_tip(tooltips, taskbar_name_inactive_background, "Selects the background used to display the name of inactive desktops. "
+ "Backgrounds can be edited in the Backgrounds tab.", NULL);
change_paragraph(parent);
}
@@ -2329,6 +2464,7 @@ void create_task(GtkWidget *parent)
{
GtkWidget *table, *label, *notebook;
int row, col;
+ GtkTooltips *tooltips = gtk_tooltips_new();
label = gtk_label_new(_("Mouse events"));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
@@ -2364,6 +2500,18 @@ void create_task(GtkWidget *parent)
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_left), _("Desktop right"));
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_left), _("Next task"));
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_left), _("Previous task"));
+ gtk_tooltips_set_tip(tooltips, task_mouse_left, "Specifies the action performed when task buttons receive a left click event: \n"
+ "'None' means that no action is taken. \n"
+ "'Close' closes the task. \n"
+ "'Toggle' toggles the task. \n"
+ "'Iconify' iconifies (minimizes) the task. \n"
+ "'Shade' shades (collapses) the task. \n"
+ "'Toggle or iconify' toggles or iconifies the task. \n"
+ "'Maximize or restore' maximizes or minimizes the task. \n"
+ "'Desktop left' sends the task to the previous desktop. \n"
+ "'Desktop right' sends the task to the next desktop. \n"
+ "'Next task' sends the focus to the next task. \n"
+ "'Previous task' sends the focus to the previous task.", NULL);
row++, col = 2;
label = gtk_label_new(_("Wheel scroll up"));
@@ -2387,6 +2535,18 @@ void create_task(GtkWidget *parent)
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_scroll_up), _("Desktop right"));
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_scroll_up), _("Next task"));
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_scroll_up), _("Previous task"));
+ gtk_tooltips_set_tip(tooltips, task_mouse_scroll_up, "Specifies the action performed when task buttons receive a scroll up event: \n"
+ "'None' means that no action is taken. \n"
+ "'Close' closes the task. \n"
+ "'Toggle' toggles the task. \n"
+ "'Iconify' iconifies (minimizes) the task. \n"
+ "'Shade' shades (collapses) the task. \n"
+ "'Toggle or iconify' toggles or iconifies the task. \n"
+ "'Maximize or restore' maximizes or minimizes the task. \n"
+ "'Desktop left' sends the task to the previous desktop. \n"
+ "'Desktop right' sends the task to the next desktop. \n"
+ "'Next task' sends the focus to the next task. \n"
+ "'Previous task' sends the focus to the previous task.", NULL);
row++, col = 2;
label = gtk_label_new(_("Middle click"));
@@ -2410,6 +2570,18 @@ void create_task(GtkWidget *parent)
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_middle), _("Desktop right"));
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_middle), _("Next task"));
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_middle), _("Previous task"));
+ gtk_tooltips_set_tip(tooltips, task_mouse_middle, "Specifies the action performed when task buttons receive a middle click event: \n"
+ "'None' means that no action is taken. \n"
+ "'Close' closes the task. \n"
+ "'Toggle' toggles the task. \n"
+ "'Iconify' iconifies (minimizes) the task. \n"
+ "'Shade' shades (collapses) the task. \n"
+ "'Toggle or iconify' toggles or iconifies the task. \n"
+ "'Maximize or restore' maximizes or minimizes the task. \n"
+ "'Desktop left' sends the task to the previous desktop. \n"
+ "'Desktop right' sends the task to the next desktop. \n"
+ "'Next task' sends the focus to the next task. \n"
+ "'Previous task' sends the focus to the previous task.", NULL);
row++, col = 2;
label = gtk_label_new(_("Wheel scroll down"));
@@ -2433,6 +2605,18 @@ void create_task(GtkWidget *parent)
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_scroll_down), _("Desktop right"));
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_scroll_down), _("Next task"));
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_scroll_down), _("Previous task"));
+ gtk_tooltips_set_tip(tooltips, task_mouse_scroll_down, "Specifies the action performed when task buttons receive a scroll down event: \n"
+ "'None' means that no action is taken. \n"
+ "'Close' closes the task. \n"
+ "'Toggle' toggles the task. \n"
+ "'Iconify' iconifies (minimizes) the task. \n"
+ "'Shade' shades (collapses) the task. \n"
+ "'Toggle or iconify' toggles or iconifies the task. \n"
+ "'Maximize or restore' maximizes or minimizes the task. \n"
+ "'Desktop left' sends the task to the previous desktop. \n"
+ "'Desktop right' sends the task to the next desktop. \n"
+ "'Next task' sends the focus to the next task. \n"
+ "'Previous task' sends the focus to the previous task.", NULL);
row++, col = 2;
label = gtk_label_new(_("Right click"));
@@ -2456,6 +2640,18 @@ void create_task(GtkWidget *parent)
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_right), _("Desktop right"));
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_right), _("Next task"));
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_right), _("Previous task"));
+ gtk_tooltips_set_tip(tooltips, task_mouse_right, "Specifies the action performed when task buttons receive a right click event: \n"
+ "'None' means that no action is taken. \n"
+ "'Close' closes the task. \n"
+ "'Toggle' toggles the task. \n"
+ "'Iconify' iconifies (minimizes) the task. \n"
+ "'Shade' shades (collapses) the task. \n"
+ "'Toggle or iconify' toggles or iconifies the task. \n"
+ "'Maximize or restore' maximizes or minimizes the task. \n"
+ "'Desktop left' sends the task to the previous desktop. \n"
+ "'Desktop right' sends the task to the next desktop. \n"
+ "'Next task' sends the focus to the next task. \n"
+ "'Previous task' sends the focus to the previous task.", NULL);
change_paragraph(parent);
@@ -2482,6 +2678,7 @@ void create_task(GtkWidget *parent)
gtk_widget_show(task_show_icon);
gtk_table_attach(GTK_TABLE(table), task_show_icon, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, task_show_icon, "If enabled, the window icon is shown on task buttons.", NULL);
row++, col = 2;
label = gtk_label_new(_("Show text"));
@@ -2494,6 +2691,7 @@ void create_task(GtkWidget *parent)
gtk_widget_show(task_show_text);
gtk_table_attach(GTK_TABLE(table), task_show_text, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, task_show_text, "If enabled, the window title is shown on task buttons.", NULL);
row++, col = 2;
label = gtk_label_new(_("Center text"));
@@ -2506,6 +2704,7 @@ void create_task(GtkWidget *parent)
gtk_widget_show(task_align_center);
gtk_table_attach(GTK_TABLE(table), task_align_center, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, task_align_center, "If enabled, the text is centered on task buttons. Otherwise, it is left-aligned.", NULL);
row++, col = 2;
label = gtk_label_new(_("Show tooltips"));
@@ -2518,6 +2717,7 @@ void create_task(GtkWidget *parent)
gtk_widget_show(tooltip_task_show);
gtk_table_attach(GTK_TABLE(table), tooltip_task_show, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, tooltip_task_show, "If enabled, a tooltip showing the window title is displayed when the mouse cursor moves over task buttons.", NULL);
row++, col = 2;
label = gtk_label_new(_("Maximum width"));
@@ -2530,6 +2730,7 @@ void create_task(GtkWidget *parent)
gtk_widget_show(task_maximum_width);
gtk_table_attach(GTK_TABLE(table), task_maximum_width, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, task_maximum_width, "Specifies the maximum width of the task buttons.", NULL);
row++, col = 2;
label = gtk_label_new(_("Maximum height"));
@@ -2542,6 +2743,7 @@ void create_task(GtkWidget *parent)
gtk_widget_show(task_maximum_height);
gtk_table_attach(GTK_TABLE(table), task_maximum_height, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, task_maximum_height, "Specifies the maximum height of the task buttons.", NULL);
row++, col = 2;
label = gtk_label_new(_("Horizontal padding"));
@@ -2554,6 +2756,8 @@ void create_task(GtkWidget *parent)
gtk_widget_show(task_padding_x);
gtk_table_attach(GTK_TABLE(table), task_padding_x, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, task_padding_x, "Specifies the horizontal padding of the task buttons. "
+ "This is the space between the border and the content inside.", NULL);
row++, col = 2;
label = gtk_label_new(_("Vertical padding"));
@@ -2566,6 +2770,8 @@ void create_task(GtkWidget *parent)
gtk_widget_show(task_padding_y);
gtk_table_attach(GTK_TABLE(table), task_padding_y, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, task_padding_y, "Specifies the vertical padding of the task buttons. "
+ "This is the space between the border and the content inside.", NULL);
row++, col = 2;
label = gtk_label_new(_("Font"));
@@ -2578,7 +2784,8 @@ void create_task(GtkWidget *parent)
gtk_widget_show(task_font);
gtk_table_attach(GTK_TABLE(table), task_font, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
-// gtk_font_button_set_show_style(GTK_FONT_BUTTON(task_font), FALSE);
+ gtk_font_button_set_show_style(GTK_FONT_BUTTON(task_font), TRUE);
+ gtk_tooltips_set_tip(tooltips, task_font, "Specifies the font used to display the task button text.", NULL);
change_paragraph(parent);
@@ -2713,6 +2920,7 @@ void create_task_status(GtkWidget *notebook,
GtkWidget **task_status_background,
GtkWidget **task_status_background_set)
{
+ GtkTooltips *tooltips = gtk_tooltips_new();
GtkWidget *label = gtk_label_new(_(name));
gtk_widget_show(label);
GtkWidget *page_task = gtk_vbox_new(FALSE, DEFAULT_HOR_SPACING);
@@ -2730,6 +2938,7 @@ void create_task_status(GtkWidget *notebook,
gtk_widget_show(*task_status_color_set);
gtk_table_attach(GTK_TABLE(table), *task_status_color_set, 0, 1, 0, 1, GTK_FILL, 0, 0, 0);
gtk_signal_connect(GTK_OBJECT(*task_status_color_set), "toggled", GTK_SIGNAL_FUNC(task_status_toggle_button_callback), NULL);
+ gtk_tooltips_set_tip(tooltips, *task_status_color_set, "If enabled, a custom font color is used to display the task text.", NULL);
label = gtk_label_new(_("Font color"));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
@@ -2740,11 +2949,13 @@ void create_task_status(GtkWidget *notebook,
gtk_color_button_set_use_alpha(GTK_COLOR_BUTTON(*task_status_color), TRUE);
gtk_widget_show(*task_status_color);
gtk_table_attach(GTK_TABLE(table), *task_status_color, 2, 3, 0, 1, GTK_FILL, 0, 0, 0);
+ gtk_tooltips_set_tip(tooltips, *task_status_color, "Specifies the font color used to display the task text.", NULL);
*task_status_icon_osb_set = gtk_check_button_new();
gtk_widget_show(*task_status_icon_osb_set);
gtk_table_attach(GTK_TABLE(table), *task_status_icon_osb_set, 0, 1, 1, 2, GTK_FILL, 0, 0, 0);
gtk_signal_connect(GTK_OBJECT(*task_status_icon_osb_set), "toggled", GTK_SIGNAL_FUNC(task_status_toggle_button_callback), NULL);
+ gtk_tooltips_set_tip(tooltips, *task_status_icon_osb_set, "If enabled, a custom opacity/saturation/brightness is used to display the task icon.", NULL);
label = gtk_label_new(_("Icon opacity"));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
@@ -2754,6 +2965,7 @@ void create_task_status(GtkWidget *notebook,
*task_status_icon_opacity = gtk_spin_button_new_with_range(0, 100, 1);
gtk_widget_show(*task_status_icon_opacity);
gtk_table_attach(GTK_TABLE(table), *task_status_icon_opacity, 2, 3, 1, 2, GTK_FILL, 0, 0, 0);
+ gtk_tooltips_set_tip(tooltips, *task_status_icon_opacity, "Specifies the opacity (in %) used to display the task icon.", NULL);
label = gtk_label_new(_("Icon saturation"));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
@@ -2763,6 +2975,7 @@ void create_task_status(GtkWidget *notebook,
*task_status_icon_saturation = gtk_spin_button_new_with_range(-100, 100, 1);
gtk_widget_show(*task_status_icon_saturation);
gtk_table_attach(GTK_TABLE(table), *task_status_icon_saturation, 2, 3, 2, 3, GTK_FILL, 0, 0, 0);
+ gtk_tooltips_set_tip(tooltips, *task_status_icon_saturation, "Specifies the saturation adjustment (in %) used to display the task icon.", NULL);
label = gtk_label_new(_("Icon brightness"));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
@@ -2772,11 +2985,13 @@ void create_task_status(GtkWidget *notebook,
*task_status_icon_brightness = gtk_spin_button_new_with_range(-100, 100, 1);
gtk_widget_show(*task_status_icon_brightness);
gtk_table_attach(GTK_TABLE(table), *task_status_icon_brightness, 2, 3, 3, 4, GTK_FILL, 0, 0, 0);
+ gtk_tooltips_set_tip(tooltips, *task_status_icon_brightness, "Specifies the brightness adjustment (in %) used to display the task icon.", NULL);
*task_status_background_set = gtk_check_button_new();
gtk_widget_show(*task_status_background_set);
gtk_table_attach(GTK_TABLE(table), *task_status_background_set, 0, 1, 4, 5, GTK_FILL, 0, 0, 0);
gtk_signal_connect(GTK_OBJECT(*task_status_background_set), "toggled", GTK_SIGNAL_FUNC(task_status_toggle_button_callback), NULL);
+ gtk_tooltips_set_tip(tooltips, *task_status_background_set, "If enabled, a custom background is used to display the task.", NULL);
label = gtk_label_new(_("Background"));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
@@ -2786,6 +3001,8 @@ void create_task_status(GtkWidget *notebook,
*task_status_background = create_background_combo();
gtk_widget_show(*task_status_background);
gtk_table_attach(GTK_TABLE(table), *task_status_background, 2, 3, 4, 5, GTK_FILL, 0, 0, 0);
+ gtk_tooltips_set_tip(tooltips, *task_status_background, "Selects the background used to display the task. "
+ "Backgrounds can be edited in the Backgrounds tab.", NULL);
if (*task_status_color == task_urgent_color) {
label = gtk_label_new(_("Blinks"));
@@ -2796,6 +3013,7 @@ void create_task_status(GtkWidget *notebook,
task_urgent_blinks = gtk_spin_button_new_with_range(0, 1000000, 1);
gtk_widget_show(task_urgent_blinks);
gtk_table_attach(GTK_TABLE(table), task_urgent_blinks, 2, 3, 5, 6, GTK_FILL, 0, 0, 0);
+ gtk_tooltips_set_tip(tooltips, task_urgent_blinks, "Specifies how many times urgent tasks blink.", NULL);
}
task_status_toggle_button_callback(*task_status_color_set, NULL);
@@ -2808,6 +3026,7 @@ void create_clock(GtkWidget *parent)
GtkWidget *table;
GtkWidget *label;
int row, col;
+ GtkTooltips *tooltips = gtk_tooltips_new();
table = gtk_table_new(1, 2, FALSE);
gtk_widget_show(table);
@@ -2839,6 +3058,9 @@ void create_clock(GtkWidget *parent)
gtk_entry_set_width_chars(GTK_ENTRY(clock_format_line1), 16);
gtk_table_attach(GTK_TABLE(table), clock_format_line1, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, clock_format_line1,
+ "Specifies the format used to display the first line of the clock text. "
+ "See 'man strftime' for all the available options.", NULL);
row++, col = 2;
label = gtk_label_new(_("Second line format"));
@@ -2852,6 +3074,9 @@ void create_clock(GtkWidget *parent)
gtk_entry_set_width_chars(GTK_ENTRY(clock_format_line2), 16);
gtk_table_attach(GTK_TABLE(table), clock_format_line2, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, clock_format_line2,
+ "Specifies the format used to display the second line of the clock text. "
+ "See 'man strftime' for all the available options.", NULL);
row++, col = 2;
label = gtk_label_new(_("First line timezone"));
@@ -2865,6 +3090,9 @@ void create_clock(GtkWidget *parent)
gtk_entry_set_width_chars(GTK_ENTRY(clock_tmz_line1), 16);
gtk_table_attach(GTK_TABLE(table), clock_tmz_line1, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, clock_tmz_line1,
+ "Specifies the timezone used to display the first line of the clock text. If empty, the current timezone is used. "
+ "Otherwise, it must be set to a valid value of the TZ environment variable.", NULL);
row++, col = 2;
label = gtk_label_new(_("Second line timezone"));
@@ -2878,6 +3106,9 @@ void create_clock(GtkWidget *parent)
gtk_entry_set_width_chars(GTK_ENTRY(clock_tmz_line2), 16);
gtk_table_attach(GTK_TABLE(table), clock_tmz_line2, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, clock_tmz_line2,
+ "Specifies the timezone used to display the second line of the clock text. If empty, the current timezone is used. "
+ "Otherwise, it must be set to a valid value of the TZ environment variable.", NULL);
change_paragraph(parent);
@@ -2905,6 +3136,8 @@ void create_clock(GtkWidget *parent)
gtk_entry_set_width_chars(GTK_ENTRY(clock_left_command), 50);
gtk_table_attach(GTK_TABLE(table), clock_left_command, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, clock_left_command,
+ "Specifies a command that will be executed when the clock receives a left click.", NULL);
row++, col = 2;
label = gtk_label_new(_("Right click command"));
@@ -2918,6 +3151,8 @@ void create_clock(GtkWidget *parent)
gtk_entry_set_width_chars(GTK_ENTRY(clock_right_command), 50);
gtk_table_attach(GTK_TABLE(table), clock_right_command, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, clock_right_command,
+ "Specifies a command that will be executed when the clock receives a right click.", NULL);
change_paragraph(parent);
@@ -2944,6 +3179,8 @@ void create_clock(GtkWidget *parent)
gtk_widget_show(clock_background);
gtk_table_attach(GTK_TABLE(table), clock_background, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, clock_background, "Selects the background used to display the clock. "
+ "Backgrounds can be edited in the Backgrounds tab.", NULL);
row++, col = 2;
label = gtk_label_new(_("Horizontal padding"));
@@ -2956,6 +3193,8 @@ void create_clock(GtkWidget *parent)
gtk_widget_show(clock_padding_x);
gtk_table_attach(GTK_TABLE(table), clock_padding_x, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, clock_padding_x, "Specifies the horizontal padding of the clock. "
+ "This is the space between the border and the content inside.", NULL);
row++, col = 2;
label = gtk_label_new(_("Vertical padding"));
@@ -2968,6 +3207,8 @@ void create_clock(GtkWidget *parent)
gtk_widget_show(clock_padding_y);
gtk_table_attach(GTK_TABLE(table), clock_padding_y, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, clock_padding_y, "Specifies the vertical padding of the clock. "
+ "This is the space between the border and the content inside.", NULL);
row++, col = 2;
label = gtk_label_new(_("Font first line"));
@@ -2980,7 +3221,8 @@ void create_clock(GtkWidget *parent)
gtk_widget_show(clock_font_line1);
gtk_table_attach(GTK_TABLE(table), clock_font_line1, col, col+3, row, row+1, GTK_FILL, 0, 0, 0);
col++;
-// gtk_font_button_set_show_style(GTK_FONT_BUTTON(clock_font_line1), FALSE);
+ gtk_font_button_set_show_style(GTK_FONT_BUTTON(clock_font_line1), TRUE);
+ gtk_tooltips_set_tip(tooltips, clock_font_line1, "Specifies the font used to display the first line of the clock.", NULL);
row++, col = 2;
label = gtk_label_new(_("Font second line"));
@@ -2993,7 +3235,8 @@ void create_clock(GtkWidget *parent)
gtk_widget_show(clock_font_line2);
gtk_table_attach(GTK_TABLE(table), clock_font_line2, col, col+3, row, row+1, GTK_FILL, 0, 0, 0);
col++;
-// gtk_font_button_set_show_style(GTK_FONT_BUTTON(clock_font_line2), FALSE);
+ gtk_font_button_set_show_style(GTK_FONT_BUTTON(clock_font_line2), TRUE);
+ gtk_tooltips_set_tip(tooltips, clock_font_line2, "Specifies the font used to display the second line of the clock.", NULL);
row++, col = 2;
label = gtk_label_new(_("Font color"));
@@ -3007,6 +3250,7 @@ void create_clock(GtkWidget *parent)
gtk_widget_show(clock_font_color);
gtk_table_attach(GTK_TABLE(table), clock_font_color, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, clock_font_color, "Specifies the font color used to display the clock.", NULL);
change_paragraph(parent);
@@ -3034,6 +3278,8 @@ void create_clock(GtkWidget *parent)
gtk_entry_set_width_chars(GTK_ENTRY(clock_format_tooltip), 30);
gtk_table_attach(GTK_TABLE(table), clock_format_tooltip, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, clock_format_tooltip, "Specifies the format used to display the clock tooltip. "
+ "See 'man strftime' for the available options.", NULL);
row++, col = 2;
label = gtk_label_new(_("Timezone"));
@@ -3047,6 +3293,8 @@ void create_clock(GtkWidget *parent)
gtk_entry_set_width_chars(GTK_ENTRY(clock_tmz_tooltip), 16);
gtk_table_attach(GTK_TABLE(table), clock_tmz_tooltip, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, clock_tmz_tooltip, "Specifies the timezone used to display the clock tooltip. If empty, the current timezone is used. "
+ "Otherwise, it must be set to a valid value of the TZ environment variable.", NULL);
change_paragraph(parent);
}
@@ -3056,6 +3304,7 @@ void create_systemtray(GtkWidget *parent)
GtkWidget *table;
GtkWidget *label;
int row, col;
+ GtkTooltips *tooltips = gtk_tooltips_new();
label = gtk_label_new(_("Options"));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
@@ -3085,6 +3334,11 @@ void create_systemtray(GtkWidget *parent)
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"));
+ gtk_tooltips_set_tip(tooltips, systray_icon_order, "Specifies the order used to arrange the system tray icons. \n"
+ "'Ascending' means that icons are sorted in ascending order of their window names. \n"
+ "'Descending' means that icons are sorted in descending order of their window names. \n"
+ "'Left to right' means that icons are always added to the left. \n"
+ "'Right to left' means that icons are always added to the right.", NULL);
row++;
col = 2;
@@ -3104,6 +3358,8 @@ void create_systemtray(GtkWidget *parent)
gtk_combo_box_append_text(GTK_COMBO_BOX(systray_monitor), _("4"));
gtk_combo_box_append_text(GTK_COMBO_BOX(systray_monitor), _("5"));
gtk_combo_box_append_text(GTK_COMBO_BOX(systray_monitor), _("6"));
+ gtk_tooltips_set_tip(tooltips, systray_monitor, "Specifies the monitor on which to place the system tray. "
+ "Due to technical limitations, the system tray cannot be displayed on multiple monitors.", NULL);
change_paragraph(parent);
@@ -3130,6 +3386,8 @@ void create_systemtray(GtkWidget *parent)
gtk_widget_show(systray_background);
gtk_table_attach(GTK_TABLE(table), systray_background, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, systray_background, "Selects the background used to display the system tray. "
+ "Backgrounds can be edited in the Backgrounds tab.", NULL);
row++;
col = 2;
@@ -3143,6 +3401,8 @@ void create_systemtray(GtkWidget *parent)
gtk_widget_show(systray_padding_x);
gtk_table_attach(GTK_TABLE(table), systray_padding_x, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, systray_padding_x, "Specifies the horizontal padding of the system tray. "
+ "This is the space between the border and the content inside.", NULL);
row++;
col = 2;
@@ -3156,6 +3416,8 @@ void create_systemtray(GtkWidget *parent)
gtk_widget_show(systray_padding_y);
gtk_table_attach(GTK_TABLE(table), systray_padding_y, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, systray_padding_y, "Specifies the vertical padding of the system tray. "
+ "This is the space between the border and the content inside.", NULL);
row++;
col = 2;
@@ -3169,6 +3431,7 @@ void create_systemtray(GtkWidget *parent)
gtk_widget_show(systray_spacing);
gtk_table_attach(GTK_TABLE(table), systray_spacing, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, systray_spacing, "Specifies the spacing between system tray icons.", NULL);
row++;
col = 2;
@@ -3182,6 +3445,7 @@ void create_systemtray(GtkWidget *parent)
gtk_widget_show(systray_icon_size);
gtk_table_attach(GTK_TABLE(table), systray_icon_size, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, systray_icon_size, "Specifies the size of the system tray icons, in pixels.", NULL);
row++;
col = 2;
@@ -3195,6 +3459,7 @@ void create_systemtray(GtkWidget *parent)
gtk_widget_show(systray_icon_opacity);
gtk_table_attach(GTK_TABLE(table), systray_icon_opacity, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, systray_icon_opacity, "Specifies the opacity of the system tray icons, in percent.", NULL);
row++;
col = 2;
@@ -3208,6 +3473,7 @@ void create_systemtray(GtkWidget *parent)
gtk_widget_show(systray_icon_saturation);
gtk_table_attach(GTK_TABLE(table), systray_icon_saturation, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, systray_icon_saturation, "Specifies the saturation adjustment of the system tray icons, in percent.", NULL);
row++;
col = 2;
@@ -3221,12 +3487,14 @@ void create_systemtray(GtkWidget *parent)
gtk_widget_show(systray_icon_brightness);
gtk_table_attach(GTK_TABLE(table), systray_icon_brightness, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, systray_icon_brightness, "Specifies the brightness adjustment of the system tray icons, in percent.", NULL);
}
void create_battery(GtkWidget *parent)
{
GtkWidget *table, *label;
int row, col;
+ GtkTooltips *tooltips = gtk_tooltips_new();
table = gtk_table_new(1, 2, FALSE);
gtk_widget_show(table);
@@ -3258,6 +3526,7 @@ void create_battery(GtkWidget *parent)
gtk_widget_show(battery_hide_if_higher);
gtk_table_attach(GTK_TABLE(table), battery_hide_if_higher, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, battery_hide_if_higher, "Minimum battery level for which to hide the batter applet. Use 101 to always show the batter applet.", NULL);
label = gtk_label_new(_("%"));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
@@ -3276,6 +3545,7 @@ void create_battery(GtkWidget *parent)
gtk_widget_show(battery_alert_if_lower);
gtk_table_attach(GTK_TABLE(table), battery_alert_if_lower, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, battery_alert_if_lower, "Battery level for which to display an alert.", NULL);
label = gtk_label_new(_("%"));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
@@ -3295,6 +3565,7 @@ void create_battery(GtkWidget *parent)
gtk_entry_set_width_chars(GTK_ENTRY(battery_alert_cmd), 50);
gtk_table_attach(GTK_TABLE(table), battery_alert_cmd, col, col+3, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, battery_alert_cmd, "Command to be executed when the alert threshold is reached.", NULL);
change_paragraph(parent);
@@ -3321,6 +3592,8 @@ void create_battery(GtkWidget *parent)
gtk_widget_show(battery_background);
gtk_table_attach(GTK_TABLE(table), battery_background, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, battery_background, "Selects the background used to display the battery. "
+ "Backgrounds can be edited in the Backgrounds tab.", NULL);
row++, col = 2;
label = gtk_label_new(_("Horizontal padding"));
@@ -3333,6 +3606,8 @@ void create_battery(GtkWidget *parent)
gtk_widget_show(battery_padding_x);
gtk_table_attach(GTK_TABLE(table), battery_padding_x, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, battery_padding_x, "Specifies the horizontal padding of the battery. "
+ "This is the space between the border and the content inside.", NULL);
row++, col = 2;
label = gtk_label_new(_("Vertical padding"));
@@ -3345,6 +3620,8 @@ void create_battery(GtkWidget *parent)
gtk_widget_show(battery_padding_y);
gtk_table_attach(GTK_TABLE(table), battery_padding_y, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, battery_padding_y, "Specifies the vertical padding of the battery. "
+ "This is the space between the border and the content inside.", NULL);
row++, col = 2;
label = gtk_label_new(_("Font first line"));
@@ -3357,7 +3634,8 @@ void create_battery(GtkWidget *parent)
gtk_widget_show(battery_font_line1);
gtk_table_attach(GTK_TABLE(table), battery_font_line1, col, col+3, row, row+1, GTK_FILL, 0, 0, 0);
col++;
-// gtk_font_button_set_show_style(GTK_FONT_BUTTON(battery_font_line1), FALSE);
+ gtk_font_button_set_show_style(GTK_FONT_BUTTON(battery_font_line1), TRUE);
+ gtk_tooltips_set_tip(tooltips, battery_font_line1, "Specifies the font used to display the first line of the battery text.", NULL);
row++, col = 2;
label = gtk_label_new(_("Font second line"));
@@ -3370,7 +3648,8 @@ void create_battery(GtkWidget *parent)
gtk_widget_show(battery_font_line2);
gtk_table_attach(GTK_TABLE(table), battery_font_line2, col, col+3, row, row+1, GTK_FILL, 0, 0, 0);
col++;
-// gtk_font_button_set_show_style(GTK_FONT_BUTTON(battery_font_line2), FALSE);
+ gtk_font_button_set_show_style(GTK_FONT_BUTTON(battery_font_line2), TRUE);
+ gtk_tooltips_set_tip(tooltips, battery_font_line2, "Specifies the font used to display the second line of the battery text.", NULL);
row++, col = 2;
label = gtk_label_new(_("Font color"));
@@ -3384,6 +3663,7 @@ void create_battery(GtkWidget *parent)
gtk_widget_show(battery_font_color);
gtk_table_attach(GTK_TABLE(table), battery_font_color, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, battery_font_color, "Specifies the font clor used to display the battery text.", NULL);
change_paragraph(parent);
}
@@ -3393,6 +3673,7 @@ void create_tooltip(GtkWidget *parent)
GtkWidget *table;
GtkWidget *label;
int row, col;
+ GtkTooltips *tooltips = gtk_tooltips_new();
label = gtk_label_new(_("Timing"));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
@@ -3417,6 +3698,7 @@ void create_tooltip(GtkWidget *parent)
gtk_widget_show(tooltip_show_after);
gtk_table_attach(GTK_TABLE(table), tooltip_show_after, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, tooltip_show_after, "Specifies a delay after which to show the tooltip when moving the mouse over an element.", NULL);
label = gtk_label_new(_("seconds"));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
@@ -3434,6 +3716,7 @@ void create_tooltip(GtkWidget *parent)
tooltip_hide_after = gtk_spin_button_new_with_range(0, 10000, 0.1);
gtk_widget_show(tooltip_hide_after);
gtk_table_attach(GTK_TABLE(table), tooltip_hide_after, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
+ gtk_tooltips_set_tip(tooltips, tooltip_hide_after, "Specifies a delay after which to hide the tooltip when moving the mouse outside an element.", NULL);
col++;
label = gtk_label_new(_("seconds"));
@@ -3467,6 +3750,8 @@ void create_tooltip(GtkWidget *parent)
gtk_widget_show(tooltip_background);
gtk_table_attach(GTK_TABLE(table), tooltip_background, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, tooltip_background, "Selects the background used to display the tooltip. "
+ "Backgrounds can be edited in the Backgrounds tab.", NULL);
row++, col = 2;
label = gtk_label_new(_("Horizontal padding"));
@@ -3479,6 +3764,8 @@ void create_tooltip(GtkWidget *parent)
gtk_widget_show(tooltip_padding_x);
gtk_table_attach(GTK_TABLE(table), tooltip_padding_x, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, tooltip_padding_x, "Specifies the horizontal padding of the tooltip. "
+ "This is the space between the border and the content inside.", NULL);
row++, col = 2;
label = gtk_label_new(_("Vertical padding"));
@@ -3491,6 +3778,8 @@ void create_tooltip(GtkWidget *parent)
gtk_widget_show(tooltip_padding_y);
gtk_table_attach(GTK_TABLE(table), tooltip_padding_y, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, tooltip_padding_y, "Specifies the vertical padding of the tooltip. "
+ "This is the space between the border and the content inside.", NULL);
row++, col = 2;
label = gtk_label_new(_("Font"));
@@ -3503,7 +3792,8 @@ void create_tooltip(GtkWidget *parent)
gtk_widget_show(tooltip_font);
gtk_table_attach(GTK_TABLE(table), tooltip_font, col, col+3, row, row+1, GTK_FILL, 0, 0, 0);
col++;
-// gtk_font_button_set_show_style(GTK_FONT_BUTTON(tooltip_font), FALSE);
+ gtk_font_button_set_show_style(GTK_FONT_BUTTON(tooltip_font), TRUE);
+ gtk_tooltips_set_tip(tooltips, tooltip_font, "Specifies the font used to display the text of the tooltip.", NULL);
row++, col = 2;
label = gtk_label_new(_("Font color"));
@@ -3517,6 +3807,7 @@ void create_tooltip(GtkWidget *parent)
gtk_widget_show(tooltip_font_color);
gtk_table_attach(GTK_TABLE(table), tooltip_font_color, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
+ gtk_tooltips_set_tip(tooltips, tooltip_font_color, "Specifies the font color used to display the text of the tooltip.", NULL);
change_paragraph(parent);
}