add a magnifier I'm using when making themes. Not installed.

2002-05-29  Havoc Pennington  <hp@redhat.com>

	* src/tools/metacity-mag.c: add a magnifier I'm using when making
	themes. Not installed.

	* src/tools/metacity-properties.c: reindentation, show window, add
	copyright info.

	* src/tools/metacity-properties.glade: make main window !visible
	on startup, to avoid funkiness.
This commit is contained in:
Havoc Pennington 2002-05-29 16:16:53 +00:00 committed by Havoc Pennington
parent 6aaf2738c9
commit 737d3cbbf5
4 changed files with 119 additions and 76 deletions

View File

@ -1,3 +1,14 @@
2002-05-29 Havoc Pennington <hp@redhat.com>
* src/tools/metacity-mag.c: add a magnifier I'm using when making
themes. Not installed.
* src/tools/metacity-properties.c: reindentation, show window, add
copyright info.
* src/tools/metacity-properties.glade: make main window !visible
on startup, to avoid funkiness.
2002-05-29 Jacob Berkman <jacob@ximian.com> 2002-05-29 Jacob Berkman <jacob@ximian.com>
* src/tools/Makefile.am (EXTRA_DIST): dist .desktop.in files * src/tools/Makefile.am (EXTRA_DIST): dist .desktop.in files

View File

@ -15,6 +15,9 @@ metacity_message_SOURCES= \
metacity_window_demo_SOURCES= \ metacity_window_demo_SOURCES= \
metacity-window-demo.c metacity-window-demo.c
metacity_mag_SOURCES= \
metacity-mag.c
metacity_properties_SOURCES= \ metacity_properties_SOURCES= \
metacity-properties.c metacity-properties.c
@ -32,9 +35,13 @@ desktop_DATA=$(Desktop_in_files:.desktop.in=.desktop)
bin_PROGRAMS=metacity-message metacity-window-demo metacity-properties bin_PROGRAMS=metacity-message metacity-window-demo metacity-properties
## cheesy hack I use, doesn't really have any business existing. ;-)
noinst_PROGRAMS=metacity-mag
metacity_message_LDADD= @METACITY_MESSAGE_LIBS@ metacity_message_LDADD= @METACITY_MESSAGE_LIBS@
metacity_window_demo_LDADD= @METACITY_WINDOW_DEMO_LIBS@ metacity_window_demo_LDADD= @METACITY_WINDOW_DEMO_LIBS@
metacity_properties_LDADD= @METACITY_PROPS_LIBS@ metacity_properties_LDADD= @METACITY_PROPS_LIBS@
metacity_mag_LDADD= @METACITY_WINDOW_DEMO_LIBS@
EXTRA_DIST=$(icon_DATA) $(ui_DATA) $(propicon_DATA) $(Desktop_in_files) EXTRA_DIST=$(icon_DATA) $(ui_DATA) $(propicon_DATA) $(Desktop_in_files)

View File

@ -1,3 +1,25 @@
/* Metacity control panel */
/*
* Copyright (C) 2002 Sun Microsystems, Inc.
* Copyright (C) 2002 Red Hat, Inc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*/
#include <config.h> #include <config.h>
#include <glade/glade.h> #include <glade/glade.h>
#include <gtk/gtk.h> #include <gtk/gtk.h>
@ -19,113 +41,116 @@ static GtkWidget *autoraise_check;
static void static void
update_ui (void) update_ui (void)
{ {
char *focus_mode; char *focus_mode;
focus_mode = gconf_client_get_string (gconf_client, focus_mode = gconf_client_get_string (gconf_client,
KEY_FOCUS_MODE, KEY_FOCUS_MODE,
NULL); NULL);
if (focus_mode == NULL) focus_mode = g_strdup("click"); if (focus_mode == NULL)
focus_mode = g_strdup ("click");
if (strcmp (focus_mode, "click") == 0) if (strcmp (focus_mode, "click") == 0)
{ {
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (click_radio), gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (click_radio),
TRUE); TRUE);
gtk_widget_set_sensitive(autoraise_check, FALSE); gtk_widget_set_sensitive(autoraise_check, FALSE);
} }
else else
{ {
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (point_radio), gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (point_radio),
TRUE); TRUE);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (autoraise_check), gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (autoraise_check),
gconf_client_get_bool (gconf_client, gconf_client_get_bool (gconf_client,
KEY_AUTO_RAISE, KEY_AUTO_RAISE,
NULL)); NULL));
gtk_widget_set_sensitive(autoraise_check, TRUE); gtk_widget_set_sensitive(autoraise_check, TRUE);
} }
g_free (focus_mode); g_free (focus_mode);
} }
static void static void
key_change_cb (GConfClient *client, guint cnxn_id, key_change_cb (GConfClient *client, guint cnxn_id,
GConfEntry *entry, gpointer user_data) GConfEntry *entry, gpointer user_data)
{ {
update_ui (); update_ui ();
} }
void void
update_config (GtkWidget *widget, gpointer user_data) update_config (GtkWidget *widget, gpointer user_data)
{ {
const char *focus_mode = NULL; const char *focus_mode = NULL;
if (GTK_TOGGLE_BUTTON (click_radio)->active == TRUE) if (GTK_TOGGLE_BUTTON (click_radio)->active == TRUE)
{ {
focus_mode = "click"; focus_mode = "click";
} }
else else
{ {
focus_mode = "sloppy"; focus_mode = "sloppy";
} }
gconf_client_set_string (gconf_client, gconf_client_set_string (gconf_client,
KEY_FOCUS_MODE, KEY_FOCUS_MODE,
focus_mode, focus_mode,
NULL); NULL);
gconf_client_set_bool (gconf_client, KEY_AUTO_RAISE, gconf_client_set_bool (gconf_client, KEY_AUTO_RAISE,
GTK_TOGGLE_BUTTON (autoraise_check)->active, NULL); GTK_TOGGLE_BUTTON (autoraise_check)->active, NULL);
} }
int int
main (int argc, char **argv) main (int argc, char **argv)
{ {
GladeXML *xml; GladeXML *xml;
GdkPixbuf *pixbuf; GdkPixbuf *pixbuf;
GtkWidget *window, *icon; GtkWidget *window, *icon;
bindtextdomain (GETTEXT_PACKAGE, METACITY_LOCALEDIR); bindtextdomain (GETTEXT_PACKAGE, METACITY_LOCALEDIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
textdomain (GETTEXT_PACKAGE); textdomain (GETTEXT_PACKAGE);
gtk_init (&argc, &argv); gtk_init (&argc, &argv);
xml = glade_xml_new (METACITY_PROPS_GLADEDIR xml = glade_xml_new (METACITY_PROPS_GLADEDIR
"/metacity-properties.glade", NULL, NULL); "/metacity-properties.glade", NULL, NULL);
click_radio = glade_xml_get_widget (xml, "Clickfocus"); click_radio = glade_xml_get_widget (xml, "Clickfocus");
point_radio = glade_xml_get_widget (xml, "Pointfocus"); point_radio = glade_xml_get_widget (xml, "Pointfocus");
autoraise_check = glade_xml_get_widget (xml, "Autoraise"); autoraise_check = glade_xml_get_widget (xml, "Autoraise");
window = glade_xml_get_widget (xml, "Mainwindow"); window = glade_xml_get_widget (xml, "Mainwindow");
icon = glade_xml_get_widget (xml, "Icon"); icon = glade_xml_get_widget (xml, "Icon");
pixbuf = gdk_pixbuf_new_from_file (METACITY_PROPS_ICON_DIR pixbuf = gdk_pixbuf_new_from_file (METACITY_PROPS_ICON_DIR
"/metacity-properties.png", NULL); "/metacity-properties.png", NULL);
gtk_window_set_icon (GTK_WINDOW (window), pixbuf); gtk_window_set_icon (GTK_WINDOW (window), pixbuf);
gtk_image_set_from_pixbuf (GTK_IMAGE(icon) , pixbuf); gtk_image_set_from_pixbuf (GTK_IMAGE(icon) , pixbuf);
g_object_unref (G_OBJECT (pixbuf)); g_object_unref (G_OBJECT (pixbuf));
gconf_client = gconf_client_get_default (); gconf_client = gconf_client_get_default ();
gconf_client_add_dir (gconf_client, gconf_client_add_dir (gconf_client,
KEY_DIR, KEY_DIR,
GCONF_CLIENT_PRELOAD_NONE, GCONF_CLIENT_PRELOAD_NONE,
NULL); NULL);
gconf_client_notify_add (gconf_client, gconf_client_notify_add (gconf_client,
KEY_FOCUS_MODE, KEY_FOCUS_MODE,
key_change_cb, key_change_cb,
NULL, NULL, NULL); NULL, NULL, NULL);
gconf_client_notify_add (gconf_client, gconf_client_notify_add (gconf_client,
KEY_AUTO_RAISE, KEY_AUTO_RAISE,
key_change_cb, key_change_cb,
NULL, NULL, NULL); NULL, NULL, NULL);
update_ui (); update_ui ();
glade_xml_signal_autoconnect(xml); glade_xml_signal_autoconnect (xml);
gtk_main(); gtk_widget_show_all (window);
gtk_main ();
return 0; return 0;
} }

View File

@ -4,7 +4,7 @@
<glade-interface> <glade-interface>
<widget class="GtkDialog" id="Mainwindow"> <widget class="GtkDialog" id="Mainwindow">
<property name="visible">True</property> <property name="visible">False</property>
<property name="title" translatable="yes">Window Properties</property> <property name="title" translatable="yes">Window Properties</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="type">GTK_WINDOW_TOPLEVEL</property>
<property name="window_position">GTK_WIN_POS_NONE</property> <property name="window_position">GTK_WIN_POS_NONE</property>