diff options
| -rw-r--r-- | capplets/windows/mate-window-properties.c | 73 | ||||
| -rw-r--r-- | capplets/windows/window-properties.ui | 234 | 
2 files changed, 295 insertions, 12 deletions
| diff --git a/capplets/windows/mate-window-properties.c b/capplets/windows/mate-window-properties.c index ccccb03c..45bf0062 100644 --- a/capplets/windows/mate-window-properties.c +++ b/capplets/windows/mate-window-properties.c @@ -50,6 +50,10 @@  #define MARCO_SHOW_TAB_BORDER_KEY "show-tab-border"  #define MARCO_BUTTON_LAYOUT_KEY "button-layout"  #define MARCO_DOUBLE_CLICK_TITLEBAR_KEY "action-double-click-titlebar" +#define MARCO_MIDDLE_CLICK_TITLEBAR_KEY "action-middle-click-titlebar" +#define MARCO_RIGHT_CLICK_TITLEBAR_KEY "action-right-click-titlebar" +#define MARCO_SCROLL_UP_TITLEBAR_KEY "action-scroll-up-titlebar" +#define MARCO_SCROLL_DOWN_TITLEBAR_KEY "action-scroll-down-titlebar"  #define MARCO_FOCUS_KEY "focus-mode"  #define MARCO_AUTORAISE_KEY "auto-raise"  #define MARCO_AUTORAISE_DELAY_KEY "auto-raise-delay" @@ -77,14 +81,20 @@ static const char *button_layout [MARCO_BUTTON_LAYOUT_COUNT] = {  /* keep following enums in sync with marco */  enum  { -    ACTION_TITLEBAR_TOGGLE_SHADE, +    ACTION_TITLEBAR_CLOSE, +    ACTION_TITLEBAR_MINIMIZE,      ACTION_TITLEBAR_TOGGLE_MAXIMIZE,      ACTION_TITLEBAR_TOGGLE_MAXIMIZE_HORIZONTALLY,      ACTION_TITLEBAR_TOGGLE_MAXIMIZE_VERTICALLY, -    ACTION_TITLEBAR_MINIMIZE, -    ACTION_TITLEBAR_NONE, +    ACTION_TITLEBAR_TOGGLE_SHADE, +    ACTION_TITLEBAR_SHADE, +    ACTION_TITLEBAR_UNSHADE, +    ACTION_TITLEBAR_RAISE,      ACTION_TITLEBAR_LOWER, -    ACTION_TITLEBAR_MENU +    ACTION_TITLEBAR_TOGGLE_STICK, +    ACTION_TITLEBAR_TOGGLE_ABOVE, +    ACTION_TITLEBAR_MENU, +    ACTION_TITLEBAR_NONE  };  enum @@ -108,6 +118,10 @@ static GtkWidget *dialog_win;  static GtkWidget *show_tab_border_checkbutton;  static GtkWidget *compositing_fast_alt_tab_checkbutton;  static GtkWidget *double_click_titlebar_optionmenu; +static GtkWidget *middle_click_titlebar_optionmenu; +static GtkWidget *right_click_titlebar_optionmenu; +static GtkWidget *scroll_up_titlebar_optionmenu; +static GtkWidget *scroll_down_titlebar_optionmenu;  static GtkWidget *focus_mode_checkbutton;  static GtkWidget *focus_mode_mouse_checkbutton;  static GtkWidget *autoraise_checkbutton; @@ -208,6 +222,38 @@ double_click_titlebar_changed_callback (GtkWidget *optionmenu,                           gtk_combo_box_get_active (GTK_COMBO_BOX (optionmenu)));  } +static void +middle_click_titlebar_changed_callback (GtkWidget *optionmenu, +                                        void      *data) +{ +    g_settings_set_enum (marco_settings, MARCO_MIDDLE_CLICK_TITLEBAR_KEY, +                         gtk_combo_box_get_active (GTK_COMBO_BOX (optionmenu))); +} + +static void +right_click_titlebar_changed_callback (GtkWidget *optionmenu, +                                       void      *data) +{ +    g_settings_set_enum (marco_settings, MARCO_RIGHT_CLICK_TITLEBAR_KEY, +                         gtk_combo_box_get_active (GTK_COMBO_BOX (optionmenu))); +} + +static void +scroll_up_titlebar_changed_callback (GtkWidget *optionmenu, +                                     void      *data) +{ +    g_settings_set_enum (marco_settings, MARCO_SCROLL_UP_TITLEBAR_KEY, +                         gtk_combo_box_get_active (GTK_COMBO_BOX (optionmenu))); +} + +static void +scroll_down_titlebar_changed_callback (GtkWidget *optionmenu, +                                       void      *data) +{ +    g_settings_set_enum (marco_settings, MARCO_SCROLL_DOWN_TITLEBAR_KEY, +                         gtk_combo_box_get_active (GTK_COMBO_BOX (optionmenu))); +} +  static gchar *custom_titlebar_button_layout = NULL;  static void @@ -373,6 +419,10 @@ main (int argc, char **argv)      gtk_builder_add_callback_symbols (builder,                                        "on_dialog_win_response",                        G_CALLBACK (response_cb),                                        "on_double_click_titlebar_optionmenu_changed",   G_CALLBACK (double_click_titlebar_changed_callback), +                                      "on_middle_click_titlebar_optionmenu_changed",   G_CALLBACK (middle_click_titlebar_changed_callback), +                                      "on_right_click_titlebar_optionmenu_changed",    G_CALLBACK (right_click_titlebar_changed_callback), +                                      "on_scroll_up_titlebar_optionmenu_changed",      G_CALLBACK (scroll_up_titlebar_changed_callback), +                                      "on_scroll_down_titlebar_optionmenu_changed",    G_CALLBACK (scroll_down_titlebar_changed_callback),                                        "on_autoraise_delay_spinbutton_value_changed",   G_CALLBACK (autoraise_delay_spinbutton_value_callback),                                        "on_titlebar_layout_optionmenu_changed",         G_CALLBACK (titlebar_layout_changed_callback),                                        "on_focus_mode_checkbutton_toggled",             G_CALLBACK (mouse_focus_toggled_callback), @@ -398,6 +448,10 @@ main (int argc, char **argv)      show_tab_border_checkbutton = GET_WIDGET ("show_tab_border_checkbutton");      compositing_fast_alt_tab_checkbutton = GET_WIDGET ("compositing_fast_alt_tab_checkbutton");      double_click_titlebar_optionmenu = GET_WIDGET ("double_click_titlebar_optionmenu"); +    middle_click_titlebar_optionmenu = GET_WIDGET ("middle_click_titlebar_optionmenu"); +    right_click_titlebar_optionmenu = GET_WIDGET ("right_click_titlebar_optionmenu"); +    scroll_up_titlebar_optionmenu = GET_WIDGET ("scroll_up_titlebar_optionmenu"); +    scroll_down_titlebar_optionmenu = GET_WIDGET ("scroll_down_titlebar_optionmenu");      focus_mode_checkbutton = GET_WIDGET ("focus_mode_checkbutton");      focus_mode_mouse_checkbutton = GET_WIDGET ("focus_mode_mouse_checkbutton");      autoraise_delay_hbox = GET_WIDGET ("autoraise_delay_hbox"); @@ -427,14 +481,19 @@ main (int argc, char **argv)      gtk_combo_box_set_active (GTK_COMBO_BOX (double_click_titlebar_optionmenu),                                g_settings_get_enum (marco_settings, MARCO_DOUBLE_CLICK_TITLEBAR_KEY)); +    gtk_combo_box_set_active (GTK_COMBO_BOX (middle_click_titlebar_optionmenu), +                              g_settings_get_enum (marco_settings, MARCO_MIDDLE_CLICK_TITLEBAR_KEY)); +    gtk_combo_box_set_active (GTK_COMBO_BOX (right_click_titlebar_optionmenu), +                              g_settings_get_enum (marco_settings, MARCO_RIGHT_CLICK_TITLEBAR_KEY)); +    gtk_combo_box_set_active (GTK_COMBO_BOX (scroll_up_titlebar_optionmenu), +                              g_settings_get_enum (marco_settings, MARCO_SCROLL_UP_TITLEBAR_KEY)); +    gtk_combo_box_set_active (GTK_COMBO_BOX (scroll_down_titlebar_optionmenu), +                              g_settings_get_enum (marco_settings, MARCO_SCROLL_DOWN_TITLEBAR_KEY));      set_titlebar_button_layout ();      set_alt_click_value (); -    gtk_combo_box_set_active (GTK_COMBO_BOX (double_click_titlebar_optionmenu), -                              g_settings_get_enum (marco_settings, MARCO_DOUBLE_CLICK_TITLEBAR_KEY)); -      /* Behaviour */      g_settings_bind (marco_settings,                       MARCO_SHOW_TAB_BORDER_KEY, diff --git a/capplets/windows/window-properties.ui b/capplets/windows/window-properties.ui index d480f960..aa531869 100644 --- a/capplets/windows/window-properties.ui +++ b/capplets/windows/window-properties.ui @@ -279,11 +279,19 @@ Author: Robert Buj                                  <property name="visible">True</property>                                  <property name="can-focus">False</property>                                  <items> -                                  <item translatable="yes">Roll up</item> -                                  <item translatable="yes">Maximize</item> -                                  <item translatable="yes">Maximize Horizontally</item> -                                  <item translatable="yes">Maximize Vertically</item> +                                  <item translatable="yes">Close</item>                                    <item translatable="yes">Minimize</item> +                                  <item translatable="yes">Toggle Maximize</item> +                                  <item translatable="yes">Toggle Maximize Horizontally</item> +                                  <item translatable="yes">Toggle Maximize Vertically</item> +                                  <item translatable="yes">Toggle Shade</item> +                                  <item translatable="yes">Shade</item> +                                  <item translatable="yes">Unshade</item> +                                  <item translatable="yes">Raise</item> +                                  <item translatable="yes">Lower</item> +                                  <item translatable="yes">Toggle Stick</item> +                                  <item translatable="yes">Toggle Above</item> +                                  <item translatable="yes">Menu</item>                                    <item translatable="yes">None</item>                                  </items>                                  <signal name="changed" handler="on_double_click_titlebar_optionmenu_changed" swapped="no"/> @@ -298,7 +306,223 @@ Author: Robert Buj                            <packing>                              <property name="expand">False</property>                              <property name="fill">True</property> -                            <property name="position">8</property> +                            <property name="position">0</property> +                          </packing> +                        </child> +                        <child> +                          <object class="GtkBox" id="middle_click_titlebar_action_hbox"> +                            <property name="visible">True</property> +                            <property name="can-focus">False</property> +                            <property name="spacing">6</property> +                            <child> +                              <object class="GtkLabel" id="middle_click_titlebar_label"> +                                <property name="visible">True</property> +                                <property name="can-focus">False</property> +                                <property name="label" translatable="yes">_Middle-click titlebar action:</property> +                                <property name="use-underline">True</property> +                                <property name="mnemonic-widget">middle_click_titlebar_optionmenu</property> +                              </object> +                              <packing> +                                <property name="expand">False</property> +                                <property name="fill">True</property> +                                <property name="position">0</property> +                              </packing> +                            </child> +                            <child> +                              <object class="GtkComboBoxText" id="middle_click_titlebar_optionmenu"> +                                <property name="visible">True</property> +                                <property name="can-focus">False</property> +                                <items> +                                  <item translatable="yes">Close</item> +                                  <item translatable="yes">Minimize</item> +                                  <item translatable="yes">Toggle Maximize</item> +                                  <item translatable="yes">Toggle Maximize Horizontally</item> +                                  <item translatable="yes">Toggle Maximize Vertically</item> +                                  <item translatable="yes">Toggle Shade</item> +                                  <item translatable="yes">Shade</item> +                                  <item translatable="yes">Unshade</item> +                                  <item translatable="yes">Raise</item> +                                  <item translatable="yes">Lower</item> +                                  <item translatable="yes">Toggle Stick</item> +                                  <item translatable="yes">Toggle Above</item> +                                  <item translatable="yes">Menu</item> +                                  <item translatable="yes">None</item> +                                </items> +                                <signal name="changed" handler="on_middle_click_titlebar_optionmenu_changed" swapped="no"/> +                              </object> +                              <packing> +                                <property name="expand">False</property> +                                <property name="fill">True</property> +                                <property name="position">1</property> +                              </packing> +                            </child> +                          </object> +                          <packing> +                            <property name="expand">False</property> +                            <property name="fill">True</property> +                            <property name="position">1</property> +                          </packing> +                        </child> +                        <child> +                          <object class="GtkBox" id="right_click_titlebar_action_hbox"> +                            <property name="visible">True</property> +                            <property name="can-focus">False</property> +                            <property name="spacing">6</property> +                            <child> +                              <object class="GtkLabel" id="right_click_titlebar_label"> +                                <property name="visible">True</property> +                                <property name="can-focus">False</property> +                                <property name="label" translatable="yes">_Right-click titlebar action:</property> +                                <property name="use-underline">True</property> +                                <property name="mnemonic-widget">right_click_titlebar_optionmenu</property> +                              </object> +                              <packing> +                                <property name="expand">False</property> +                                <property name="fill">True</property> +                                <property name="position">0</property> +                              </packing> +                            </child> +                            <child> +                              <object class="GtkComboBoxText" id="right_click_titlebar_optionmenu"> +                                <property name="visible">True</property> +                                <property name="can-focus">False</property> +                                <items> +                                  <item translatable="yes">Close</item> +                                  <item translatable="yes">Minimize</item> +                                  <item translatable="yes">Toggle Maximize</item> +                                  <item translatable="yes">Toggle Maximize Horizontally</item> +                                  <item translatable="yes">Toggle Maximize Vertically</item> +                                  <item translatable="yes">Toggle Shade</item> +                                  <item translatable="yes">Shade</item> +                                  <item translatable="yes">Unshade</item> +                                  <item translatable="yes">Raise</item> +                                  <item translatable="yes">Lower</item> +                                  <item translatable="yes">Toggle Stick</item> +                                  <item translatable="yes">Toggle Above</item> +                                  <item translatable="yes">Menu</item> +                                  <item translatable="yes">None</item> +                                </items> +                                <signal name="changed" handler="on_right_click_titlebar_optionmenu_changed" swapped="no"/> +                              </object> +                              <packing> +                                <property name="expand">False</property> +                                <property name="fill">True</property> +                                <property name="position">1</property> +                              </packing> +                            </child> +                          </object> +                          <packing> +                            <property name="expand">False</property> +                            <property name="fill">True</property> +                            <property name="position">2</property> +                          </packing> +                        </child> +                        <child> +                          <object class="GtkBox" id="scroll_up_titlebar_action_hbox"> +                            <property name="visible">True</property> +                            <property name="can-focus">False</property> +                            <property name="spacing">6</property> +                            <child> +                              <object class="GtkLabel" id="scroll_up_titlebar_label"> +                                <property name="visible">True</property> +                                <property name="can-focus">False</property> +                                <property name="label" translatable="yes">_Scroll up titlebar action:</property> +                                <property name="use-underline">True</property> +                                <property name="mnemonic-widget">scroll_up_titlebar_optionmenu</property> +                              </object> +                              <packing> +                                <property name="expand">False</property> +                                <property name="fill">True</property> +                                <property name="position">0</property> +                              </packing> +                            </child> +                            <child> +                              <object class="GtkComboBoxText" id="scroll_up_titlebar_optionmenu"> +                                <property name="visible">True</property> +                                <property name="can-focus">False</property> +                                <items> +                                  <item translatable="yes">Close</item> +                                  <item translatable="yes">Minimize</item> +                                  <item translatable="yes">Toggle Maximize</item> +                                  <item translatable="yes">Toggle Maximize Horizontally</item> +                                  <item translatable="yes">Toggle Maximize Vertically</item> +                                  <item translatable="yes">Toggle Shade</item> +                                  <item translatable="yes">Shade</item> +                                  <item translatable="yes">Unshade</item> +                                  <item translatable="yes">Raise</item> +                                  <item translatable="yes">Lower</item> +                                  <item translatable="yes">Toggle Stick</item> +                                  <item translatable="yes">Toggle Above</item> +                                  <item translatable="yes">Menu</item> +                                  <item translatable="yes">None</item> +                                </items> +                                <signal name="changed" handler="on_scroll_up_titlebar_optionmenu_changed" swapped="no"/> +                              </object> +                              <packing> +                                <property name="expand">False</property> +                                <property name="fill">True</property> +                                <property name="position">1</property> +                              </packing> +                            </child> +                          </object> +                          <packing> +                            <property name="expand">False</property> +                            <property name="fill">True</property> +                            <property name="position">3</property> +                          </packing> +                        </child> +                        <child> +                          <object class="GtkBox" id="scroll_down_titlebar_action_hbox"> +                            <property name="visible">True</property> +                            <property name="can-focus">False</property> +                            <property name="spacing">6</property> +                            <child> +                              <object class="GtkLabel" id="scroll_down_titlebar_label"> +                                <property name="visible">True</property> +                                <property name="can-focus">False</property> +                                <property name="label" translatable="yes">Scroll _down titlebar action:</property> +                                <property name="use-underline">True</property> +                                <property name="mnemonic-widget">scroll_down_titlebar_optionmenu</property> +                              </object> +                              <packing> +                                <property name="expand">False</property> +                                <property name="fill">True</property> +                                <property name="position">0</property> +                              </packing> +                            </child> +                            <child> +                              <object class="GtkComboBoxText" id="scroll_down_titlebar_optionmenu"> +                                <property name="visible">True</property> +                                <property name="can-focus">False</property> +                                <items> +                                  <item translatable="yes">Close</item> +                                  <item translatable="yes">Minimize</item> +                                  <item translatable="yes">Toggle Maximize</item> +                                  <item translatable="yes">Toggle Maximize Horizontally</item> +                                  <item translatable="yes">Toggle Maximize Vertically</item> +                                  <item translatable="yes">Toggle Shade</item> +                                  <item translatable="yes">Shade</item> +                                  <item translatable="yes">Unshade</item> +                                  <item translatable="yes">Raise</item> +                                  <item translatable="yes">Lower</item> +                                  <item translatable="yes">Toggle Stick</item> +                                  <item translatable="yes">Toggle Above</item> +                                  <item translatable="yes">Menu</item> +                                  <item translatable="yes">None</item> +                                </items> +                                <signal name="changed" handler="on_scroll_down_titlebar_optionmenu_changed" swapped="no"/> +                              </object> +                              <packing> +                                <property name="expand">False</property> +                                <property name="fill">True</property> +                                <property name="position">1</property> +                              </packing> +                            </child> +                          </object> +                          <packing> +                            <property name="expand">False</property> +                            <property name="fill">True</property> +                            <property name="position">4</property>                            </packing>                          </child>                        </object> | 
