GtkSettings: add shell-shows-app-menu property

This is a boolean property that will be set to TRUE if the current
desktop environment is capable of displaying the application menu as
part of the desktop shell.

If it is FALSE then the application will need to display the menu for
itself.
This commit is contained in:
Ryan Lortie 2011-11-29 22:28:11 -05:00
parent 7ee18bd74a
commit f826dd5481
2 changed files with 15 additions and 3 deletions

View File

@ -81,7 +81,8 @@ static const char gdk_settings_names[] =
"Net/EnableEventSounds\0" "gtk-enable-event-sounds\0"
"Gtk/CursorBlinkTimeout\0" "gtk-cursor-blink-timeout\0"
"Gtk/AutoMnemonics\0" "gtk-auto-mnemonics\0"
"Gtk/VisibleFocus\0" "gtk-visible-focus\0";
"Gtk/VisibleFocus\0" "gtk-visible-focus\0"
"Gtk/ShellShowsAppMenu\0" "gtk-shell-shows-app-menu\0";
static const struct
@ -135,5 +136,6 @@ static const struct
{ 1636, 1658 },
{ 1682, 1705 },
{ 1730, 1748 },
{ 1767, 1784 }
{ 1767, 1784 },
{ 1802, 1824 }
};

View File

@ -203,7 +203,8 @@ enum {
PROP_LABEL_SELECT_ON_FOCUS,
PROP_COLOR_PALETTE,
PROP_IM_PREEDIT_STYLE,
PROP_IM_STATUS_STYLE
PROP_IM_STATUS_STYLE,
PROP_SHELL_SHOWS_APP_MENU
};
/* --- prototypes --- */
@ -1323,6 +1324,15 @@ gtk_settings_class_init (GtkSettingsClass *class)
gtk_rc_property_parse_enum);
g_assert (result == PROP_IM_STATUS_STYLE);
result = settings_install_property_parser (class,
g_param_spec_boolean ("gtk-shell-shows-app-menu",
P_("Desktop shell shows app menu"),
P_("Set to true if the desktop environment is displaying the app menu, FALSE if the app should display it itself."),
FALSE, GTK_PARAM_READWRITE),
NULL);
g_assert (result == PROP_SHELL_SHOWS_APP_MENU);
g_type_class_add_private (class, sizeof (GtkSettingsPrivate));
}