add focusLast option
authorDana Jansens <danakj@orodu.net>
Fri, 25 May 2007 18:54:58 +0000 (18:54 +0000)
committerDana Jansens <danakj@orodu.net>
Fri, 25 May 2007 18:54:58 +0000 (18:54 +0000)
src/handlers.c
src/main.c
src/obconf.glade
src/strings.c

index 23634c23d5267ae6ad48ba1498b606938a83e748..419cbd735980acbb09db152d6e99e4d311e750a0 100644 (file)
@@ -134,10 +134,12 @@ void setup_focus_mouse(GtkWidget *w)
         GtkWidget *delay_u = glade_xml_get_widget(glade,
                                                   "focus_delay_label_units");
         GtkWidget *raise   = glade_xml_get_widget(glade, "focus_raise");
+        GtkWidget *last    = glade_xml_get_widget(glade, "focus_last");
         gtk_widget_set_sensitive(delay, b);
         gtk_widget_set_sensitive(delay_l, b);
         gtk_widget_set_sensitive(delay_u, b);
         gtk_widget_set_sensitive(raise, b);
+        gtk_widget_set_sensitive(last, b);
     }
 
     mapping = FALSE;
@@ -155,7 +157,15 @@ void setup_focus_raise(GtkWidget *w)
 {
     mapping = TRUE;
     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-                          tree_get_bool("focus/raiseOnFocus", FALSE));
+                                 tree_get_bool("focus/raiseOnFocus", FALSE));
+    mapping = FALSE;
+}
+
+void setup_focus_last(GtkWidget *w)
+{
+    mapping = TRUE;
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+                                 tree_get_bool("focus/focusLast", FALSE));
     mapping = FALSE;
 }
 
@@ -741,10 +751,12 @@ void on_focus_mouse_toggled(GtkToggleButton *w, gpointer data)
         GtkWidget *delay_u = glade_xml_get_widget(glade,
                                                   "focus_delay_label_units");
         GtkWidget *raise   = glade_xml_get_widget(glade, "focus_raise");
+        GtkWidget *last    = glade_xml_get_widget(glade, "focus_last");
         gtk_widget_set_sensitive(delay, b);
         gtk_widget_set_sensitive(delay_l, b);
         gtk_widget_set_sensitive(delay_u, b);
         gtk_widget_set_sensitive(raise, b);
+        gtk_widget_set_sensitive(last, b);
     }
 }
 
@@ -763,6 +775,13 @@ void on_focus_raise_toggled(GtkToggleButton *w, gpointer data)
     tree_set_bool("focus/raiseOnFocus", gtk_toggle_button_get_active(w));
 }
 
+void on_focus_last_toggled(GtkToggleButton *w, gpointer data)
+{
+    if (mapping) return;
+
+    tree_set_bool("focus/focusLast", gtk_toggle_button_get_active(w));
+}
+
 void on_focus_new_toggled(GtkToggleButton *w, gpointer data)
 {
     if (mapping) return;
index cc0b024c71eaef1b2f33dbb0201cbacc4805ef32..11836fd0ba249546cbc693c7de903e2236670860 100644 (file)
@@ -88,6 +88,7 @@ int main(int argc, char **argv)
     setup_dock_tab();
     setup_focus_mouse(glade_xml_get_widget(glade, "focus_mouse"));
     setup_focus_raise(glade_xml_get_widget(glade, "focus_raise"));
+    setup_focus_last(glade_xml_get_widget(glade, "focus_raise"));
     setup_focus_delay(glade_xml_get_widget(glade, "focus_delay"));
     setup_focus_new(glade_xml_get_widget(glade, "focus_new"));
     setup_place_mouse(glade_xml_get_widget(glade, "place_mouse"));
index 65a58605addc644f28ab9a999a18a6528d3bc559..beffdbf4532c734a928192c0fd6418eb0accfc4f 100644 (file)
                            <widget class="GtkCheckButton" id="window_border">
                              <property name="visible">True</property>
                              <property name="can_focus">True</property>
-                             <property name="label" translatable="yes">Windows retain a border when undecorated</property>
+                             <property name="label" translatable="yes">_Windows retain a border when undecorated</property>
                              <property name="use_underline">True</property>
                              <property name="relief">GTK_RELIEF_NORMAL</property>
                              <property name="focus_on_click">True</property>
                          <child>
                            <widget class="GtkLabel" id="label90">
                              <property name="visible">True</property>
-                             <property name="label" translatable="yes">Button _order:</property>
+                             <property name="label" translatable="yes">_Button order:</property>
                              <property name="use_underline">True</property>
                              <property name="use_markup">False</property>
                              <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -607,8 +607,8 @@ C - The close button</property>
                          <child>
                            <widget class="GtkLabel" id="label94">
                              <property name="visible">True</property>
-                             <property name="label" translatable="yes">Active window title: </property>
-                             <property name="use_underline">False</property>
+                             <property name="label" translatable="yes">_Active window title: </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>
@@ -617,6 +617,7 @@ C - The close button</property>
                              <property name="yalign">0.5</property>
                              <property name="xpad">0</property>
                              <property name="ypad">0</property>
+                             <property name="mnemonic_widget">font_active</property>
                              <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
                              <property name="width_chars">-1</property>
                              <property name="single_line_mode">False</property>
@@ -635,8 +636,8 @@ C - The close button</property>
                          <child>
                            <widget class="GtkLabel" id="label95">
                              <property name="visible">True</property>
-                             <property name="label" translatable="yes">Inactive window title: </property>
-                             <property name="use_underline">False</property>
+                             <property name="label" translatable="yes">_Inactive window title: </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>
@@ -645,6 +646,7 @@ C - The close button</property>
                              <property name="yalign">0.5</property>
                              <property name="xpad">0</property>
                              <property name="ypad">0</property>
+                             <property name="mnemonic_widget">font_inactive</property>
                              <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
                              <property name="width_chars">-1</property>
                              <property name="single_line_mode">False</property>
@@ -663,8 +665,8 @@ C - The close button</property>
                          <child>
                            <widget class="GtkLabel" id="label96">
                              <property name="visible">True</property>
-                             <property name="label" translatable="yes">Menu header: </property>
-                             <property name="use_underline">False</property>
+                             <property name="label" translatable="yes">Menu _header: </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>
@@ -673,6 +675,7 @@ C - The close button</property>
                              <property name="yalign">0.5</property>
                              <property name="xpad">0</property>
                              <property name="ypad">0</property>
+                             <property name="mnemonic_widget">font_menu_header</property>
                              <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
                              <property name="width_chars">-1</property>
                              <property name="single_line_mode">False</property>
@@ -691,8 +694,8 @@ C - The close button</property>
                          <child>
                            <widget class="GtkLabel" id="label97">
                              <property name="visible">True</property>
-                             <property name="label" translatable="yes">Menu Item: </property>
-                             <property name="use_underline">False</property>
+                             <property name="label" translatable="yes">_Menu Item: </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>
@@ -701,6 +704,7 @@ C - The close button</property>
                              <property name="yalign">0.5</property>
                              <property name="xpad">0</property>
                              <property name="ypad">0</property>
+                             <property name="mnemonic_widget">font_menu_item</property>
                              <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
                              <property name="width_chars">-1</property>
                              <property name="single_line_mode">False</property>
@@ -719,8 +723,8 @@ C - The close button</property>
                          <child>
                            <widget class="GtkLabel" id="label98">
                              <property name="visible">True</property>
-                             <property name="label" translatable="yes">On-screen display: </property>
-                             <property name="use_underline">False</property>
+                             <property name="label" translatable="yes">_On-screen display: </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>
@@ -729,6 +733,7 @@ C - The close button</property>
                              <property name="yalign">0.5</property>
                              <property name="xpad">0</property>
                              <property name="ypad">0</property>
+                             <property name="mnemonic_widget">font_display</property>
                              <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
                              <property name="width_chars">-1</property>
                              <property name="single_line_mode">False</property>
@@ -1049,6 +1054,25 @@ C - The close button</property>
                                      <property name="fill">True</property>
                                    </packing>
                                  </child>
+
+                                 <child>
+                                   <widget class="GtkCheckButton" id="focus_last">
+                                     <property name="visible">True</property>
+                                     <property name="can_focus">True</property>
+                                     <property name="label" translatable="yes">_Give focus to the last used window, instead of under the mouse</property>
+                                     <property name="use_underline">True</property>
+                                     <property name="relief">GTK_RELIEF_NORMAL</property>
+                                     <property name="focus_on_click">True</property>
+                                     <property name="active">False</property>
+                                     <property name="inconsistent">False</property>
+                                     <property name="draw_indicator">True</property>
+                                   </widget>
+                                   <packing>
+                                     <property name="padding">0</property>
+                                     <property name="expand">False</property>
+                                     <property name="fill">False</property>
+                                   </packing>
+                                 </child>
                                </widget>
                                <packing>
                                  <property name="padding">0</property>
index a0e54550a5d5c31d2a65809ff492be83e8bee5c1..4412a6212178152cecb82b768201707530895aef 100644 (file)
@@ -10,10 +10,10 @@ gchar *s = N_("    ");
 gchar *s = N_("Theme");
 gchar *s = N_("<span weight=\"bold\">Windows</span>");
 gchar *s = N_("    ");
-gchar *s = N_("Windows retain a border when undecorated");
+gchar *s = N_("_Windows retain a border when undecorated");
 gchar *s = N_("<span weight=\"bold\">Window Titles</span>");
 gchar *s = N_("    ");
-gchar *s = N_("Button _order:");
+gchar *s = N_("_Button order:");
 gchar *s = N_("N - The window's icon\n"
               "D - The all-desktops (sticky) button\n"
               "S - The shade (roll up) button\n"
@@ -23,11 +23,11 @@ gchar *s = N_("N - The window's icon\n"
               "C - The close button");
 gchar *s = N_("<span weight=\"bold\">Fonts</span>");
 gchar *s = N_("    ");
-gchar *s = N_("Active window title: ");
-gchar *s = N_("Inactive window title: ");
-gchar *s = N_("Menu header: ");
-gchar *s = N_("Menu Item: ");
-gchar *s = N_("On-screen display: ");
+gchar *s = N_("_Active window title: ");
+gchar *s = N_("_Inactive window title: ");
+gchar *s = N_("Menu _header: ");
+gchar *s = N_("_Menu Item: ");
+gchar *s = N_("_On-screen display: ");
 gchar *s = N_("Appearance");
 gchar *s = N_("<span weight=\"bold\">Focusing Windows</span>");
 gchar *s = N_("    ");
@@ -36,6 +36,7 @@ gchar *s = N_("    ");
 gchar *s = N_("_Raise windows when the mouse pointer moves over them");
 gchar *s = N_("_Delay before focusing and raising windows:");
 gchar *s = N_("ms");
+gchar *s = N_("_Give focus to the last used window, instead of under the mouse");
 gchar *s = N_("Focus _new windows when they appear");
 gchar *s = N_("<span weight=\"bold\">Placing Windows</span>");
 gchar *s = N_("    ");