modify to use slider/radio instead of spinbutton/optionmenu.

2002-12-01  Havoc Pennington  <hp@pobox.com>

	* gnome-window-properties.c: modify to use slider/radio instead of
	spinbutton/optionmenu.

	* gnome-window-properties.glade: make UI review changes
This commit is contained in:
Havoc Pennington 2002-12-02 01:14:14 +00:00 committed by Havoc Pennington
parent f4b41ab794
commit 24a577acd6
3 changed files with 463 additions and 315 deletions

View file

@ -1,3 +1,10 @@
2002-12-01 Havoc Pennington <hp@pobox.com>
* gnome-window-properties.c: modify to use slider/radio instead of
spinbutton/optionmenu.
* gnome-window-properties.glade: make UI review changes
2002-11-23 Jody Goldberg <jody@gnome.org> 2002-11-23 Jody Goldberg <jody@gnome.org>
* Release 2.1.3 * Release 2.1.3

View file

@ -39,6 +39,7 @@ typedef struct
int number; int number;
char *name; char *name;
const char *value; /* machine-readable name for storing config */ const char *value; /* machine-readable name for storing config */
GtkWidget *radio;
} MouseClickModifier; } MouseClickModifier;
static GConfClient *gconf_client; static GConfClient *gconf_client;
@ -47,11 +48,11 @@ static GnomeWindowManager *current_wm; /* may be NULL */
static GtkWidget *dialog_win; static GtkWidget *dialog_win;
static GtkWidget *focus_mode_checkbutton; static GtkWidget *focus_mode_checkbutton;
static GtkWidget *autoraise_checkbutton; static GtkWidget *autoraise_checkbutton;
static GtkWidget *autoraise_delay_spinbutton; static GtkWidget *autoraise_delay_slider;
static GtkWidget *autoraise_delay_hbox; static GtkWidget *autoraise_delay_hbox;
static GtkWidget *double_click_titlebar_optionmenu; static GtkWidget *double_click_titlebar_optionmenu;
static GtkWidget *double_click_titlebar_hbox; static GtkWidget *double_click_titlebar_hbox;
static GtkWidget *alt_click_optionmenu; static GtkWidget *alt_click_hbox;
static GnomeWMSettings settings; static GnomeWMSettings settings;
static const GnomeWMDoubleClickAction *double_click_actions = NULL; static const GnomeWMDoubleClickAction *double_click_actions = NULL;
@ -92,14 +93,14 @@ autoraise_toggled_callback (GtkWidget *button,
} }
static void static void
autoraise_delay_value_changed_callback (GtkWidget *spinbutton, autoraise_delay_value_changed_callback (GtkWidget *slider,
void *data) void *data)
{ {
GnomeWMSettings new_settings; GnomeWMSettings new_settings;
new_settings.flags = GNOME_WM_SETTING_AUTORAISE_DELAY; new_settings.flags = GNOME_WM_SETTING_AUTORAISE_DELAY;
new_settings.autoraise_delay = new_settings.autoraise_delay =
gtk_spin_button_get_value (GTK_SPIN_BUTTON (spinbutton)) * 100; gtk_range_get_value (GTK_RANGE (slider)) * 1000;
if (current_wm != NULL && new_settings.autoraise_delay != settings.autoraise_delay) if (current_wm != NULL && new_settings.autoraise_delay != settings.autoraise_delay)
gnome_window_manager_change_settings (current_wm, &new_settings); gnome_window_manager_change_settings (current_wm, &new_settings);
@ -119,6 +120,8 @@ double_click_titlebar_changed_callback (GtkWidget *optionmenu,
gnome_window_manager_change_settings (current_wm, &new_settings); gnome_window_manager_change_settings (current_wm, &new_settings);
} }
#if 0
/* This was for option menu */
static void static void
alt_click_modifier_changed_callback (GtkWidget *optionmenu, alt_click_modifier_changed_callback (GtkWidget *optionmenu,
void *data) void *data)
@ -139,6 +142,28 @@ alt_click_modifier_changed_callback (GtkWidget *optionmenu,
settings.mouse_move_modifier) != 0) settings.mouse_move_modifier) != 0)
gnome_window_manager_change_settings (current_wm, &new_settings); gnome_window_manager_change_settings (current_wm, &new_settings);
} }
#else
static void
alt_click_radio_toggled_callback (GtkWidget *radio,
void *data)
{
GnomeWMSettings new_settings;
gboolean active;
MouseClickModifier *modifier = data;
new_settings.flags = GNOME_WM_SETTING_MOUSE_MOVE_MODIFIER;
active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (radio));
if (active) {
new_settings.mouse_move_modifier = modifier->value;
if (current_wm != NULL &&
strcmp (new_settings.mouse_move_modifier,
settings.mouse_move_modifier) != 0)
gnome_window_manager_change_settings (current_wm, &new_settings);
}
}
#endif
static void static void
update_sensitivity (void) update_sensitivity (void)
@ -182,7 +207,7 @@ init_settings_struct (GnomeWMSettings *settings)
} }
static void static void
set_alt_click_optionmenu_value (const GnomeWMSettings *settings) set_alt_click_value (const GnomeWMSettings *settings)
{ {
int i; int i;
@ -194,9 +219,10 @@ set_alt_click_optionmenu_value (const GnomeWMSettings *settings)
++i; ++i;
} }
if (i < n_mouse_modifiers) if (i < n_mouse_modifiers) {
gtk_option_menu_set_history (GTK_OPTION_MENU (alt_click_optionmenu), gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (mouse_modifiers[i].radio),
i); TRUE);
}
} }
static void static void
@ -254,8 +280,8 @@ reload_settings (void)
new_settings.autoraise); new_settings.autoraise);
if (new_settings.autoraise_delay != settings.autoraise_delay) if (new_settings.autoraise_delay != settings.autoraise_delay)
gtk_spin_button_set_value (GTK_SPIN_BUTTON (autoraise_delay_spinbutton), gtk_range_set_value (GTK_RANGE (autoraise_delay_slider),
new_settings.autoraise_delay / 100); new_settings.autoraise_delay / 1000.0);
if (n_double_click_actions > 0 && if (n_double_click_actions > 0 &&
new_settings.double_click_action != settings.double_click_action) { new_settings.double_click_action != settings.double_click_action) {
@ -267,7 +293,7 @@ reload_settings (void)
if (settings.mouse_move_modifier == NULL || if (settings.mouse_move_modifier == NULL ||
strcmp (settings.mouse_move_modifier, strcmp (settings.mouse_move_modifier,
new_settings.mouse_move_modifier) != 0) { new_settings.mouse_move_modifier) != 0) {
set_alt_click_optionmenu_value (&new_settings); set_alt_click_value (&new_settings);
} }
settings = new_settings; settings = new_settings;
@ -383,7 +409,7 @@ int
main (int argc, char **argv) main (int argc, char **argv)
{ {
GdkScreen *screen; GdkScreen *screen;
GtkSizeGroup *size_group; int i;
bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR); bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR);
bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
@ -417,32 +443,34 @@ main (int argc, char **argv)
dialog_win = WID ("main-dialog"); dialog_win = WID ("main-dialog");
focus_mode_checkbutton = WID ("focus-mode-checkbutton"); focus_mode_checkbutton = WID ("focus-mode-checkbutton");
autoraise_checkbutton = WID ("autoraise-checkbutton"); autoraise_checkbutton = WID ("autoraise-checkbutton");
autoraise_delay_spinbutton = WID ("autoraise-delay-spinbutton"); autoraise_delay_slider = WID ("autoraise-delay-slider");
autoraise_delay_hbox = WID ("autoraise-delay-hbox"); autoraise_delay_hbox = WID ("autoraise-delay-hbox");
double_click_titlebar_optionmenu = WID ("double-click-titlebar-optionmenu"); double_click_titlebar_optionmenu = WID ("double-click-titlebar-optionmenu");
double_click_titlebar_hbox = WID ("double-click-titlebar-hbox"); double_click_titlebar_hbox = WID ("double-click-titlebar-hbox");
alt_click_optionmenu = WID ("alt-click-optionmenu"); alt_click_hbox = WID ("alt-click-box");
gtk_spin_button_set_range (GTK_SPIN_BUTTON (autoraise_delay_spinbutton), gtk_range_set_range (GTK_RANGE (autoraise_delay_slider),
0, 100); 0, 10);
gtk_spin_button_set_increments (GTK_SPIN_BUTTON (autoraise_delay_spinbutton), gtk_range_set_increments (GTK_RANGE (autoraise_delay_slider),
1, 5); 0.2, 1.0);
#if 0
size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
gtk_size_group_add_widget (size_group, double_click_titlebar_optionmenu); gtk_size_group_add_widget (size_group, double_click_titlebar_optionmenu);
gtk_size_group_add_widget (size_group, alt_click_optionmenu); gtk_size_group_add_widget (size_group, alt_click_optionmenu);
g_object_unref (G_OBJECT (size_group)); g_object_unref (G_OBJECT (size_group));
#endif
settings.flags = 0; settings.flags = 0;
init_settings_struct (&settings); init_settings_struct (&settings);
reload_mouse_modifiers (); reload_mouse_modifiers ();
update_wm (screen, FALSE); update_wm (screen, FALSE);
set_alt_click_optionmenu_value (&settings); set_alt_click_value (&settings);
gtk_spin_button_set_value (GTK_SPIN_BUTTON (autoraise_delay_spinbutton), gtk_range_set_value (GTK_RANGE (autoraise_delay_slider),
settings.autoraise_delay / 100); settings.autoraise_delay / 1000.0);
gtk_option_menu_set_history (GTK_OPTION_MENU (double_click_titlebar_optionmenu), gtk_option_menu_set_history (GTK_OPTION_MENU (double_click_titlebar_optionmenu),
settings.double_click_action); settings.double_click_action);
@ -461,17 +489,22 @@ main (int argc, char **argv)
g_signal_connect (G_OBJECT (autoraise_checkbutton), "toggled", g_signal_connect (G_OBJECT (autoraise_checkbutton), "toggled",
G_CALLBACK (autoraise_toggled_callback), NULL); G_CALLBACK (autoraise_toggled_callback), NULL);
g_signal_connect (G_OBJECT (autoraise_delay_spinbutton), "value_changed", g_signal_connect (G_OBJECT (autoraise_delay_slider), "value_changed",
G_CALLBACK (autoraise_delay_value_changed_callback), NULL); G_CALLBACK (autoraise_delay_value_changed_callback), NULL);
g_signal_connect (G_OBJECT (double_click_titlebar_optionmenu), "changed", g_signal_connect (G_OBJECT (double_click_titlebar_optionmenu), "changed",
G_CALLBACK (double_click_titlebar_changed_callback), NULL); G_CALLBACK (double_click_titlebar_changed_callback), NULL);
g_signal_connect (G_OBJECT (alt_click_optionmenu), "changed",
G_CALLBACK (alt_click_modifier_changed_callback), NULL);
g_signal_connect (G_OBJECT (screen), "window_manager_changed", g_signal_connect (G_OBJECT (screen), "window_manager_changed",
G_CALLBACK (wm_changed_callback), NULL); G_CALLBACK (wm_changed_callback), NULL);
i = 0;
while (i < n_mouse_modifiers) {
g_signal_connect (G_OBJECT (mouse_modifiers[i].radio), "toggled",
G_CALLBACK (alt_click_radio_toggled_callback),
&mouse_modifiers[i]);
++i;
}
gtk_widget_show (dialog_win); gtk_widget_show (dialog_win);
@ -483,146 +516,171 @@ main (int argc, char **argv)
#include <X11/Xlib.h> #include <X11/Xlib.h>
#include <X11/keysym.h> #include <X11/keysym.h>
#include <gdk/gdkx.h> #include <gdk/gdkx.h>
static void
fill_radio (GtkRadioButton *group,
MouseClickModifier *modifier)
{
modifier->radio =
gtk_radio_button_new_with_label_from_widget (group,
modifier->name);
gtk_box_pack_start (GTK_BOX (alt_click_hbox),
modifier->radio, FALSE, FALSE, 0);
gtk_widget_show (modifier->radio);
}
static void static void
reload_mouse_modifiers (void) reload_mouse_modifiers (void)
{ {
XModifierKeymap *modmap; XModifierKeymap *modmap;
KeySym *keymap; KeySym *keymap;
int keysyms_per_keycode; int keysyms_per_keycode;
int map_size; int map_size;
int i; int i;
gboolean have_meta; gboolean have_meta;
gboolean have_hyper; gboolean have_hyper;
gboolean have_super; gboolean have_super;
int min_keycode, max_keycode; int min_keycode, max_keycode;
XDisplayKeycodes (gdk_display, XDisplayKeycodes (gdk_display,
&min_keycode, &min_keycode,
&max_keycode); &max_keycode);
keymap = XGetKeyboardMapping (gdk_display, keymap = XGetKeyboardMapping (gdk_display,
min_keycode, min_keycode,
max_keycode - min_keycode, max_keycode - min_keycode,
&keysyms_per_keycode); &keysyms_per_keycode);
modmap = XGetModifierMapping (gdk_display); modmap = XGetModifierMapping (gdk_display);
have_super = FALSE; have_super = FALSE;
have_meta = FALSE; have_meta = FALSE;
have_hyper = FALSE; have_hyper = FALSE;
/* there are 8 modifiers, and the first 3 are shift, shift lock, /* there are 8 modifiers, and the first 3 are shift, shift lock,
* and control * and control
*/ */
map_size = 8 * modmap->max_keypermod; map_size = 8 * modmap->max_keypermod;
i = 3 * modmap->max_keypermod; i = 3 * modmap->max_keypermod;
while (i < map_size) { while (i < map_size) {
/* get the key code at this point in the map, /* get the key code at this point in the map,
* see if its keysym is one we're interested in * see if its keysym is one we're interested in
*/ */
int keycode = modmap->modifiermap[i]; int keycode = modmap->modifiermap[i];
if (keycode >= min_keycode && if (keycode >= min_keycode &&
keycode <= max_keycode) { keycode <= max_keycode) {
int j = 0; int j = 0;
KeySym *syms = keymap + (keycode - min_keycode) * keysyms_per_keycode; KeySym *syms = keymap + (keycode - min_keycode) * keysyms_per_keycode;
while (j < keysyms_per_keycode) { while (j < keysyms_per_keycode) {
if (syms[j] == XK_Super_L || if (syms[j] == XK_Super_L ||
syms[j] == XK_Super_R) syms[j] == XK_Super_R)
have_super = TRUE; have_super = TRUE;
else if (syms[j] == XK_Hyper_L || else if (syms[j] == XK_Hyper_L ||
syms[j] == XK_Hyper_R) syms[j] == XK_Hyper_R)
have_hyper = TRUE; have_hyper = TRUE;
else if ((syms[j] == XK_Meta_L || else if ((syms[j] == XK_Meta_L ||
syms[j] == XK_Meta_R) && syms[j] == XK_Meta_R) &&
(1 << ( i / modmap->max_keypermod)) != Mod1Mask) (1 << ( i / modmap->max_keypermod)) != Mod1Mask)
have_meta = TRUE; have_meta = TRUE;
++j; ++j;
} }
} }
++i; ++i;
} }
XFreeModifiermap (modmap); XFreeModifiermap (modmap);
XFree (keymap); XFree (keymap);
i = 0; i = 0;
while (i < n_mouse_modifiers) { while (i < n_mouse_modifiers) {
g_free (mouse_modifiers[i].name); g_free (mouse_modifiers[i].name);
++i; if (mouse_modifiers[i].radio)
} gtk_widget_destroy (mouse_modifiers[i].radio);
g_free (mouse_modifiers); ++i;
mouse_modifiers = NULL; }
g_free (mouse_modifiers);
mouse_modifiers = NULL;
n_mouse_modifiers = 2; /* control, alt */ n_mouse_modifiers = 2; /* control, alt */
if (have_super) if (have_super)
++n_mouse_modifiers; ++n_mouse_modifiers;
if (have_hyper) if (have_hyper)
++n_mouse_modifiers; ++n_mouse_modifiers;
if (have_meta) if (have_meta)
++n_mouse_modifiers; ++n_mouse_modifiers;
g_free (mouse_modifiers); g_free (mouse_modifiers);
mouse_modifiers = g_new0 (MouseClickModifier, n_mouse_modifiers); mouse_modifiers = g_new0 (MouseClickModifier, n_mouse_modifiers);
i = 0; i = 0;
mouse_modifiers[i].number = i; mouse_modifiers[i].number = i;
mouse_modifiers[i].name = g_strdup (_("Control")); mouse_modifiers[i].name = g_strdup (_("Control"));
mouse_modifiers[i].value = "Control"; mouse_modifiers[i].value = "Control";
++i; ++i;
mouse_modifiers[i].number = i; mouse_modifiers[i].number = i;
mouse_modifiers[i].name = g_strdup (_("Alt")); mouse_modifiers[i].name = g_strdup (_("Alt"));
mouse_modifiers[i].value = "Alt"; mouse_modifiers[i].value = "Alt";
++i; ++i;
if (have_hyper) { if (have_hyper) {
mouse_modifiers[i].number = i; mouse_modifiers[i].number = i;
mouse_modifiers[i].name = g_strdup (_("Hyper")); mouse_modifiers[i].name = g_strdup (_("Hyper"));
mouse_modifiers[i].value = "Hyper"; mouse_modifiers[i].value = "Hyper";
++i; ++i;
} }
if (have_super) { if (have_super) {
mouse_modifiers[i].number = i; mouse_modifiers[i].number = i;
mouse_modifiers[i].name = g_strdup (_("Super")); mouse_modifiers[i].name = g_strdup (_("Super (or \"Windows logo\")"));
mouse_modifiers[i].value = "Super"; mouse_modifiers[i].value = "Super";
++i; ++i;
} }
if (have_meta) { if (have_meta) {
mouse_modifiers[i].number = i; mouse_modifiers[i].number = i;
mouse_modifiers[i].name = g_strdup (_("Meta")); mouse_modifiers[i].name = g_strdup (_("Meta"));
mouse_modifiers[i].value = "Meta"; mouse_modifiers[i].value = "Meta";
++i; ++i;
} }
g_assert (i == n_mouse_modifiers); g_assert (i == n_mouse_modifiers);
/* Build modifier option menu */ i = 0;
{ while (i < n_mouse_modifiers) {
GtkWidget *menu; fill_radio (i == 0 ? NULL : GTK_RADIO_BUTTON (mouse_modifiers[i-1].radio),
&mouse_modifiers[i]);
++i;
}
#if 0
/* Build modifier option menu */
{
GtkWidget *menu;
menu = gtk_menu_new (); menu = gtk_menu_new ();
i = 0; i = 0;
while (i < n_mouse_modifiers) { while (i < n_mouse_modifiers) {
GtkWidget *mi; GtkWidget *mi;
mi = gtk_menu_item_new_with_label (mouse_modifiers[i].name); mi = gtk_menu_item_new_with_label (mouse_modifiers[i].name);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_menu_shell_append (GTK_MENU_SHELL (menu),
mi); mi);
gtk_widget_show (mi); gtk_widget_show (mi);
++i; ++i;
} }
gtk_option_menu_set_menu (GTK_OPTION_MENU (alt_click_optionmenu), gtk_option_menu_set_menu (GTK_OPTION_MENU (alt_click_optionmenu),
menu); menu);
} }
#endif
} }

View file

@ -57,228 +57,311 @@
</child> </child>
<child> <child>
<widget class="GtkTable" id="table1"> <widget class="GtkHBox" id="hbox6">
<property name="visible">True</property> <property name="visible">True</property>
<property name="n_rows">12</property> <property name="homogeneous">False</property>
<property name="n_columns">14</property> <property name="spacing">0</property>
<property name="homogeneous">True</property>
<property name="row_spacing">0</property>
<property name="column_spacing">0</property>
<child> <child>
<widget class="GtkCheckButton" id="focus-mode-checkbutton"> <widget class="GtkTable" id="table1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="n_rows">11</property>
<property name="label" translatable="yes">_Select windows when the mouse moves over them</property> <property name="n_columns">20</property>
<property name="use_underline">True</property> <property name="homogeneous">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property> <property name="row_spacing">6</property>
<property name="active">False</property> <property name="column_spacing">0</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
<packing>
<property name="left_attach">0</property>
<property name="right_attach">14</property>
<property name="top_attach">0</property>
<property name="bottom_attach">2</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkCheckButton" id="autoraise-checkbutton">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">_Raise selected windows after a short time</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">14</property>
<property name="top_attach">2</property>
<property name="bottom_attach">4</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkHBox" id="double-click-titlebar-hbox">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">6</property>
<child> <child>
<widget class="GtkLabel" id="double-click-label"> <widget class="GtkHBox" id="double-click-titlebar-hbox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="label" translatable="yes">_Double-click window titles to:</property> <property name="homogeneous">False</property>
<property name="use_underline">True</property> <property name="spacing">6</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property> <child>
<property name="wrap">False</property> <widget class="GtkLabel" id="double-click-label">
<property name="selectable">False</property> <property name="visible">True</property>
<property name="xalign">0</property> <property name="label" translatable="yes">_Double-click titlebar to perform this action:</property>
<property name="yalign">0.5</property> <property name="use_underline">True</property>
<property name="xpad">0</property> <property name="use_markup">False</property>
<property name="ypad">0</property> <property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="mnemonic_widget">double-click-titlebar-optionmenu</property> <property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">double-click-titlebar-optionmenu</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<widget class="GtkOptionMenu" id="double-click-titlebar-optionmenu">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="history">-1</property>
<child>
<widget class="GtkMenu" id="menu1">
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget> </widget>
<packing> <packing>
<property name="padding">0</property> <property name="left_attach">0</property>
<property name="expand">True</property> <property name="right_attach">20</property>
<property name="fill">True</property> <property name="top_attach">6</property>
<property name="bottom_attach">9</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkOptionMenu" id="double-click-titlebar-optionmenu"> <widget class="GtkHBox" id="autoraise-delay-hbox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="homogeneous">False</property>
<property name="history">-1</property> <property name="spacing">0</property>
<accessibility>
<atkrelation target="double-click-label" type="labelled-by"/>
</accessibility>
<child> <child>
<widget class="GtkMenu" id="menu1"> <widget class="GtkLabel" id="autoraise-delay-label">
<property name="visible">True</property>
<property name="label" translatable="yes">_Interval before raising:</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<widget class="GtkAlignment" id="alignment2">
<property name="width_request">6</property>
<property name="visible">True</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xscale">1</property>
<property name="yscale">1</property>
<child>
<placeholder/>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkHScale" id="autoraise-delay-slider">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="draw_value">True</property>
<property name="value_pos">GTK_POS_RIGHT</property>
<property name="digits">1</property>
<property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
<property name="inverted">False</property>
<property name="adjustment">7.7 0 10 0.2 1 0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="label" translatable="yes">seconds</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">4</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">20</property>
<property name="top_attach">4</property>
<property name="bottom_attach">6</property>
<property name="x_options">fill</property>
</packing>
</child>
<child>
<widget class="GtkAlignment" id="alignment3">
<property name="visible">True</property>
<property name="xalign">0.5</property>
<property name="yalign">0</property>
<property name="xscale">1</property>
<property name="yscale">0</property>
<child>
<widget class="GtkCheckButton" id="focus-mode-checkbutton">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">_Select windows when the mouse moves over them</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget> </widget>
</child> </child>
</widget> </widget>
<packing> <packing>
<property name="padding">0</property> <property name="left_attach">0</property>
<property name="expand">False</property> <property name="right_attach">20</property>
<property name="fill">True</property> <property name="top_attach">0</property>
</packing> <property name="bottom_attach">2</property>
</child> <property name="x_options">fill</property>
</widget>
<packing>
<property name="left_attach">0</property>
<property name="right_attach">14</property>
<property name="top_attach">7</property>
<property name="bottom_attach">9</property>
<property name="x_options">fill</property>
</packing>
</child>
<child>
<widget class="GtkHBox" id="hbox6">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">6</property>
<child>
<widget class="GtkLabel" id="alt-click-label">
<property name="visible">True</property>
<property name="label" translatable="yes">To _move windows, click while holding down:</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">alt-click-optionmenu</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkOptionMenu" id="alt-click-optionmenu"> <widget class="GtkAlignment" id="alignment4">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="xalign">0.5</property>
<property name="history">-1</property> <property name="yalign">0</property>
<accessibility> <property name="xscale">1</property>
<atkrelation target="alt-click-label" type="labelled-by"/> <property name="yscale">0</property>
</accessibility>
<child> <child>
<widget class="GtkMenu" id="menu2"> <widget class="GtkCheckButton" id="autoraise-checkbutton">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">_Raise selected windows after an interval</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget> </widget>
</child> </child>
</widget> </widget>
<packing> <packing>
<property name="padding">0</property> <property name="left_attach">1</property>
<property name="expand">False</property> <property name="right_attach">20</property>
<property name="fill">True</property> <property name="top_attach">2</property>
<property name="bottom_attach">4</property>
<property name="x_options">fill</property>
</packing>
</child>
<child>
<widget class="GtkAlignment" id="alignment5">
<property name="visible">True</property>
<property name="xalign">0.5</property>
<property name="yalign">0</property>
<property name="xscale">1</property>
<property name="yscale">0</property>
<child>
<widget class="GtkHBox" id="hbox6">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">6</property>
<child>
<widget class="GtkLabel" id="alt-click-label">
<property name="visible">True</property>
<property name="label" translatable="yes">To _move a window, press-and-hold this key then grab the window:</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
</widget>
</child>
</widget>
<packing>
<property name="left_attach">0</property>
<property name="right_attach">20</property>
<property name="top_attach">9</property>
<property name="bottom_attach">11</property>
<property name="x_options">fill</property>
</packing> </packing>
</child> </child>
</widget> </widget>
<packing> <packing>
<property name="left_attach">0</property> <property name="padding">6</property>
<property name="right_attach">14</property> <property name="expand">True</property>
<property name="top_attach">10</property> <property name="fill">True</property>
<property name="bottom_attach">12</property>
<property name="x_options">fill</property>
</packing> </packing>
</child> </child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<widget class="GtkHBox" id="hbox7">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child> <child>
<widget class="GtkHBox" id="autoraise-delay-hbox"> <widget class="GtkVBox" id="alt-click-box">
<property name="visible">True</property> <property name="visible">True</property>
<property name="homogeneous">False</property> <property name="homogeneous">False</property>
<property name="spacing">6</property> <property name="spacing">0</property>
<child> <child>
<widget class="GtkLabel" id="autoraise-delay-label"> <placeholder/>
<property name="visible">True</property>
<property name="label" translatable="yes">_Tenths of a second before raising the window:</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">autoraise-delay-spinbutton</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<widget class="GtkSpinButton" id="autoraise-delay-spinbutton">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="climb_rate">1</property>
<property name="digits">0</property>
<property name="numeric">False</property>
<property name="update_policy">GTK_UPDATE_ALWAYS</property>
<property name="snap_to_ticks">False</property>
<property name="wrap">False</property>
<property name="adjustment">1 0 100 1 10 10</property>
<accessibility>
<atkrelation target="autoraise-delay-label" type="labelled-by"/>
</accessibility>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">True</property>
</packing>
</child> </child>
</widget> </widget>
<packing> <packing>
<property name="left_attach">2</property> <property name="padding">9</property>
<property name="right_attach">14</property> <property name="expand">True</property>
<property name="top_attach">4</property> <property name="fill">True</property>
<property name="bottom_attach">6</property>
<property name="x_options">fill</property>
</packing> </packing>
</child> </child>
</widget> </widget>