[Xfce4-commits] <xfdesktop:eric/bugzilla-patches> Stretch background across all monitors setting
Eric Koegel
noreply at xfce.org
Sun Feb 19 21:34:05 CET 2012
Updating branch refs/heads/eric/bugzilla-patches
to 9cf3b10cf57a6e5f9a07536ef6056ce321abbc90 (commit)
from 0af2c17f9ff3f3a64da7bc3f07ce06cf6bb107fc (commit)
commit 9cf3b10cf57a6e5f9a07536ef6056ce321abbc90
Author: Eric Koegel <eric.koegel at gmail.com>
Date: Thu Feb 9 16:48:12 2012 +0300
Stretch background across all monitors setting
Added a 'Stretch background across all monitors.' checkbox to the
xfdesktop-settings app. It will only be visible on the first monitor tab and
only when multiple monitors are present. Bug 5690
settings/main.c | 19 +++++++++++++++++++
.../xfdesktop-settings-appearance-frame-ui.glade | 16 ++++++++++++++++
2 files changed, 35 insertions(+), 0 deletions(-)
diff --git a/settings/main.c b/settings/main.c
index 9442f30..62bcbff 100644
--- a/settings/main.c
+++ b/settings/main.c
@@ -107,6 +107,8 @@ typedef struct
GtkWidget *backdrop_cycle_spinbox;
GtkWidget *backdrop_cycle_chkbox;
+
+ GtkWidget *chk_xinerama_stretch;
} AppearancePanel;
typedef struct
@@ -1460,6 +1462,23 @@ xfdesktop_settings_dialog_add_screens(GtkBuilder *main_gxml,
g_signal_connect(G_OBJECT(panel->btn_newlist), "clicked",
G_CALLBACK(newlist_button_clicked), panel);
+ panel->chk_xinerama_stretch = GTK_WIDGET(gtk_builder_get_object(appearance_gxml,
+ "chk_xinerama_stretch"));
+
+ /* The first monitor has the option of doing the xinerama-stretch,
+ * but only if there's multiple monitors attached. Make it invisible
+ * in all other cases.
+ */
+ if(j == 0 && nmonitors > 1) {
+ g_snprintf(buf, sizeof(buf), "/backdrop/screen%d/xinerama-stretch",
+ i);
+ xfconf_g_property_bind(channel, buf, G_TYPE_BOOLEAN,
+ G_OBJECT(panel->chk_xinerama_stretch), "active");
+ gtk_widget_set_sensitive(panel->chk_xinerama_stretch, TRUE);
+ } else {
+ gtk_widget_hide(panel->chk_xinerama_stretch);
+ }
+
panel->backdrop_cycle_chkbox = GTK_WIDGET(gtk_builder_get_object(appearance_gxml,
"chk_cycle_backdrop"));
panel->backdrop_cycle_spinbox = GTK_WIDGET(gtk_builder_get_object(appearance_gxml,
diff --git a/settings/xfdesktop-settings-appearance-frame-ui.glade b/settings/xfdesktop-settings-appearance-frame-ui.glade
index caf55fc..a397d94 100644
--- a/settings/xfdesktop-settings-appearance-frame-ui.glade
+++ b/settings/xfdesktop-settings-appearance-frame-ui.glade
@@ -576,6 +576,22 @@
<property name="position">2</property>
</packing>
</child>
+ <child>
+ <object class="GtkCheckButton" id="chk_xinerama_stretch">
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">St_retch this background across all monitors.</property>
+ <property name="tooltip-text" translatable="yes">When multiple monitors are present, select this option to stretch the current background over all of them.</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
</object>
</child>
</object>
More information about the Xfce4-commits
mailing list