Add an 'Always on Top' item to the csd window menu

We want to make the csd window menu as similar as possible to the
mutter window menu.

https://bugzilla.gnome.org/show_bug.cgi?id=706323
This commit is contained in:
Matthias Clasen
2013-08-23 22:46:04 -04:00
parent 6928aedb2c
commit 8f69721ed4

View File

@@ -7878,6 +7878,15 @@ maximize_window_clicked (GtkMenuItem *menuitem,
gtk_window_titlebar_max_clicked (GTK_WIDGET (window), window);
}
static void
ontop_window_clicked (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkWindow *window = (GtkWindow *)user_data;
gtk_window_set_keep_above (window, !window->priv->above_initially);
}
static void
close_window_clicked (GtkMenuItem *menuitem,
gpointer user_data)
@@ -7909,8 +7918,7 @@ gtk_window_do_popup (GtkWindow *window,
gtk_widget_show (menuitem);
if (priv->gdk_type_hint != GDK_WINDOW_TYPE_HINT_NORMAL)
gtk_widget_set_sensitive (menuitem, FALSE);
g_signal_connect (G_OBJECT (menuitem),
"activate",
g_signal_connect (G_OBJECT (menuitem), "activate",
G_CALLBACK (minimize_window_clicked), window);
gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), menuitem);
@@ -7919,11 +7927,20 @@ gtk_window_do_popup (GtkWindow *window,
if (!priv->resizable ||
priv->gdk_type_hint != GDK_WINDOW_TYPE_HINT_NORMAL)
gtk_widget_set_sensitive (menuitem, FALSE);
g_signal_connect (G_OBJECT (menuitem),
"activate",
g_signal_connect (G_OBJECT (menuitem), "activate",
G_CALLBACK (maximize_window_clicked), window);
gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), menuitem);
menuitem = gtk_check_menu_item_new_with_label (_("Always on Top"));
gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menuitem),
priv->above_initially);
if (gtk_window_get_maximized (window))
gtk_widget_set_sensitive (menuitem, FALSE);
gtk_widget_show (menuitem);
g_signal_connect (G_OBJECT (menuitem), "activate",
G_CALLBACK (ontop_window_clicked), window);
gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), menuitem);
menuitem = gtk_separator_menu_item_new ();
gtk_widget_show (menuitem);
gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), menuitem);
@@ -7932,8 +7949,7 @@ gtk_window_do_popup (GtkWindow *window,
gtk_widget_show (menuitem);
if (!priv->deletable)
gtk_widget_set_sensitive (menuitem, FALSE);
g_signal_connect (G_OBJECT (menuitem),
"activate",
g_signal_connect (G_OBJECT (menuitem), "activate",
G_CALLBACK (close_window_clicked), window);
gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), menuitem);