OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gnome-settings-daemon?expand=0&rev=13
This commit is contained in:
parent
d8164c0d9f
commit
c22d9fd5db
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:db82d4c9f6db85874dac1f3aa9b38b3120a00c24fda8c25dd2389ebe4dfc60e4
|
||||
size 1164206
|
3
gnome-settings-daemon-2.23.6.tar.bz2
Normal file
3
gnome-settings-daemon-2.23.6.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:17c755ea3c6c5080b491196af1ad418362b50c37902374c07099de465ae197f9
|
||||
size 1161034
|
456
gnome-settings-daemon-monitor-labeling.diff
Normal file
456
gnome-settings-daemon-monitor-labeling.diff
Normal file
@ -0,0 +1,456 @@
|
||||
diff --git a/plugins/xrandr/gsd-xrandr-manager.c b/plugins/xrandr/gsd-xrandr-manager.c
|
||||
index 62010fe..4d8ce2f 100644
|
||||
--- a/plugins/xrandr/gsd-xrandr-manager.c
|
||||
+++ b/plugins/xrandr/gsd-xrandr-manager.c
|
||||
@@ -42,6 +42,7 @@
|
||||
|
||||
#include <libgnomeui/gnome-rr-config.h>
|
||||
#include <libgnomeui/gnome-rr.h>
|
||||
+#include <libgnomeui/gnome-rr-labeler.h>
|
||||
|
||||
#ifdef HAVE_RANDR
|
||||
#include <X11/extensions/Xrandr.h>
|
||||
@@ -76,6 +77,9 @@ struct GsdXrandrManagerPrivate
|
||||
gboolean client_filter_set;
|
||||
|
||||
GtkStatusIcon *status_icon;
|
||||
+ GtkWidget *popup_menu;
|
||||
+ GnomeRRConfig *configuration;
|
||||
+ GnomeRRLabeler *labeler;
|
||||
GConfClient *client;
|
||||
int notify_id;
|
||||
};
|
||||
@@ -186,30 +190,423 @@ popup_menu_configure_display_cb (GtkMenuItem *item, gpointer data)
|
||||
}
|
||||
|
||||
static void
|
||||
+status_icon_popup_menu_selection_done_cb (GtkMenuShell *menu_shell, gpointer data)
|
||||
+{
|
||||
+ GsdXrandrManager *manager = GSD_XRANDR_MANAGER (data);
|
||||
+ struct GsdXrandrManagerPrivate *priv = manager->priv;
|
||||
+
|
||||
+ gtk_widget_destroy (priv->popup_menu);
|
||||
+ priv->popup_menu = NULL;
|
||||
+
|
||||
+ gnome_rr_labeler_hide (priv->labeler);
|
||||
+ g_object_unref (priv->labeler);
|
||||
+ priv->labeler = NULL;
|
||||
+
|
||||
+ gnome_rr_config_free (priv->configuration);
|
||||
+ priv->configuration = NULL;
|
||||
+}
|
||||
+
|
||||
+#define OUTPUT_TITLE_ITEM_BORDER 2
|
||||
+#define OUTPUT_TITLE_ITEM_PADDING 4
|
||||
+
|
||||
+/* This is an expose-event hander for the title label for each GnomeRROutput.
|
||||
+ * We want each title to have a colored background, so we paint that background, then
|
||||
+ * return FALSE to let GtkLabel expose itself (i.e. paint the label's text), and then
|
||||
+ * we have a signal_connect_after handler as well. See the comments below
|
||||
+ * to see why that "after" handler is needed.
|
||||
+ */
|
||||
+static gboolean
|
||||
+output_title_label_expose_event_cb (GtkWidget *widget, GdkEventExpose *event, gpointer data)
|
||||
+{
|
||||
+ GsdXrandrManager *manager = GSD_XRANDR_MANAGER (data);
|
||||
+ struct GsdXrandrManagerPrivate *priv = manager->priv;
|
||||
+ GnomeOutputInfo *output;
|
||||
+ GdkColor color;
|
||||
+ cairo_t *cr;
|
||||
+
|
||||
+ g_assert (GTK_IS_LABEL (widget));
|
||||
+
|
||||
+ output = g_object_get_data (G_OBJECT (widget), "output");
|
||||
+ g_assert (output != NULL);
|
||||
+
|
||||
+ g_assert (priv->labeler != NULL);
|
||||
+
|
||||
+ /* Draw a black rectangular border, filled with the color that corresponds to this output */
|
||||
+
|
||||
+ gnome_rr_labeler_get_color_for_output (priv->labeler, output, &color);
|
||||
+
|
||||
+ cr = gdk_cairo_create (widget->window);
|
||||
+
|
||||
+ cairo_set_source_rgb (cr, 0, 0, 0);
|
||||
+ cairo_set_line_width (cr, OUTPUT_TITLE_ITEM_BORDER);
|
||||
+ cairo_rectangle (cr,
|
||||
+ widget->allocation.x + OUTPUT_TITLE_ITEM_BORDER / 2.0,
|
||||
+ widget->allocation.y + OUTPUT_TITLE_ITEM_BORDER / 2.0,
|
||||
+ widget->allocation.width - OUTPUT_TITLE_ITEM_BORDER,
|
||||
+ widget->allocation.height - OUTPUT_TITLE_ITEM_BORDER);
|
||||
+ cairo_stroke (cr);
|
||||
+
|
||||
+ gdk_cairo_set_source_color (cr, &color);
|
||||
+ cairo_rectangle (cr,
|
||||
+ widget->allocation.x + OUTPUT_TITLE_ITEM_BORDER,
|
||||
+ widget->allocation.y + OUTPUT_TITLE_ITEM_BORDER,
|
||||
+ widget->allocation.width - 2 * OUTPUT_TITLE_ITEM_BORDER,
|
||||
+ widget->allocation.height - 2 * OUTPUT_TITLE_ITEM_BORDER);
|
||||
+
|
||||
+ cairo_fill (cr);
|
||||
+
|
||||
+ /* We want the label to always show up as if it were sensitive
|
||||
+ * ("style->fg[GTK_STATE_NORMAL]"), even though the label is insensitive
|
||||
+ * due to being inside an insensitive menu item. So, here we have a
|
||||
+ * HACK in which we frob the label's state directly. GtkLabel's expose
|
||||
+ * handler will be run after this function, so it will think that the
|
||||
+ * label is in GTK_STATE_NORMAL. We reset the label's state back to
|
||||
+ * insensitive in output_title_label_after_expose_event_cb().
|
||||
+ *
|
||||
+ * Yay for fucking with GTK+'s internals.
|
||||
+ */
|
||||
+
|
||||
+ widget->state = GTK_STATE_NORMAL;
|
||||
+
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+/* See the comment in output_title_event_box_expose_event_cb() about this funny label widget */
|
||||
+static gboolean
|
||||
+output_title_label_after_expose_event_cb (GtkWidget *widget, GdkEventExpose *event, gpointer data)
|
||||
+{
|
||||
+ g_assert (GTK_IS_LABEL (widget));
|
||||
+ widget->state = GTK_STATE_INSENSITIVE;
|
||||
+
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+title_item_size_allocate_cb (GtkWidget *widget, GtkAllocation *allocation, gpointer data)
|
||||
+{
|
||||
+ /* When GtkMenu does size_request on its items, it asks them for their "toggle size",
|
||||
+ * which will be non-zero when there are check/radio items. GtkMenu remembers
|
||||
+ * the largest of those sizes. During the size_allocate pass, GtkMenu calls
|
||||
+ * gtk_menu_item_toggle_size_allocate() with that value, to tell the menu item
|
||||
+ * that it should later paint its child a bit to the right of its edge.
|
||||
+ *
|
||||
+ * However, we want the "title" menu items for each RANDR output to span the *whole*
|
||||
+ * allocation of the menu item, not just the "allocation minus toggle" area.
|
||||
+ *
|
||||
+ * So, we let the menu item size_allocate itself as usual, but this
|
||||
+ * callback gets run afterward. Here we hack a toggle size of 0 into
|
||||
+ * the menu item, and size_allocate it by hand *again*. We also need to
|
||||
+ * avoid recursing into this function.
|
||||
+ */
|
||||
+
|
||||
+ g_assert (GTK_IS_MENU_ITEM (widget));
|
||||
+
|
||||
+ gtk_menu_item_toggle_size_allocate (GTK_MENU_ITEM (widget), 0);
|
||||
+
|
||||
+ g_signal_handlers_block_by_func (widget, title_item_size_allocate_cb, NULL);
|
||||
+
|
||||
+ /* Sigh. There is no way to turn on GTK_ALLOC_NEEDED outside of GTK+
|
||||
+ * itself; also, since calling size_allocate on a widget with the same
|
||||
+ * allcation is a no-op, we need to allocate with a "different" size
|
||||
+ * first.
|
||||
+ */
|
||||
+
|
||||
+ allocation->width++;
|
||||
+ gtk_widget_size_allocate (widget, allocation);
|
||||
+
|
||||
+ allocation->width--;
|
||||
+ gtk_widget_size_allocate (widget, allocation);
|
||||
+
|
||||
+ g_signal_handlers_unblock_by_func (widget, title_item_size_allocate_cb, NULL);
|
||||
+}
|
||||
+
|
||||
+static GtkWidget *
|
||||
+make_menu_item_for_output_title (GsdXrandrManager *manager, GnomeOutputInfo *output)
|
||||
+{
|
||||
+ GtkWidget *item;
|
||||
+ GtkWidget *label;
|
||||
+ char *str;
|
||||
+
|
||||
+ item = gtk_menu_item_new ();
|
||||
+
|
||||
+ g_signal_connect (item, "size-allocate",
|
||||
+ G_CALLBACK (title_item_size_allocate_cb), NULL);
|
||||
+
|
||||
+ str = g_markup_printf_escaped ("<b>%s</b>", output->display_name);
|
||||
+ label = gtk_label_new (NULL);
|
||||
+ gtk_label_set_markup (GTK_LABEL (label), str);
|
||||
+ g_free (str);
|
||||
+
|
||||
+ /* Add padding around the label to fit the box that we'll draw for color-coding */
|
||||
+ gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
|
||||
+ gtk_misc_set_padding (GTK_MISC (label),
|
||||
+ OUTPUT_TITLE_ITEM_BORDER + OUTPUT_TITLE_ITEM_PADDING,
|
||||
+ OUTPUT_TITLE_ITEM_BORDER + OUTPUT_TITLE_ITEM_PADDING);
|
||||
+
|
||||
+ gtk_container_add (GTK_CONTAINER (item), label);
|
||||
+
|
||||
+ /* We want to paint a colored box as the background of the label, so we connect
|
||||
+ * to its expose-event signal. See the comment in *** to see why need to connect
|
||||
+ * to the label both 'before' and 'after'.
|
||||
+ */
|
||||
+ g_signal_connect (label, "expose-event",
|
||||
+ G_CALLBACK (output_title_label_expose_event_cb), manager);
|
||||
+ g_signal_connect_after (label, "expose-event",
|
||||
+ G_CALLBACK (output_title_label_after_expose_event_cb), manager);
|
||||
+
|
||||
+ g_object_set_data (G_OBJECT (label), "output", output);
|
||||
+
|
||||
+ gtk_widget_set_sensitive (item, FALSE); /* the title is not selectable */
|
||||
+ gtk_widget_show_all (item);
|
||||
+
|
||||
+ return item;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+get_allowed_rotations_for_output (GsdXrandrManager *manager, GnomeOutputInfo *output, int *out_num_rotations, GnomeRRRotation *out_rotations)
|
||||
+{
|
||||
+ static const GnomeRRRotation possible_rotations[] = {
|
||||
+ GNOME_RR_ROTATION_0,
|
||||
+ GNOME_RR_ROTATION_90,
|
||||
+ GNOME_RR_ROTATION_180,
|
||||
+ GNOME_RR_ROTATION_270
|
||||
+ /* We don't allow REFLECT_X or REFLECT_Y for now, as gnome-display-properties doesn't allow them, either */
|
||||
+ };
|
||||
+
|
||||
+ struct GsdXrandrManagerPrivate *priv = manager->priv;
|
||||
+ GnomeRRRotation current_rotation;
|
||||
+ int i;
|
||||
+
|
||||
+ *out_num_rotations = 0;
|
||||
+ *out_rotations = 0;
|
||||
+
|
||||
+ current_rotation = output->rotation;
|
||||
+
|
||||
+ /* Yay for brute force */
|
||||
+
|
||||
+ for (i = 0; i < G_N_ELEMENTS (possible_rotations); i++) {
|
||||
+ GnomeRRRotation rotation_to_test;
|
||||
+
|
||||
+ rotation_to_test = possible_rotations[i];
|
||||
+
|
||||
+ output->rotation = rotation_to_test;
|
||||
+
|
||||
+ if (gnome_rr_config_applicable (priv->configuration, priv->rw_screen)) {
|
||||
+ (*out_num_rotations)++;
|
||||
+ (*out_rotations) |= rotation_to_test;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ output->rotation = current_rotation;
|
||||
+
|
||||
+ if (*out_num_rotations == 0 || *out_rotations == 0) {
|
||||
+ g_warning ("Huh, output %p says it doesn't support any rotations, and yet it has a current rotation?", output);
|
||||
+ *out_num_rotations = 1;
|
||||
+ *out_rotations = output->rotation;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+add_unsupported_rotation_item (GsdXrandrManager *manager)
|
||||
+{
|
||||
+ struct GsdXrandrManagerPrivate *priv = manager->priv;
|
||||
+ GtkWidget *item;
|
||||
+ GtkWidget *label;
|
||||
+
|
||||
+ item = gtk_menu_item_new ();
|
||||
+
|
||||
+ label = gtk_label_new (NULL);
|
||||
+ gtk_label_set_markup (GTK_LABEL (label), _("<i>Rotation not supported</i>"));
|
||||
+ gtk_container_add (GTK_CONTAINER (item), label);
|
||||
+
|
||||
+ gtk_widget_show_all (item);
|
||||
+ gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), item);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+error_dialog (const char *title, const char *msg)
|
||||
+{
|
||||
+ GtkWidget *dialog;
|
||||
+
|
||||
+ dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,
|
||||
+ "%s", title);
|
||||
+ gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), "%s", msg);
|
||||
+
|
||||
+ gtk_dialog_run (GTK_DIALOG (dialog));
|
||||
+ gtk_widget_destroy (dialog);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+output_rotation_item_activate_cb (GtkMenuItem *item, gpointer data)
|
||||
+{
|
||||
+ GsdXrandrManager *manager = GSD_XRANDR_MANAGER (data);
|
||||
+ struct GsdXrandrManagerPrivate *priv = manager->priv;
|
||||
+ GnomeOutputInfo *output;
|
||||
+ GnomeRRRotation rotation;
|
||||
+ GError *error;
|
||||
+
|
||||
+ output = g_object_get_data (G_OBJECT (item), "output");
|
||||
+ rotation = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (item), "rotation"));
|
||||
+
|
||||
+ output->rotation = rotation;
|
||||
+
|
||||
+ error = NULL;
|
||||
+ if (gnome_rr_config_save (priv->configuration, &error)) {
|
||||
+ if (!gnome_rr_config_apply_stored (priv->rw_screen)) {
|
||||
+ error_dialog (_("The selected rotation could not be applied"),
|
||||
+ _("An error occurred while configuring the screen"));
|
||||
+ /* FIXME: that message is really useless. Make
|
||||
+ * gnome_rr_config_apply_stored() give us a meaningful
|
||||
+ * error message!
|
||||
+ */
|
||||
+ }
|
||||
+ } else {
|
||||
+ error_dialog (_("The selected rotation could not be applied"),
|
||||
+ error->message);
|
||||
+ g_error_free (error);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+add_items_for_rotations (GsdXrandrManager *manager, GnomeOutputInfo *output, GnomeRRRotation allowed_rotations)
|
||||
+{
|
||||
+ typedef struct {
|
||||
+ GnomeRRRotation rotation;
|
||||
+ const char * name;
|
||||
+ } RotationInfo;
|
||||
+ static const RotationInfo rotations[] = {
|
||||
+ { GNOME_RR_ROTATION_0, N_("Normal") },
|
||||
+ { GNOME_RR_ROTATION_90, N_("Left") },
|
||||
+ { GNOME_RR_ROTATION_270, N_("Right") },
|
||||
+ { GNOME_RR_ROTATION_180, N_("Upside Down") },
|
||||
+ /* We don't allow REFLECT_X or REFLECT_Y for now, as gnome-display-properties doesn't allow them, either */
|
||||
+ };
|
||||
+
|
||||
+ struct GsdXrandrManagerPrivate *priv = manager->priv;
|
||||
+ int i;
|
||||
+ GSList *group;
|
||||
+ GtkWidget *active_item;
|
||||
+ gulong active_item_activate_id;
|
||||
+
|
||||
+ group = NULL;
|
||||
+ active_item = NULL;
|
||||
+ active_item_activate_id = 0;
|
||||
+
|
||||
+ for (i = 0; i < G_N_ELEMENTS (rotations); i++) {
|
||||
+ GnomeRRRotation rot;
|
||||
+ GtkWidget *item;
|
||||
+ gulong activate_id;
|
||||
+
|
||||
+ rot = rotations[i].rotation;
|
||||
+
|
||||
+ if ((allowed_rotations & rot) == 0) {
|
||||
+ /* don't display items for rotations which are
|
||||
+ * unavailable. Their availability is not under the
|
||||
+ * user's control, anyway.
|
||||
+ */
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ item = gtk_radio_menu_item_new_with_label (group, _(rotations[i].name));
|
||||
+ gtk_widget_show_all (item);
|
||||
+ gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), item);
|
||||
+
|
||||
+ g_object_set_data (G_OBJECT (item), "output", output);
|
||||
+ g_object_set_data (G_OBJECT (item), "rotation", GINT_TO_POINTER (rot));
|
||||
+
|
||||
+ activate_id = g_signal_connect (item, "activate",
|
||||
+ G_CALLBACK (output_rotation_item_activate_cb), manager);
|
||||
+
|
||||
+ group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (item));
|
||||
+
|
||||
+ if (rot == output->rotation) {
|
||||
+ active_item = item;
|
||||
+ active_item_activate_id = activate_id;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (active_item) {
|
||||
+ /* Block the signal temporarily so our callback won't be called;
|
||||
+ * we are just setting up the UI.
|
||||
+ */
|
||||
+ g_signal_handler_block (active_item, active_item_activate_id);
|
||||
+
|
||||
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (active_item), TRUE);
|
||||
+
|
||||
+ g_signal_handler_unblock (active_item, active_item_activate_id);
|
||||
+ }
|
||||
+
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+add_rotation_items_for_output (GsdXrandrManager *manager, GnomeOutputInfo *output)
|
||||
+{
|
||||
+ int num_rotations;
|
||||
+ GnomeRRRotation rotations;
|
||||
+
|
||||
+ get_allowed_rotations_for_output (manager, output, &num_rotations, &rotations);
|
||||
+
|
||||
+ if (num_rotations == 1)
|
||||
+ add_unsupported_rotation_item (manager);
|
||||
+ else
|
||||
+ add_items_for_rotations (manager, output, rotations);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+add_menu_items_for_output (GsdXrandrManager *manager, GnomeOutputInfo *output)
|
||||
+{
|
||||
+ struct GsdXrandrManagerPrivate *priv = manager->priv;
|
||||
+ GtkWidget *item;
|
||||
+
|
||||
+ item = make_menu_item_for_output_title (manager, output);
|
||||
+ gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), item);
|
||||
+
|
||||
+ add_rotation_items_for_output (manager, output);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+add_menu_items_for_outputs (GsdXrandrManager *manager)
|
||||
+{
|
||||
+ struct GsdXrandrManagerPrivate *priv = manager->priv;
|
||||
+ int i;
|
||||
+
|
||||
+ for (i = 0; priv->configuration->outputs[i] != NULL; i++) {
|
||||
+ if (priv->configuration->outputs[i]->connected)
|
||||
+ add_menu_items_for_output (manager, priv->configuration->outputs[i]);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
status_icon_popup_menu (GsdXrandrManager *manager, guint button, guint32 timestamp)
|
||||
{
|
||||
struct GsdXrandrManagerPrivate *priv = manager->priv;
|
||||
- GtkWidget *menu;
|
||||
GtkWidget *item;
|
||||
|
||||
- menu = gtk_menu_new ();
|
||||
+ g_assert (priv->configuration == NULL);
|
||||
+ priv->configuration = gnome_rr_config_new_current (priv->rw_screen);
|
||||
+
|
||||
+ g_assert (priv->labeler == NULL);
|
||||
+ priv->labeler = gnome_rr_labeler_new (priv->configuration);
|
||||
+
|
||||
+ g_assert (priv->popup_menu == NULL);
|
||||
+ priv->popup_menu = gtk_menu_new ();
|
||||
+
|
||||
+ add_menu_items_for_outputs (manager);
|
||||
|
||||
- item = gtk_menu_item_new_with_label (_("Screen Rotation"));
|
||||
- gtk_widget_set_sensitive (item, FALSE);
|
||||
+ item = gtk_separator_menu_item_new ();
|
||||
gtk_widget_show (item);
|
||||
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
|
||||
+ gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), item);
|
||||
|
||||
item = gtk_menu_item_new_with_mnemonic (_("_Configure Display Settings ..."));
|
||||
g_signal_connect (item, "activate",
|
||||
G_CALLBACK (popup_menu_configure_display_cb), manager);
|
||||
gtk_widget_show (item);
|
||||
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
|
||||
- /* FIXME */
|
||||
+ gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), item);
|
||||
|
||||
- g_signal_connect (menu, "selection-done",
|
||||
- G_CALLBACK (gtk_widget_destroy), NULL);
|
||||
+ g_signal_connect (priv->popup_menu, "selection-done",
|
||||
+ G_CALLBACK (status_icon_popup_menu_selection_done_cb), manager);
|
||||
|
||||
- gtk_menu_popup (GTK_MENU (menu), NULL, NULL,
|
||||
+ gtk_menu_popup (GTK_MENU (priv->popup_menu), NULL, NULL,
|
||||
gtk_status_icon_position_menu,
|
||||
priv->status_icon, button, timestamp);
|
||||
}
|
@ -1,20 +1,96 @@
|
||||
Index: plugins/proxy/proxy.gnome-settings-plugin.in
|
||||
===================================================================
|
||||
--- plugins/proxy/proxy.gnome-settings-plugin.in (revision 0)
|
||||
+++ plugins/proxy/proxy.gnome-settings-plugin.in (revision 0)
|
||||
@@ -0,0 +1,8 @@
|
||||
+[GNOME Settings Plugin]
|
||||
+Module=proxy
|
||||
+IAge=0
|
||||
+_Name=Network Proxy
|
||||
+_Description=Network proxy plugin
|
||||
+Authors=Rodrigo Moya <rodrigo@gnome-db.org>
|
||||
+Copyright=
|
||||
+Website=
|
||||
Index: plugins/proxy/gsd-proxy-manager.c
|
||||
===================================================================
|
||||
--- plugins/proxy/gsd-proxy-manager.c (revision 0)
|
||||
+++ plugins/proxy/gsd-proxy-manager.c (revision 0)
|
||||
From e61dc951c432d489b17e3bdaf1e566ac15958c6b Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <e61dc951c432d489b17e3bdaf1e566ac15958c6b.1218815729.git.federico@novell.com>
|
||||
From: Federico Mena Quintero <federico@novell.com>
|
||||
Date: Thu, 14 Aug 2008 18:55:55 -0500
|
||||
Subject: [PATCH 1/5] Add a new plugin for proxy settings.
|
||||
|
||||
We read the system's configuration from /etc/sysconfig/proxy and propagate it to
|
||||
GNOME's GConf keys.
|
||||
---
|
||||
plugins/proxy/Makefile.am | 57 +++
|
||||
plugins/proxy/gsd-proxy-manager.c | 571 ++++++++++++++++++++++++++
|
||||
plugins/proxy/gsd-proxy-manager.h | 57 +++
|
||||
plugins/proxy/gsd-proxy-plugin.c | 103 +++++
|
||||
plugins/proxy/gsd-proxy-plugin.h | 59 +++
|
||||
plugins/proxy/novell-sysconfig-proxy-helper | 19 +
|
||||
plugins/proxy/proxy.gnome-settings-plugin.in | 8 +
|
||||
7 files changed, 874 insertions(+), 0 deletions(-)
|
||||
create mode 100644 plugins/proxy/Makefile.am
|
||||
create mode 100644 plugins/proxy/gsd-proxy-manager.c
|
||||
create mode 100644 plugins/proxy/gsd-proxy-manager.h
|
||||
create mode 100644 plugins/proxy/gsd-proxy-plugin.c
|
||||
create mode 100644 plugins/proxy/gsd-proxy-plugin.h
|
||||
create mode 100644 plugins/proxy/novell-sysconfig-proxy-helper
|
||||
create mode 100644 plugins/proxy/proxy.gnome-settings-plugin.in
|
||||
|
||||
diff --git a/plugins/proxy/Makefile.am b/plugins/proxy/Makefile.am
|
||||
new file mode 100644
|
||||
index 0000000..6a4ba90
|
||||
--- /dev/null
|
||||
+++ b/plugins/proxy/Makefile.am
|
||||
@@ -0,0 +1,57 @@
|
||||
+NULL =
|
||||
+
|
||||
+plugin_LTLIBRARIES = \
|
||||
+ libproxy.la \
|
||||
+ $(NULL)
|
||||
+
|
||||
+libproxy_la_SOURCES = \
|
||||
+ gsd-proxy-plugin.h \
|
||||
+ gsd-proxy-plugin.c \
|
||||
+ gsd-proxy-manager.h \
|
||||
+ gsd-proxy-manager.c \
|
||||
+ $(NULL)
|
||||
+
|
||||
+libproxy_la_CPPFLAGS = \
|
||||
+ -I$(top_srcdir)/gnome-settings-daemon \
|
||||
+ -DGNOME_SETTINGS_LOCALEDIR=\""$(datadir)/locale"\" \
|
||||
+ $(AM_CPPFLAGS)
|
||||
+
|
||||
+libproxy_la_CFLAGS = \
|
||||
+ $(SETTINGS_PLUGIN_CFLAGS) \
|
||||
+ -DLIBEXECDIR="\"$(libexecdir)\"" \
|
||||
+ $(AM_CFLAGS)
|
||||
+
|
||||
+libproxy_la_LDFLAGS = \
|
||||
+ $(GSD_PLUGIN_LDFLAGS) \
|
||||
+ $(NULL)
|
||||
+
|
||||
+libproxy_la_LIBADD = \
|
||||
+ $(SETTINGS_PLUGIN_LIBS) \
|
||||
+ $(NULL)
|
||||
+
|
||||
+plugin_in_files = \
|
||||
+ proxy.gnome-settings-plugin.in \
|
||||
+ $(NULL)
|
||||
+
|
||||
+plugin_DATA = $(plugin_in_files:.gnome-settings-plugin.in=.gnome-settings-plugin)
|
||||
+
|
||||
+helperdir = $(libexecdir)
|
||||
+helperfile = novell-sysconfig-proxy-helper
|
||||
+
|
||||
+install-data-hook :
|
||||
+ $(INSTALL_SCRIPT) $(srcdir)/$(helperfile) $(DESTDIR)$(libexecdir)/$(helperfile)
|
||||
+
|
||||
+EXTRA_DIST = \
|
||||
+ $(plugin_in_files) \
|
||||
+ $(helperfile) \
|
||||
+ $(NULL)
|
||||
+
|
||||
+CLEANFILES = \
|
||||
+ $(plugin_DATA) \
|
||||
+ $(NULL)
|
||||
+
|
||||
+DISTCLEANFILES = \
|
||||
+ $(plugin_DATA) \
|
||||
+ $(NULL)
|
||||
+
|
||||
+@GSD_INTLTOOL_PLUGIN_RULE@
|
||||
diff --git a/plugins/proxy/gsd-proxy-manager.c b/plugins/proxy/gsd-proxy-manager.c
|
||||
new file mode 100644
|
||||
index 0000000..9092b00
|
||||
--- /dev/null
|
||||
+++ b/plugins/proxy/gsd-proxy-manager.c
|
||||
@@ -0,0 +1,571 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
@ -587,10 +663,74 @@ Index: plugins/proxy/gsd-proxy-manager.c
|
||||
+
|
||||
+ return GSD_PROXY_MANAGER (manager_object);
|
||||
+}
|
||||
Index: plugins/proxy/gsd-proxy-plugin.c
|
||||
===================================================================
|
||||
--- plugins/proxy/gsd-proxy-plugin.c (revision 0)
|
||||
+++ plugins/proxy/gsd-proxy-plugin.c (revision 0)
|
||||
diff --git a/plugins/proxy/gsd-proxy-manager.h b/plugins/proxy/gsd-proxy-manager.h
|
||||
new file mode 100644
|
||||
index 0000000..3f97d01
|
||||
--- /dev/null
|
||||
+++ b/plugins/proxy/gsd-proxy-manager.h
|
||||
@@ -0,0 +1,57 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
+ * Copyright (C) 2008 Rodrigo Moya <rodrigo@gnome-db.org>
|
||||
+ *
|
||||
+ * 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.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#ifndef __GSD_PROXY_MANAGER_H
|
||||
+#define __GSD_PROXY_MANAGER_H
|
||||
+
|
||||
+#include <glib-object.h>
|
||||
+
|
||||
+G_BEGIN_DECLS
|
||||
+
|
||||
+#define GSD_TYPE_PROXY_MANAGER (gsd_proxy_manager_get_type ())
|
||||
+#define GSD_PROXY_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSD_TYPE_PROXY_MANAGER, GsdProxyManager))
|
||||
+#define GSD_PROXY_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GSD_TYPE_PROXY_MANAGER, GsdProxyManagerClass))
|
||||
+#define GSD_IS_PROXY_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSD_TYPE_PROXY_MANAGER))
|
||||
+#define GSD_IS_PROXY_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GSD_TYPE_PROXY_MANAGER))
|
||||
+#define GSD_PROXY_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GSD_TYPE_PROXY_MANAGER, GsdProxyManagerClass))
|
||||
+
|
||||
+typedef struct GsdProxyManagerPrivate GsdProxyManagerPrivate;
|
||||
+
|
||||
+typedef struct
|
||||
+{
|
||||
+ GObject parent;
|
||||
+ GsdProxyManagerPrivate *priv;
|
||||
+} GsdProxyManager;
|
||||
+
|
||||
+typedef struct
|
||||
+{
|
||||
+ GObjectClass parent_class;
|
||||
+} GsdProxyManagerClass;
|
||||
+
|
||||
+GType gsd_proxy_manager_get_type (void);
|
||||
+
|
||||
+GsdProxyManager * gsd_proxy_manager_new (void);
|
||||
+gboolean gsd_proxy_manager_start (GsdProxyManager *manager,
|
||||
+ GError **error);
|
||||
+void gsd_proxy_manager_stop (GsdProxyManager *manager);
|
||||
+
|
||||
+G_END_DECLS
|
||||
+
|
||||
+#endif /* __GSD_PROXY_MANAGER_H */
|
||||
diff --git a/plugins/proxy/gsd-proxy-plugin.c b/plugins/proxy/gsd-proxy-plugin.c
|
||||
new file mode 100644
|
||||
index 0000000..843ff16
|
||||
--- /dev/null
|
||||
+++ b/plugins/proxy/gsd-proxy-plugin.c
|
||||
@@ -0,0 +1,103 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
@ -695,158 +835,11 @@ Index: plugins/proxy/gsd-proxy-plugin.c
|
||||
+
|
||||
+ g_type_class_add_private (klass, sizeof (GsdProxyPluginPrivate));
|
||||
+}
|
||||
Index: plugins/proxy/Makefile.am
|
||||
===================================================================
|
||||
--- plugins/proxy/Makefile.am (revision 0)
|
||||
+++ plugins/proxy/Makefile.am (revision 0)
|
||||
@@ -0,0 +1,57 @@
|
||||
+NULL =
|
||||
+
|
||||
+plugin_LTLIBRARIES = \
|
||||
+ libproxy.la \
|
||||
+ $(NULL)
|
||||
+
|
||||
+libproxy_la_SOURCES = \
|
||||
+ gsd-proxy-plugin.h \
|
||||
+ gsd-proxy-plugin.c \
|
||||
+ gsd-proxy-manager.h \
|
||||
+ gsd-proxy-manager.c \
|
||||
+ $(NULL)
|
||||
+
|
||||
+libproxy_la_CPPFLAGS = \
|
||||
+ -I$(top_srcdir)/gnome-settings-daemon \
|
||||
+ -DGNOME_SETTINGS_LOCALEDIR=\""$(datadir)/locale"\" \
|
||||
+ $(AM_CPPFLAGS)
|
||||
+
|
||||
+libproxy_la_CFLAGS = \
|
||||
+ $(SETTINGS_PLUGIN_CFLAGS) \
|
||||
+ -DLIBEXECDIR="\"$(libexecdir)\"" \
|
||||
+ $(AM_CFLAGS)
|
||||
+
|
||||
+libproxy_la_LDFLAGS = \
|
||||
+ $(GSD_PLUGIN_LDFLAGS) \
|
||||
+ $(NULL)
|
||||
+
|
||||
+libproxy_la_LIBADD = \
|
||||
+ $(SETTINGS_PLUGIN_LIBS) \
|
||||
+ $(NULL)
|
||||
+
|
||||
+plugin_in_files = \
|
||||
+ proxy.gnome-settings-plugin.in \
|
||||
+ $(NULL)
|
||||
+
|
||||
+plugin_DATA = $(plugin_in_files:.gnome-settings-plugin.in=.gnome-settings-plugin)
|
||||
+
|
||||
+helperdir = $(libexecdir)
|
||||
+helperfile = novell-sysconfig-proxy-helper
|
||||
+
|
||||
+install-data-hook :
|
||||
+ $(INSTALL_SCRIPT) $(srcdir)/$(helperfile) $(DESTDIR)$(libexecdir)/$(helperfile)
|
||||
+
|
||||
+EXTRA_DIST = \
|
||||
+ $(plugin_in_files) \
|
||||
+ $(helperfile) \
|
||||
+ $(NULL)
|
||||
+
|
||||
+CLEANFILES = \
|
||||
+ $(plugin_DATA) \
|
||||
+ $(NULL)
|
||||
+
|
||||
+DISTCLEANFILES = \
|
||||
+ $(plugin_DATA) \
|
||||
+ $(NULL)
|
||||
+
|
||||
+@GSD_INTLTOOL_PLUGIN_RULE@
|
||||
Index: plugins/proxy/gsd-proxy-manager.h
|
||||
===================================================================
|
||||
--- plugins/proxy/gsd-proxy-manager.h (revision 0)
|
||||
+++ plugins/proxy/gsd-proxy-manager.h (revision 0)
|
||||
@@ -0,0 +1,57 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
+ * Copyright (C) 2008 Rodrigo Moya <rodrigo@gnome-db.org>
|
||||
+ *
|
||||
+ * 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.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#ifndef __GSD_PROXY_MANAGER_H
|
||||
+#define __GSD_PROXY_MANAGER_H
|
||||
+
|
||||
+#include <glib-object.h>
|
||||
+
|
||||
+G_BEGIN_DECLS
|
||||
+
|
||||
+#define GSD_TYPE_PROXY_MANAGER (gsd_proxy_manager_get_type ())
|
||||
+#define GSD_PROXY_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSD_TYPE_PROXY_MANAGER, GsdProxyManager))
|
||||
+#define GSD_PROXY_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GSD_TYPE_PROXY_MANAGER, GsdProxyManagerClass))
|
||||
+#define GSD_IS_PROXY_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSD_TYPE_PROXY_MANAGER))
|
||||
+#define GSD_IS_PROXY_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GSD_TYPE_PROXY_MANAGER))
|
||||
+#define GSD_PROXY_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GSD_TYPE_PROXY_MANAGER, GsdProxyManagerClass))
|
||||
+
|
||||
+typedef struct GsdProxyManagerPrivate GsdProxyManagerPrivate;
|
||||
+
|
||||
+typedef struct
|
||||
+{
|
||||
+ GObject parent;
|
||||
+ GsdProxyManagerPrivate *priv;
|
||||
+} GsdProxyManager;
|
||||
+
|
||||
+typedef struct
|
||||
+{
|
||||
+ GObjectClass parent_class;
|
||||
+} GsdProxyManagerClass;
|
||||
+
|
||||
+GType gsd_proxy_manager_get_type (void);
|
||||
+
|
||||
+GsdProxyManager * gsd_proxy_manager_new (void);
|
||||
+gboolean gsd_proxy_manager_start (GsdProxyManager *manager,
|
||||
+ GError **error);
|
||||
+void gsd_proxy_manager_stop (GsdProxyManager *manager);
|
||||
+
|
||||
+G_END_DECLS
|
||||
+
|
||||
+#endif /* __GSD_PROXY_MANAGER_H */
|
||||
Index: plugins/proxy/novell-sysconfig-proxy-helper
|
||||
===================================================================
|
||||
--- plugins/proxy/novell-sysconfig-proxy-helper (revision 0)
|
||||
+++ plugins/proxy/novell-sysconfig-proxy-helper (revision 0)
|
||||
@@ -0,0 +1,19 @@
|
||||
+#!/bin/sh
|
||||
+
|
||||
+if [ ! -f /etc/sysconfig/proxy ]
|
||||
+then
|
||||
+ exit 0
|
||||
+fi
|
||||
+
|
||||
+source /etc/sysconfig/proxy
|
||||
+
|
||||
+# This may look convoluted, but it's an easy way to let random shell
|
||||
+# script code appear in /etc/sysconfig/proxy and still let user code
|
||||
+# read the variables in it easily.
|
||||
+
|
||||
+echo "PROXY_ENABLED $PROXY_ENABLED"
|
||||
+echo "HTTP_PROXY $HTTP_PROXY"
|
||||
+echo "HTTPS_PROXY $HTTPS_PROXY"
|
||||
+echo "FTP_PROXY $FTP_PROXY"
|
||||
+echo "GOPHER_PROXY $GOPHER_PROXY"
|
||||
+echo "NO_PROXY $NO_PROXY"
|
||||
Index: plugins/proxy/gsd-proxy-plugin.h
|
||||
===================================================================
|
||||
--- plugins/proxy/gsd-proxy-plugin.h (revision 0)
|
||||
+++ plugins/proxy/gsd-proxy-plugin.h (revision 0)
|
||||
diff --git a/plugins/proxy/gsd-proxy-plugin.h b/plugins/proxy/gsd-proxy-plugin.h
|
||||
new file mode 100644
|
||||
index 0000000..8f81ecb
|
||||
--- /dev/null
|
||||
+++ b/plugins/proxy/gsd-proxy-plugin.h
|
||||
@@ -0,0 +1,59 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
@ -907,46 +900,68 @@ Index: plugins/proxy/gsd-proxy-plugin.h
|
||||
+G_END_DECLS
|
||||
+
|
||||
+#endif /* __GSD_PROXY_PLUGIN_H__ */
|
||||
Index: plugins/Makefile.am
|
||||
===================================================================
|
||||
--- plugins/Makefile.am (revision 328)
|
||||
+++ plugins/Makefile.am (working copy)
|
||||
@@ -10,6 +10,7 @@
|
||||
keyboard \
|
||||
media-keys \
|
||||
mouse \
|
||||
+ proxy \
|
||||
screensaver \
|
||||
sound \
|
||||
typing-break \
|
||||
Index: configure.ac
|
||||
===================================================================
|
||||
--- configure.ac (revision 328)
|
||||
+++ configure.ac (working copy)
|
||||
@@ -414,6 +414,7 @@
|
||||
plugins/media-keys/Makefile
|
||||
plugins/media-keys/actions/Makefile
|
||||
plugins/mouse/Makefile
|
||||
+plugins/proxy/Makefile
|
||||
plugins/screensaver/Makefile
|
||||
plugins/sound/Makefile
|
||||
plugins/sound/libsounds/Makefile
|
||||
Index: data/Makefile.am
|
||||
===================================================================
|
||||
--- data/Makefile.am (revision 328)
|
||||
+++ data/Makefile.am (working copy)
|
||||
@@ -8,6 +8,7 @@
|
||||
apps_gnome_settings_daemon_keybindings.schemas.in \
|
||||
apps_gnome_settings_daemon_screensaver.schemas.in \
|
||||
desktop_gnome_font_rendering.schemas.in \
|
||||
+ system_proxy.schemas.in \
|
||||
$(NULL)
|
||||
|
||||
schemas_DATA = $(schemas_in_files:.schemas.in=.schemas)
|
||||
Index: data/system_proxy.schemas.in
|
||||
===================================================================
|
||||
--- data/system_proxy.schemas.in (revision 0)
|
||||
+++ data/system_proxy.schemas.in (revision 0)
|
||||
diff --git a/plugins/proxy/novell-sysconfig-proxy-helper b/plugins/proxy/novell-sysconfig-proxy-helper
|
||||
new file mode 100644
|
||||
index 0000000..98b76da
|
||||
--- /dev/null
|
||||
+++ b/plugins/proxy/novell-sysconfig-proxy-helper
|
||||
@@ -0,0 +1,19 @@
|
||||
+#!/bin/sh
|
||||
+
|
||||
+if [ ! -f /etc/sysconfig/proxy ]
|
||||
+then
|
||||
+ exit 0
|
||||
+fi
|
||||
+
|
||||
+source /etc/sysconfig/proxy
|
||||
+
|
||||
+# This may look convoluted, but it's an easy way to let random shell
|
||||
+# script code appear in /etc/sysconfig/proxy and still let user code
|
||||
+# read the variables in it easily.
|
||||
+
|
||||
+echo "PROXY_ENABLED $PROXY_ENABLED"
|
||||
+echo "HTTP_PROXY $HTTP_PROXY"
|
||||
+echo "HTTPS_PROXY $HTTPS_PROXY"
|
||||
+echo "FTP_PROXY $FTP_PROXY"
|
||||
+echo "GOPHER_PROXY $GOPHER_PROXY"
|
||||
+echo "NO_PROXY $NO_PROXY"
|
||||
diff --git a/plugins/proxy/proxy.gnome-settings-plugin.in b/plugins/proxy/proxy.gnome-settings-plugin.in
|
||||
new file mode 100644
|
||||
index 0000000..19ce10c
|
||||
--- /dev/null
|
||||
+++ b/plugins/proxy/proxy.gnome-settings-plugin.in
|
||||
@@ -0,0 +1,8 @@
|
||||
+[GNOME Settings Plugin]
|
||||
+Module=proxy
|
||||
+IAge=0
|
||||
+_Name=Network Proxy
|
||||
+_Description=Network proxy plugin
|
||||
+Authors=Rodrigo Moya <rodrigo@gnome-db.org>
|
||||
+Copyright=
|
||||
+Website=
|
||||
--
|
||||
1.5.4.5
|
||||
|
||||
|
||||
From b0bf83da99fce538da8d747e5386853626d456ec Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <b0bf83da99fce538da8d747e5386853626d456ec.1218815729.git.federico@novell.com>
|
||||
In-Reply-To: <e61dc951c432d489b17e3bdaf1e566ac15958c6b.1218815729.git.federico@novell.com>
|
||||
References: <e61dc951c432d489b17e3bdaf1e566ac15958c6b.1218815729.git.federico@novell.com>
|
||||
From: Federico Mena Quintero <federico@novell.com>
|
||||
Date: Thu, 14 Aug 2008 19:00:41 -0500
|
||||
Subject: [PATCH 2/5] Add schemas for the system proxy settings.
|
||||
See the documentation about this in http://en.opensuse.org/GNOME/Proxy_configuration
|
||||
|
||||
---
|
||||
data/system_proxy.schemas.in | 26 ++++++++++++++++++++++++++
|
||||
1 files changed, 26 insertions(+), 0 deletions(-)
|
||||
create mode 100644 data/system_proxy.schemas.in
|
||||
|
||||
diff --git a/data/system_proxy.schemas.in b/data/system_proxy.schemas.in
|
||||
new file mode 100644
|
||||
index 0000000..5f01b2e
|
||||
--- /dev/null
|
||||
+++ b/data/system_proxy.schemas.in
|
||||
@@ -0,0 +1,26 @@
|
||||
+<?xml version="1.0"?>
|
||||
+<gconfschemafile>
|
||||
@ -974,3 +989,90 @@ Index: data/system_proxy.schemas.in
|
||||
+ </schema>
|
||||
+ </schemalist>
|
||||
+</gconfschemafile>
|
||||
--
|
||||
1.5.4.5
|
||||
|
||||
|
||||
From b149af05692650efe6947aa084287fcdda428108 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <b149af05692650efe6947aa084287fcdda428108.1218815729.git.federico@novell.com>
|
||||
In-Reply-To: <e61dc951c432d489b17e3bdaf1e566ac15958c6b.1218815729.git.federico@novell.com>
|
||||
References: <e61dc951c432d489b17e3bdaf1e566ac15958c6b.1218815729.git.federico@novell.com>
|
||||
From: Federico Mena Quintero <federico@novell.com>
|
||||
Date: Thu, 14 Aug 2008 18:58:46 -0500
|
||||
Subject: [PATCH 3/5] Add the proxy plugin to the plugins/Makefile.am
|
||||
|
||||
---
|
||||
plugins/Makefile.am | 1 +
|
||||
1 files changed, 1 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/plugins/Makefile.am b/plugins/Makefile.am
|
||||
index 2d33061..82f3eae 100644
|
||||
--- a/plugins/Makefile.am
|
||||
+++ b/plugins/Makefile.am
|
||||
@@ -12,6 +12,7 @@ SUBDIRS = \
|
||||
keyboard \
|
||||
media-keys \
|
||||
mouse \
|
||||
+ proxy \
|
||||
screensaver \
|
||||
sound \
|
||||
typing-break \
|
||||
--
|
||||
1.5.4.5
|
||||
|
||||
|
||||
From 97e29c68cf89a34db1c35656a3cc7e2e3d8f565d Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <97e29c68cf89a34db1c35656a3cc7e2e3d8f565d.1218815729.git.federico@novell.com>
|
||||
In-Reply-To: <e61dc951c432d489b17e3bdaf1e566ac15958c6b.1218815729.git.federico@novell.com>
|
||||
References: <e61dc951c432d489b17e3bdaf1e566ac15958c6b.1218815729.git.federico@novell.com>
|
||||
From: Federico Mena Quintero <federico@novell.com>
|
||||
Date: Thu, 14 Aug 2008 18:59:21 -0500
|
||||
Subject: [PATCH 4/5] Add the proxy plugin to configure.ac
|
||||
|
||||
---
|
||||
configure.ac | 1 +
|
||||
1 files changed, 1 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index bc336c1..ec5e5f3 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -441,6 +441,7 @@ plugins/keyboard/Makefile
|
||||
plugins/media-keys/Makefile
|
||||
plugins/media-keys/actions/Makefile
|
||||
plugins/mouse/Makefile
|
||||
+plugins/proxy/Makefile
|
||||
plugins/screensaver/Makefile
|
||||
plugins/sound/Makefile
|
||||
plugins/sound/libsounds/Makefile
|
||||
--
|
||||
1.5.4.5
|
||||
|
||||
|
||||
From ddab86c79a40b5d95a8d0420e1ea88e1d3ddbac9 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <ddab86c79a40b5d95a8d0420e1ea88e1d3ddbac9.1218815729.git.federico@novell.com>
|
||||
In-Reply-To: <e61dc951c432d489b17e3bdaf1e566ac15958c6b.1218815729.git.federico@novell.com>
|
||||
References: <e61dc951c432d489b17e3bdaf1e566ac15958c6b.1218815729.git.federico@novell.com>
|
||||
From: Federico Mena Quintero <federico@novell.com>
|
||||
Date: Thu, 14 Aug 2008 18:59:54 -0500
|
||||
Subject: [PATCH 5/5] Add the proxy schemas to data/Makefile.am
|
||||
|
||||
---
|
||||
data/Makefile.am | 1 +
|
||||
1 files changed, 1 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/data/Makefile.am b/data/Makefile.am
|
||||
index 2f0d4ca..c2494ec 100644
|
||||
--- a/data/Makefile.am
|
||||
+++ b/data/Makefile.am
|
||||
@@ -9,6 +9,7 @@ schemas_in_files = \
|
||||
apps_gnome_settings_daemon_screensaver.schemas.in \
|
||||
desktop_gnome_font_rendering.schemas.in \
|
||||
apps_gnome_settings_daemon_xrandr.schemas.in \
|
||||
+ system_proxy.schemas.in \
|
||||
$(NULL)
|
||||
|
||||
schemas_DATA = $(schemas_in_files:.schemas.in=.schemas)
|
||||
--
|
||||
1.5.4.5
|
||||
|
@ -1,3 +1,13 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 15 18:23:25 CEST 2008 - federico@novell.com
|
||||
|
||||
- Updated to gnome-settings-daemon-2.23.6.
|
||||
+ Bugs fixed: bgo#544347, bgo#544737, bgo#544733, bgo#165343, bgo#539786,
|
||||
bgo#543289, bgo#543095, bgo#542275, bgo#538699, bgo#533198
|
||||
- Added gnome-settings-daemon-monitor-labeling.diff to implement
|
||||
labeling of monitors in the tray icon, and monitor rotation support
|
||||
as well.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 20 17:51:33 CEST 2008 - maw@suse.de
|
||||
|
||||
|
@ -1,10 +1,17 @@
|
||||
#
|
||||
# spec file for package gnome-settings-daemon (Version 2.23.4)
|
||||
# spec file for package gnome-settings-daemon (Version 2.23.6)
|
||||
#
|
||||
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# This file and all modifications and additions to the pristine
|
||||
# package are under the same license as the package itself.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
@ -16,14 +23,16 @@ Name: gnome-settings-daemon
|
||||
BuildRequires: fdupes gnome-common gnome-desktop-devel gnome-patch-translation gstreamer-0_10-plugins-base-devel intltool libglade2-devel libgnomekbd-devel update-desktop-files xorg-x11
|
||||
License: GPL v2 or later
|
||||
Group: System/GUI/GNOME
|
||||
Version: 2.23.4
|
||||
Version: 2.23.6
|
||||
Release: 1
|
||||
Summary: Settings daemon for the GNOME desktop
|
||||
Source: %{_name}-%{version}.tar.bz2
|
||||
# PATCH-FEATURE-OPENSUSE gnome-settings-daemon-system-proxy-configuration.patch
|
||||
Patch2: %{name}-system-proxy-configuration.patch
|
||||
# PATCH-FEATURE-OPENSUSE gnome-settings-daemon-system-proxy-configuration.diff
|
||||
Patch2: gnome-settings-daemon-system-proxy-configuration.diff
|
||||
# PATCH-FIX-UPSTREAM gnome-settings-daemon-bnc369263-broken-xkb-layout.patch bnc369263 bfo16105 vuntz@novell.com -- This is a hack to fix a major bug.
|
||||
Patch4: gnome-settings-daemon-bnc369263-broken-xkb-layout.patch
|
||||
# PATCH-FEATURE-UPSTREAM gnome-settings-daemon-monitor-labeling.diff fate304764 fate304752 federico@novell.com - Monitor labeling and rotation support for the RANDR tray icon
|
||||
Patch5: gnome-settings-daemon-monitor-labeling.diff
|
||||
Url: http://www.gnome.org
|
||||
Requires: %{name}-lang = %{version}
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
@ -77,8 +86,9 @@ Authors:
|
||||
%prep
|
||||
%setup -q -n %{_name}-%{version}
|
||||
#gnome-patch-translation-prepare
|
||||
%patch2
|
||||
%patch2 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
#gnome-patch-translation-update
|
||||
|
||||
%build
|
||||
@ -131,6 +141,13 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%{_libdir}/pkgconfig/*.pc
|
||||
|
||||
%changelog
|
||||
* Fri Aug 15 2008 federico@novell.com
|
||||
- Updated to gnome-settings-daemon-2.23.6.
|
||||
+ Bugs fixed: bgo#544347, bgo#544737, bgo#544733, bgo#165343, bgo#539786,
|
||||
bgo#543289, bgo#543095, bgo#542275, bgo#538699, bgo#533198
|
||||
- Added gnome-settings-daemon-monitor-labeling.diff to implement
|
||||
labeling of monitors in the tray icon, and monitor rotation support
|
||||
as well.
|
||||
* Fri Jun 20 2008 maw@suse.de
|
||||
- Update to version 2.23.4:
|
||||
+ Bugs fixed: bgo#523743, bgo#523159, bgo#507386, bgo#525042,
|
||||
|
Loading…
Reference in New Issue
Block a user