keyboard-properties: Add a 'Preview' frame .
keyboard-properties: Add a 'Preview' frame . screensaver-properties: Make the usage of /usr/X11R6/lib/xscreensaver/ a bit more generic. Fix DPMS. Remove warnings. sound-properties: Make it apply when people click 'OK'. theme-switcher: Add a menubar & menu for people to see. Fix warnings ui-properties: Speed up startup, fix bugs (see ChangeLog). wm-properties: Work with 0 wm's listed.
This commit is contained in:
parent
b570b94516
commit
7ad35a1ed4
6 changed files with 131 additions and 72 deletions
|
@ -45,7 +45,7 @@ demo_main(int argc, char **argv, gint in_fd)
|
||||||
gchar buf[256];
|
gchar buf[256];
|
||||||
Window window;
|
Window window;
|
||||||
GtkWidget *widget, *table, *hbox;
|
GtkWidget *widget, *table, *hbox;
|
||||||
GtkWidget *scrolled_window;
|
GtkWidget *scrolled_window, *menubar, *menu;
|
||||||
GSList *group;
|
GSList *group;
|
||||||
gchar *titles[2] = {N_("One"),N_("Two")};
|
gchar *titles[2] = {N_("One"),N_("Two")};
|
||||||
/* just 8 short names that will serve as samples for titles in demo */
|
/* just 8 short names that will serve as samples for titles in demo */
|
||||||
|
@ -108,54 +108,71 @@ demo_main(int argc, char **argv, gint in_fd)
|
||||||
|
|
||||||
plug = gtk_plug_new(window);
|
plug = gtk_plug_new(window);
|
||||||
|
|
||||||
table = gtk_table_new (4, 3, FALSE);
|
table = gtk_table_new (5, 3, FALSE);
|
||||||
gtk_container_add(GTK_CONTAINER(plug), table);
|
gtk_container_add(GTK_CONTAINER(plug), table);
|
||||||
|
|
||||||
widget = gtk_label_new (_("Selected themes from above will be tested by previewing here."));
|
widget = gtk_label_new (_("Selected themes from above will be tested by previewing here."));
|
||||||
gtk_label_set_justify (GTK_LABEL (widget), GTK_JUSTIFY_LEFT);
|
gtk_label_set_justify (GTK_LABEL (widget), GTK_JUSTIFY_LEFT);
|
||||||
|
gtk_table_attach (GTK_TABLE (table), widget, 0, 3, 0, 1, 0, 0, GNOME_PAD_SMALL, GNOME_PAD_SMALL);
|
||||||
|
|
||||||
|
menubar = gtk_menu_bar_new();
|
||||||
|
gtk_table_attach (GTK_TABLE (table), menubar, 0, 3, 1, 2, 0, 0, GNOME_PAD_SMALL, GNOME_PAD_SMALL);
|
||||||
|
|
||||||
|
widget = gtk_menu_item_new_with_label(_("Submenu"));
|
||||||
|
gtk_widget_show(widget);
|
||||||
|
gtk_menu_bar_append(GTK_MENU_BAR(menubar), widget);
|
||||||
|
gtk_widget_show(menubar);
|
||||||
|
|
||||||
|
menu = gtk_menu_new();
|
||||||
|
gtk_menu_item_set_submenu(GTK_MENU_ITEM(widget), menu);
|
||||||
|
widget = gtk_menu_item_new_with_label(_("Item 1"));
|
||||||
|
gtk_widget_show(widget);
|
||||||
|
gtk_menu_append(GTK_MENU(menu), widget);
|
||||||
|
widget = gtk_menu_item_new_with_label(_("Another item"));
|
||||||
|
gtk_widget_show(widget);
|
||||||
|
gtk_menu_append(GTK_MENU(menu), widget);
|
||||||
|
|
||||||
/* column one */
|
/* column one */
|
||||||
gtk_table_attach (GTK_TABLE (table), widget, 0, 3, 0, 1, 0, 0, GNOME_PAD_SMALL, GNOME_PAD_SMALL);
|
|
||||||
widget = gtk_button_new_with_label (_("Sample Button"));
|
widget = gtk_button_new_with_label (_("Sample Button"));
|
||||||
hbox = gtk_hbox_new (FALSE, 0);
|
hbox = gtk_hbox_new (FALSE, 0);
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
|
gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
|
||||||
gtk_table_attach (GTK_TABLE (table), hbox, 0, 1, 1, 2, GTK_EXPAND | GTK_FILL, 0, GNOME_PAD_SMALL, GNOME_PAD_SMALL);
|
gtk_table_attach (GTK_TABLE (table), hbox, 0, 1, 2, 3, GTK_EXPAND | GTK_FILL, 0, GNOME_PAD_SMALL, GNOME_PAD_SMALL);
|
||||||
widget = gtk_check_button_new_with_label (_("Sample Check Button"));
|
widget = gtk_check_button_new_with_label (_("Sample Check Button"));
|
||||||
hbox = gtk_hbox_new (FALSE, 0);
|
hbox = gtk_hbox_new (FALSE, 0);
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
|
gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
|
||||||
gtk_table_attach (GTK_TABLE (table), hbox, 0, 1, 2, 3, GTK_EXPAND | GTK_FILL, 0, GNOME_PAD_SMALL, 0);
|
gtk_table_attach (GTK_TABLE (table), hbox, 0, 1, 3, 4, GTK_EXPAND | GTK_FILL, 0, GNOME_PAD_SMALL, 0);
|
||||||
widget = gtk_entry_new_with_max_length (50);
|
widget = gtk_entry_new_with_max_length (50);
|
||||||
gtk_entry_set_text (GTK_ENTRY (widget), _("Sample Text Entry Field"));
|
gtk_entry_set_text (GTK_ENTRY (widget), _("Sample Text Entry Field"));
|
||||||
gtk_widget_set_usize (widget, 70, -1);
|
gtk_widget_set_usize (widget, 70, -1);
|
||||||
hbox = gtk_hbox_new (FALSE, 0);
|
hbox = gtk_hbox_new (FALSE, 0);
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0);
|
gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0);
|
||||||
gtk_table_attach (GTK_TABLE (table), hbox, 0, 1, 3, 4, GTK_EXPAND | GTK_FILL, 0, GNOME_PAD_SMALL, GNOME_PAD_SMALL);
|
gtk_table_attach (GTK_TABLE (table), hbox, 0, 1, 4, 5, GTK_EXPAND | GTK_FILL, 0, GNOME_PAD_SMALL, GNOME_PAD_SMALL);
|
||||||
|
|
||||||
/* column two */
|
/* column two */
|
||||||
widget = gtk_radio_button_new_with_label (NULL, _("Radio Button 1"));
|
widget = gtk_radio_button_new_with_label (NULL, _("Radio Button 1"));
|
||||||
hbox = gtk_hbox_new (FALSE, 0);
|
hbox = gtk_hbox_new (FALSE, 0);
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
|
gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
|
||||||
group = gtk_radio_button_group (GTK_RADIO_BUTTON (widget));
|
group = gtk_radio_button_group (GTK_RADIO_BUTTON (widget));
|
||||||
gtk_table_attach (GTK_TABLE (table), hbox, 1, 2, 1, 2, GTK_EXPAND | GTK_FILL, 0, 0, GNOME_PAD_SMALL);
|
gtk_table_attach (GTK_TABLE (table), hbox, 1, 2, 2, 3, GTK_EXPAND | GTK_FILL, 0, 0, GNOME_PAD_SMALL);
|
||||||
|
|
||||||
widget = gtk_radio_button_new_with_label (group, _("Radio Button 2"));
|
widget = gtk_radio_button_new_with_label (group, _("Radio Button 2"));
|
||||||
hbox = gtk_hbox_new (FALSE, 0);
|
hbox = gtk_hbox_new (FALSE, 0);
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
|
gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
|
||||||
group = gtk_radio_button_group (GTK_RADIO_BUTTON (widget));
|
group = gtk_radio_button_group (GTK_RADIO_BUTTON (widget));
|
||||||
gtk_table_attach (GTK_TABLE (table), hbox, 1, 2, 2, 3, GTK_EXPAND | GTK_FILL, 0, 0, 0);
|
gtk_table_attach (GTK_TABLE (table), hbox, 1, 2, 3, 4, GTK_EXPAND | GTK_FILL, 0, 0, 0);
|
||||||
|
|
||||||
widget = gtk_radio_button_new_with_label (group, _("Radio Button 3"));
|
widget = gtk_radio_button_new_with_label (group, _("Radio Button 3"));
|
||||||
hbox = gtk_hbox_new (FALSE, 0);
|
hbox = gtk_hbox_new (FALSE, 0);
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
|
gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
|
||||||
group = gtk_radio_button_group (GTK_RADIO_BUTTON (widget));
|
group = gtk_radio_button_group (GTK_RADIO_BUTTON (widget));
|
||||||
gtk_table_attach (GTK_TABLE (table), hbox, 1, 2, 3, 4, GTK_EXPAND | GTK_FILL, 0, 0, 0);
|
gtk_table_attach (GTK_TABLE (table), hbox, 1, 2, 4, 5, GTK_EXPAND | GTK_FILL, 0, 0, 0);
|
||||||
|
|
||||||
/* column three */
|
/* column three */
|
||||||
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
|
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
|
||||||
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW (scrolled_window),
|
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW (scrolled_window),
|
||||||
GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
|
GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
|
||||||
|
|
||||||
gtk_table_attach (GTK_TABLE (table), scrolled_window, 2, 3, 1, 4, GTK_EXPAND | GTK_FILL, 0, GNOME_PAD_SMALL, 0);
|
gtk_table_attach (GTK_TABLE (table), scrolled_window, 2, 3, 2, 5, GTK_EXPAND | GTK_FILL, 0, GNOME_PAD_SMALL, 0);
|
||||||
|
|
||||||
widget = gtk_clist_new_with_titles (2, titles);
|
widget = gtk_clist_new_with_titles (2, titles);
|
||||||
gtk_clist_set_column_width (GTK_CLIST(widget), 0, 45);
|
gtk_clist_set_column_width (GTK_CLIST(widget), 0, 45);
|
||||||
|
|
|
@ -45,7 +45,7 @@ demo_main(int argc, char **argv, gint in_fd)
|
||||||
gchar buf[256];
|
gchar buf[256];
|
||||||
Window window;
|
Window window;
|
||||||
GtkWidget *widget, *table, *hbox;
|
GtkWidget *widget, *table, *hbox;
|
||||||
GtkWidget *scrolled_window;
|
GtkWidget *scrolled_window, *menubar, *menu;
|
||||||
GSList *group;
|
GSList *group;
|
||||||
gchar *titles[2] = {N_("One"),N_("Two")};
|
gchar *titles[2] = {N_("One"),N_("Two")};
|
||||||
/* just 8 short names that will serve as samples for titles in demo */
|
/* just 8 short names that will serve as samples for titles in demo */
|
||||||
|
@ -108,54 +108,71 @@ demo_main(int argc, char **argv, gint in_fd)
|
||||||
|
|
||||||
plug = gtk_plug_new(window);
|
plug = gtk_plug_new(window);
|
||||||
|
|
||||||
table = gtk_table_new (4, 3, FALSE);
|
table = gtk_table_new (5, 3, FALSE);
|
||||||
gtk_container_add(GTK_CONTAINER(plug), table);
|
gtk_container_add(GTK_CONTAINER(plug), table);
|
||||||
|
|
||||||
widget = gtk_label_new (_("Selected themes from above will be tested by previewing here."));
|
widget = gtk_label_new (_("Selected themes from above will be tested by previewing here."));
|
||||||
gtk_label_set_justify (GTK_LABEL (widget), GTK_JUSTIFY_LEFT);
|
gtk_label_set_justify (GTK_LABEL (widget), GTK_JUSTIFY_LEFT);
|
||||||
|
gtk_table_attach (GTK_TABLE (table), widget, 0, 3, 0, 1, 0, 0, GNOME_PAD_SMALL, GNOME_PAD_SMALL);
|
||||||
|
|
||||||
|
menubar = gtk_menu_bar_new();
|
||||||
|
gtk_table_attach (GTK_TABLE (table), menubar, 0, 3, 1, 2, 0, 0, GNOME_PAD_SMALL, GNOME_PAD_SMALL);
|
||||||
|
|
||||||
|
widget = gtk_menu_item_new_with_label(_("Submenu"));
|
||||||
|
gtk_widget_show(widget);
|
||||||
|
gtk_menu_bar_append(GTK_MENU_BAR(menubar), widget);
|
||||||
|
gtk_widget_show(menubar);
|
||||||
|
|
||||||
|
menu = gtk_menu_new();
|
||||||
|
gtk_menu_item_set_submenu(GTK_MENU_ITEM(widget), menu);
|
||||||
|
widget = gtk_menu_item_new_with_label(_("Item 1"));
|
||||||
|
gtk_widget_show(widget);
|
||||||
|
gtk_menu_append(GTK_MENU(menu), widget);
|
||||||
|
widget = gtk_menu_item_new_with_label(_("Another item"));
|
||||||
|
gtk_widget_show(widget);
|
||||||
|
gtk_menu_append(GTK_MENU(menu), widget);
|
||||||
|
|
||||||
/* column one */
|
/* column one */
|
||||||
gtk_table_attach (GTK_TABLE (table), widget, 0, 3, 0, 1, 0, 0, GNOME_PAD_SMALL, GNOME_PAD_SMALL);
|
|
||||||
widget = gtk_button_new_with_label (_("Sample Button"));
|
widget = gtk_button_new_with_label (_("Sample Button"));
|
||||||
hbox = gtk_hbox_new (FALSE, 0);
|
hbox = gtk_hbox_new (FALSE, 0);
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
|
gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
|
||||||
gtk_table_attach (GTK_TABLE (table), hbox, 0, 1, 1, 2, GTK_EXPAND | GTK_FILL, 0, GNOME_PAD_SMALL, GNOME_PAD_SMALL);
|
gtk_table_attach (GTK_TABLE (table), hbox, 0, 1, 2, 3, GTK_EXPAND | GTK_FILL, 0, GNOME_PAD_SMALL, GNOME_PAD_SMALL);
|
||||||
widget = gtk_check_button_new_with_label (_("Sample Check Button"));
|
widget = gtk_check_button_new_with_label (_("Sample Check Button"));
|
||||||
hbox = gtk_hbox_new (FALSE, 0);
|
hbox = gtk_hbox_new (FALSE, 0);
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
|
gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
|
||||||
gtk_table_attach (GTK_TABLE (table), hbox, 0, 1, 2, 3, GTK_EXPAND | GTK_FILL, 0, GNOME_PAD_SMALL, 0);
|
gtk_table_attach (GTK_TABLE (table), hbox, 0, 1, 3, 4, GTK_EXPAND | GTK_FILL, 0, GNOME_PAD_SMALL, 0);
|
||||||
widget = gtk_entry_new_with_max_length (50);
|
widget = gtk_entry_new_with_max_length (50);
|
||||||
gtk_entry_set_text (GTK_ENTRY (widget), _("Sample Text Entry Field"));
|
gtk_entry_set_text (GTK_ENTRY (widget), _("Sample Text Entry Field"));
|
||||||
gtk_widget_set_usize (widget, 70, -1);
|
gtk_widget_set_usize (widget, 70, -1);
|
||||||
hbox = gtk_hbox_new (FALSE, 0);
|
hbox = gtk_hbox_new (FALSE, 0);
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0);
|
gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0);
|
||||||
gtk_table_attach (GTK_TABLE (table), hbox, 0, 1, 3, 4, GTK_EXPAND | GTK_FILL, 0, GNOME_PAD_SMALL, GNOME_PAD_SMALL);
|
gtk_table_attach (GTK_TABLE (table), hbox, 0, 1, 4, 5, GTK_EXPAND | GTK_FILL, 0, GNOME_PAD_SMALL, GNOME_PAD_SMALL);
|
||||||
|
|
||||||
/* column two */
|
/* column two */
|
||||||
widget = gtk_radio_button_new_with_label (NULL, _("Radio Button 1"));
|
widget = gtk_radio_button_new_with_label (NULL, _("Radio Button 1"));
|
||||||
hbox = gtk_hbox_new (FALSE, 0);
|
hbox = gtk_hbox_new (FALSE, 0);
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
|
gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
|
||||||
group = gtk_radio_button_group (GTK_RADIO_BUTTON (widget));
|
group = gtk_radio_button_group (GTK_RADIO_BUTTON (widget));
|
||||||
gtk_table_attach (GTK_TABLE (table), hbox, 1, 2, 1, 2, GTK_EXPAND | GTK_FILL, 0, 0, GNOME_PAD_SMALL);
|
gtk_table_attach (GTK_TABLE (table), hbox, 1, 2, 2, 3, GTK_EXPAND | GTK_FILL, 0, 0, GNOME_PAD_SMALL);
|
||||||
|
|
||||||
widget = gtk_radio_button_new_with_label (group, _("Radio Button 2"));
|
widget = gtk_radio_button_new_with_label (group, _("Radio Button 2"));
|
||||||
hbox = gtk_hbox_new (FALSE, 0);
|
hbox = gtk_hbox_new (FALSE, 0);
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
|
gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
|
||||||
group = gtk_radio_button_group (GTK_RADIO_BUTTON (widget));
|
group = gtk_radio_button_group (GTK_RADIO_BUTTON (widget));
|
||||||
gtk_table_attach (GTK_TABLE (table), hbox, 1, 2, 2, 3, GTK_EXPAND | GTK_FILL, 0, 0, 0);
|
gtk_table_attach (GTK_TABLE (table), hbox, 1, 2, 3, 4, GTK_EXPAND | GTK_FILL, 0, 0, 0);
|
||||||
|
|
||||||
widget = gtk_radio_button_new_with_label (group, _("Radio Button 3"));
|
widget = gtk_radio_button_new_with_label (group, _("Radio Button 3"));
|
||||||
hbox = gtk_hbox_new (FALSE, 0);
|
hbox = gtk_hbox_new (FALSE, 0);
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
|
gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
|
||||||
group = gtk_radio_button_group (GTK_RADIO_BUTTON (widget));
|
group = gtk_radio_button_group (GTK_RADIO_BUTTON (widget));
|
||||||
gtk_table_attach (GTK_TABLE (table), hbox, 1, 2, 3, 4, GTK_EXPAND | GTK_FILL, 0, 0, 0);
|
gtk_table_attach (GTK_TABLE (table), hbox, 1, 2, 4, 5, GTK_EXPAND | GTK_FILL, 0, 0, 0);
|
||||||
|
|
||||||
/* column three */
|
/* column three */
|
||||||
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
|
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
|
||||||
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW (scrolled_window),
|
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW (scrolled_window),
|
||||||
GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
|
GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
|
||||||
|
|
||||||
gtk_table_attach (GTK_TABLE (table), scrolled_window, 2, 3, 1, 4, GTK_EXPAND | GTK_FILL, 0, GNOME_PAD_SMALL, 0);
|
gtk_table_attach (GTK_TABLE (table), scrolled_window, 2, 3, 2, 5, GTK_EXPAND | GTK_FILL, 0, GNOME_PAD_SMALL, 0);
|
||||||
|
|
||||||
widget = gtk_clist_new_with_titles (2, titles);
|
widget = gtk_clist_new_with_titles (2, titles);
|
||||||
gtk_clist_set_column_width (GTK_CLIST(widget), 0, 45);
|
gtk_clist_set_column_width (GTK_CLIST(widget), 0, 45);
|
||||||
|
|
|
@ -164,7 +164,7 @@ install_theme_callback (GtkWidget *widget, gpointer data)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gint
|
static gint
|
||||||
delete_capplet (GtkWidget *widget, GdkEvent *event, gpointer data)
|
delete_capplet (GtkWidget *widget, GdkEvent *event, gpointer data)
|
||||||
{
|
{
|
||||||
/* We don't want the toplevel window destroyed until
|
/* We don't want the toplevel window destroyed until
|
||||||
|
@ -179,7 +179,7 @@ make_main(void)
|
||||||
{
|
{
|
||||||
void *sw, *label;
|
void *sw, *label;
|
||||||
GtkWidget *box, *hbox, *hbox2, *vbox;
|
GtkWidget *box, *hbox, *hbox2, *vbox;
|
||||||
GtkWidget *text, *frame, *frame2, *button;
|
GtkWidget *frame, *button;
|
||||||
GtkWidget *button_vbox;
|
GtkWidget *button_vbox;
|
||||||
gboolean default_used;
|
gboolean default_used;
|
||||||
|
|
||||||
|
@ -362,7 +362,7 @@ static void
|
||||||
click_try(GtkWidget *widget, gpointer data)
|
click_try(GtkWidget *widget, gpointer data)
|
||||||
{
|
{
|
||||||
gchar *rc;
|
gchar *rc;
|
||||||
gchar *dir, cmd[10240];
|
gchar *dir;
|
||||||
|
|
||||||
/* if (current_theme == current_global_theme)
|
/* if (current_theme == current_global_theme)
|
||||||
return;*/
|
return;*/
|
||||||
|
@ -409,7 +409,7 @@ static void
|
||||||
click_revert(GtkWidget *widget, gpointer data)
|
click_revert(GtkWidget *widget, gpointer data)
|
||||||
{
|
{
|
||||||
gchar *rc;
|
gchar *rc;
|
||||||
gchar *dir, cmd[10240];
|
gchar *dir;
|
||||||
|
|
||||||
widget = initial_theme;
|
widget = initial_theme;
|
||||||
if (!widget)
|
if (!widget)
|
||||||
|
@ -460,9 +460,7 @@ click_revert(GtkWidget *widget, gpointer data)
|
||||||
static void
|
static void
|
||||||
click_entry(GtkWidget *widget, gpointer data)
|
click_entry(GtkWidget *widget, gpointer data)
|
||||||
{
|
{
|
||||||
gchar *rc, *name, *new_readme, buf[1024];
|
gchar *rc, *name;
|
||||||
FILE *f;
|
|
||||||
|
|
||||||
|
|
||||||
name = (gchar *)gtk_object_get_data(GTK_OBJECT(widget), "name");
|
name = (gchar *)gtk_object_get_data(GTK_OBJECT(widget), "name");
|
||||||
rc = (gchar *)gtk_object_get_data(GTK_OBJECT(widget), "rc");
|
rc = (gchar *)gtk_object_get_data(GTK_OBJECT(widget), "rc");
|
||||||
|
|
|
@ -164,7 +164,7 @@ install_theme_callback (GtkWidget *widget, gpointer data)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gint
|
static gint
|
||||||
delete_capplet (GtkWidget *widget, GdkEvent *event, gpointer data)
|
delete_capplet (GtkWidget *widget, GdkEvent *event, gpointer data)
|
||||||
{
|
{
|
||||||
/* We don't want the toplevel window destroyed until
|
/* We don't want the toplevel window destroyed until
|
||||||
|
@ -179,7 +179,7 @@ make_main(void)
|
||||||
{
|
{
|
||||||
void *sw, *label;
|
void *sw, *label;
|
||||||
GtkWidget *box, *hbox, *hbox2, *vbox;
|
GtkWidget *box, *hbox, *hbox2, *vbox;
|
||||||
GtkWidget *text, *frame, *frame2, *button;
|
GtkWidget *frame, *button;
|
||||||
GtkWidget *button_vbox;
|
GtkWidget *button_vbox;
|
||||||
gboolean default_used;
|
gboolean default_used;
|
||||||
|
|
||||||
|
@ -362,7 +362,7 @@ static void
|
||||||
click_try(GtkWidget *widget, gpointer data)
|
click_try(GtkWidget *widget, gpointer data)
|
||||||
{
|
{
|
||||||
gchar *rc;
|
gchar *rc;
|
||||||
gchar *dir, cmd[10240];
|
gchar *dir;
|
||||||
|
|
||||||
/* if (current_theme == current_global_theme)
|
/* if (current_theme == current_global_theme)
|
||||||
return;*/
|
return;*/
|
||||||
|
@ -409,7 +409,7 @@ static void
|
||||||
click_revert(GtkWidget *widget, gpointer data)
|
click_revert(GtkWidget *widget, gpointer data)
|
||||||
{
|
{
|
||||||
gchar *rc;
|
gchar *rc;
|
||||||
gchar *dir, cmd[10240];
|
gchar *dir;
|
||||||
|
|
||||||
widget = initial_theme;
|
widget = initial_theme;
|
||||||
if (!widget)
|
if (!widget)
|
||||||
|
@ -460,9 +460,7 @@ click_revert(GtkWidget *widget, gpointer data)
|
||||||
static void
|
static void
|
||||||
click_entry(GtkWidget *widget, gpointer data)
|
click_entry(GtkWidget *widget, gpointer data)
|
||||||
{
|
{
|
||||||
gchar *rc, *name, *new_readme, buf[1024];
|
gchar *rc, *name;
|
||||||
FILE *f;
|
|
||||||
|
|
||||||
|
|
||||||
name = (gchar *)gtk_object_get_data(GTK_OBJECT(widget), "name");
|
name = (gchar *)gtk_object_get_data(GTK_OBJECT(widget), "name");
|
||||||
rc = (gchar *)gtk_object_get_data(GTK_OBJECT(widget), "rc");
|
rc = (gchar *)gtk_object_get_data(GTK_OBJECT(widget), "rc");
|
||||||
|
|
|
@ -18,10 +18,10 @@ GList *window_managers = NULL;
|
||||||
static GList *window_managers_save = NULL;
|
static GList *window_managers_save = NULL;
|
||||||
|
|
||||||
/* Current window manager */
|
/* Current window manager */
|
||||||
static WindowManager *current_wm;
|
static WindowManager *current_wm = NULL;
|
||||||
|
|
||||||
/* Window manager on startup */
|
/* Window manager on startup */
|
||||||
static WindowManager *current_wm_save;
|
static WindowManager *current_wm_save = NULL;
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
is_blank (gchar *str)
|
is_blank (gchar *str)
|
||||||
|
@ -270,10 +270,8 @@ wm_list_init (void)
|
||||||
if (!current_wm && window_managers)
|
if (!current_wm && window_managers)
|
||||||
current_wm = window_managers->data;
|
current_wm = window_managers->data;
|
||||||
|
|
||||||
if (!current_wm)
|
if(current_wm)
|
||||||
g_error ("No window manager desktops found!");
|
current_wm_save = wm_list_find (window_managers_save, current_wm->dentry->name);
|
||||||
|
|
||||||
current_wm_save = wm_list_find (window_managers_save, current_wm->dentry->name);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -282,7 +280,6 @@ wm_list_save (void)
|
||||||
GList *old_files;
|
GList *old_files;
|
||||||
GList *tmp_list;
|
GList *tmp_list;
|
||||||
gchar *tempdir;
|
gchar *tempdir;
|
||||||
gchar *filename;
|
|
||||||
gchar *prefix;
|
gchar *prefix;
|
||||||
WindowManager *wm;
|
WindowManager *wm;
|
||||||
|
|
||||||
|
@ -332,9 +329,9 @@ wm_list_save (void)
|
||||||
|
|
||||||
/* Save the current window manager
|
/* Save the current window manager
|
||||||
*/
|
*/
|
||||||
|
if(current_wm)
|
||||||
gnome_config_set_string ("wm-properties/Config/Config/Current",
|
gnome_config_set_string ("wm-properties/Config/Config/Current",
|
||||||
current_wm->dentry->name);
|
current_wm->dentry->name);
|
||||||
gnome_config_sync ();
|
gnome_config_sync ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -342,7 +339,10 @@ void
|
||||||
wm_list_revert (void)
|
wm_list_revert (void)
|
||||||
{
|
{
|
||||||
GList *tmp_list;
|
GList *tmp_list;
|
||||||
gchar *old_name = g_strdup (current_wm->dentry->name);
|
gchar *old_name = NULL;
|
||||||
|
|
||||||
|
if(current_wm)
|
||||||
|
old_name = g_strdup (current_wm->dentry->name);
|
||||||
|
|
||||||
g_list_foreach (window_managers, (GFunc)wm_free, NULL);
|
g_list_foreach (window_managers, (GFunc)wm_free, NULL);
|
||||||
g_list_free (window_managers);
|
g_list_free (window_managers);
|
||||||
|
@ -399,6 +399,9 @@ wm_list_get_current (void)
|
||||||
WindowManager *
|
WindowManager *
|
||||||
wm_list_get_revert (void)
|
wm_list_get_revert (void)
|
||||||
{
|
{
|
||||||
return wm_list_find (window_managers, current_wm_save->dentry->name);
|
if(current_wm_save)
|
||||||
|
return wm_list_find (window_managers, current_wm_save->dentry->name);
|
||||||
|
else
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,10 +31,11 @@ typedef struct {
|
||||||
/* vars. */
|
/* vars. */
|
||||||
static GtkWidget *capplet;
|
static GtkWidget *capplet;
|
||||||
static GtkWidget *delete_button;
|
static GtkWidget *delete_button;
|
||||||
|
static GtkWidget *edit_button;
|
||||||
static GtkWidget *config_button;
|
static GtkWidget *config_button;
|
||||||
static GtkWidget *clist;
|
static GtkWidget *clist;
|
||||||
|
|
||||||
static WindowManager *selected_wm;
|
static WindowManager *selected_wm = NULL;
|
||||||
|
|
||||||
static GtkWidget *restart_dialog = NULL;
|
static GtkWidget *restart_dialog = NULL;
|
||||||
static GtkWidget *restart_label = NULL;
|
static GtkWidget *restart_label = NULL;
|
||||||
|
@ -284,7 +285,7 @@ update_gui (void)
|
||||||
WindowManager *current_wm = wm_list_get_current();
|
WindowManager *current_wm = wm_list_get_current();
|
||||||
gint new_row;
|
gint new_row;
|
||||||
gchar *tmpstr;
|
gchar *tmpstr;
|
||||||
|
|
||||||
gtk_clist_clear (GTK_CLIST (clist));
|
gtk_clist_clear (GTK_CLIST (clist));
|
||||||
|
|
||||||
in_fill = TRUE;
|
in_fill = TRUE;
|
||||||
|
@ -330,7 +331,18 @@ update_gui (void)
|
||||||
|
|
||||||
in_fill = FALSE;
|
in_fill = FALSE;
|
||||||
|
|
||||||
gtk_widget_set_sensitive (delete_button, selected_wm->is_user);
|
if(selected_wm) {
|
||||||
|
gtk_widget_set_sensitive (edit_button, selected_wm->is_user);
|
||||||
|
gtk_widget_set_sensitive (delete_button, selected_wm->is_user);
|
||||||
|
} else {
|
||||||
|
gtk_widget_set_sensitive (edit_button, FALSE);
|
||||||
|
gtk_widget_set_sensitive (delete_button, FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (current_wm)
|
||||||
|
gtk_widget_show(config_button);
|
||||||
|
else
|
||||||
|
gtk_widget_hide(config_button);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -428,8 +440,8 @@ restart_failure (WMResult reason)
|
||||||
case STATE_CANCEL:
|
case STATE_CANCEL:
|
||||||
msg = g_strdup_printf (_("Could not start '%s'.\n"
|
msg = g_strdup_printf (_("Could not start '%s'.\n"
|
||||||
"Falling back to previous window manager '%s'\n"),
|
"Falling back to previous window manager '%s'\n"),
|
||||||
selected_wm->dentry->name,
|
selected_wm?selected_wm->dentry->name:"Unknown",
|
||||||
current_wm->dentry->name);
|
current_wm?current_wm->dentry->name:"Unknown");
|
||||||
selected_wm = current_wm;
|
selected_wm = current_wm;
|
||||||
restart(TRUE);
|
restart(TRUE);
|
||||||
break;
|
break;
|
||||||
|
@ -533,14 +545,32 @@ destroy_callback (GtkWidget *widget, void *data)
|
||||||
static void
|
static void
|
||||||
restart (gboolean force)
|
restart (gboolean force)
|
||||||
{
|
{
|
||||||
WindowManager *current_wm = wm_list_get_current();
|
WindowManager *current_wm = wm_list_get_current(), *mywm;
|
||||||
|
static gboolean last_try_was_twm = FALSE;
|
||||||
|
const char *twm_argv[] = {"twm", NULL};
|
||||||
|
const GnomeDesktopEntry twm_dentry = {"twm", "twm",
|
||||||
|
1, (char **)twm_argv, NULL,
|
||||||
|
NULL, NULL, 0, NULL,
|
||||||
|
NULL, NULL, 0, 0};
|
||||||
|
const WindowManager twm_fallback = {(GnomeDesktopEntry*)&twm_dentry, "twm", "twm", 0, 0, 1, 0};
|
||||||
|
|
||||||
if (force || current_wm != selected_wm) {
|
if(selected_wm) {
|
||||||
show_restart_dialog (selected_wm->dentry->name);
|
last_try_was_twm = FALSE;
|
||||||
|
mywm = selected_wm;
|
||||||
|
} else if(!last_try_was_twm) {
|
||||||
|
last_try_was_twm = TRUE;
|
||||||
|
mywm = (WindowManager*)&twm_fallback;
|
||||||
|
} else {
|
||||||
|
restart_finalize();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (force || current_wm != mywm) {
|
||||||
|
show_restart_dialog (mywm->dentry->name);
|
||||||
if (state != STATE_OK && state != STATE_CANCEL)
|
if (state != STATE_OK && state != STATE_CANCEL)
|
||||||
gtk_widget_set_sensitive (capplet, FALSE);
|
gtk_widget_set_sensitive (capplet, FALSE);
|
||||||
restart_pending = TRUE;
|
restart_pending = TRUE;
|
||||||
wm_restart (selected_wm,
|
wm_restart (mywm,
|
||||||
capplet->window,
|
capplet->window,
|
||||||
restart_callback,
|
restart_callback,
|
||||||
NULL);
|
NULL);
|
||||||
|
@ -600,16 +630,6 @@ ok_callback (void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
do_revert (void)
|
|
||||||
{
|
|
||||||
wm_list_revert();
|
|
||||||
selected_wm = wm_list_get_revert();
|
|
||||||
if (state != STATE_CANCEL)
|
|
||||||
update_gui();
|
|
||||||
restart(FALSE);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
revert_callback (void)
|
revert_callback (void)
|
||||||
{
|
{
|
||||||
|
@ -837,10 +857,15 @@ get_dialog_contents (WMDialog *dialog, WindowManager *wm)
|
||||||
static void
|
static void
|
||||||
edit_dialog (void)
|
edit_dialog (void)
|
||||||
{
|
{
|
||||||
WMDialog *dialog = create_dialog (_("Add New Window Manager"));
|
WMDialog *dialog;
|
||||||
gchar *tmp;
|
gchar *tmp;
|
||||||
gint result;
|
gint result;
|
||||||
|
|
||||||
|
if(!selected_wm)
|
||||||
|
return;
|
||||||
|
|
||||||
|
dialog = create_dialog (_("Edit Window Manager"));
|
||||||
|
|
||||||
if (selected_wm->dentry->name)
|
if (selected_wm->dentry->name)
|
||||||
gtk_entry_set_text (GTK_ENTRY (dialog->name_entry), selected_wm->dentry->name);
|
gtk_entry_set_text (GTK_ENTRY (dialog->name_entry), selected_wm->dentry->name);
|
||||||
|
|
||||||
|
@ -951,11 +976,13 @@ delete (void)
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
run_config (void)
|
run_config (GtkWidget *w)
|
||||||
{
|
{
|
||||||
WindowManager *current_wm = wm_list_get_current();
|
WindowManager *current_wm = wm_list_get_current();
|
||||||
if (current_wm->is_config_present &&
|
|
||||||
current_wm->config_exec != NULL) {
|
if (current_wm
|
||||||
|
&& current_wm->is_config_present
|
||||||
|
&& current_wm->config_exec != NULL) {
|
||||||
gchar *argv[4];
|
gchar *argv[4];
|
||||||
|
|
||||||
argv[0] = "/bin/sh";
|
argv[0] = "/bin/sh";
|
||||||
|
@ -973,7 +1000,6 @@ wm_setup (void)
|
||||||
GtkWidget *hbox, *vbox, *bottom;
|
GtkWidget *hbox, *vbox, *bottom;
|
||||||
GtkWidget *util_vbox;
|
GtkWidget *util_vbox;
|
||||||
GtkWidget *add_button;
|
GtkWidget *add_button;
|
||||||
GtkWidget *edit_button;
|
|
||||||
GtkWidget *scrolled_window;
|
GtkWidget *scrolled_window;
|
||||||
|
|
||||||
capplet = capplet_widget_new ();
|
capplet = capplet_widget_new ();
|
||||||
|
@ -1030,9 +1056,9 @@ wm_setup (void)
|
||||||
|
|
||||||
gtk_container_add (GTK_CONTAINER (capplet), vbox);
|
gtk_container_add (GTK_CONTAINER (capplet), vbox);
|
||||||
|
|
||||||
update_gui();
|
|
||||||
|
|
||||||
gtk_widget_show_all (capplet);
|
gtk_widget_show_all (capplet);
|
||||||
|
|
||||||
|
update_gui();
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue