import gnome-session-3.28.1-10.el8

This commit is contained in:
CentOS Sources 2020-07-14 01:23:07 +00:00 committed by Andrew Lukoshko
parent 4001652e51
commit b244f3e889
2 changed files with 133 additions and 3 deletions

View File

@ -0,0 +1,124 @@
From 06271eea2a12970fbe73b3d3f2c6ae5d79339379 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Mon, 29 Jun 2020 15:15:48 -0400
Subject: [PATCH] session-selector: show cursor explicitly
Normally the window manager would show the cursor at start up, but
the session selector runs when no window manager is present.
This commit makes the session selector explicitly set a cursor, so
users can interact with the dialog using the mouse.
---
tools/gnome-session-selector.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tools/gnome-session-selector.c b/tools/gnome-session-selector.c
index 71892c43..9225639e 100644
--- a/tools/gnome-session-selector.c
+++ b/tools/gnome-session-selector.c
@@ -594,60 +594,61 @@ auto_save_next_session_if_needed (void)
static int
compare_sessions (GtkTreeModel *model,
GtkTreeIter *a,
GtkTreeIter *b,
gpointer data)
{
char *name_a, *name_b;
int result;
gtk_tree_model_get (model, a, 0, &name_a, -1);
gtk_tree_model_get (model, b, 0, &name_b, -1);
result = g_utf8_collate (name_a, name_b);
g_free (name_a);
g_free (name_b);
return result;
}
static void
on_map (GtkWidget *widget,
gpointer data)
{
gdk_window_focus (gtk_widget_get_window (widget), GDK_CURRENT_TIME);
}
int
main (int argc, char *argv[])
{
+ GdkCursor *cursor;
GtkWidget *window;
GtkWidget *widget;
GtkCellRenderer *cell;
GtkTreeViewColumn *column;
GtkTreeSelection *selection;
GError *error;
if (getenv ("SESSION_MANAGER") != NULL)
return 1;
gtk_init (&argc, &argv);
if (argc > 1) {
g_print ("create and select session\n");
if (!create_and_select_session (argv[1]))
return 1;
else
return 0;
}
builder = gtk_builder_new ();
gtk_builder_set_translation_domain (builder, GETTEXT_PACKAGE);
error = NULL;
if (!gtk_builder_add_from_file (builder, GTKBUILDER_DIR "/" "session-selector.ui", &error)) {
g_warning ("Could not load file 'session-selector.ui': %s", error->message);
exit (1);
}
window = (GtkWidget *) gtk_builder_get_object (builder, "main-window");
@@ -663,36 +664,40 @@ main (int argc, char *argv[])
session_list = (GtkWidget *) gtk_builder_get_object (builder, "session-list");
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (session_list));
gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);
populate_session_list (session_list);
cell = gtk_cell_renderer_text_new ();
g_signal_connect (cell, "edited", G_CALLBACK (on_row_edited), NULL);
column = gtk_tree_view_column_new_with_attributes ("", cell, "text", 0, NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (session_list), GTK_TREE_VIEW_COLUMN (column));
g_signal_connect (session_list, "row-activated", G_CALLBACK (on_row_activated), NULL);
g_signal_connect (selection, "changed",
G_CALLBACK (on_selection_changed), NULL);
widget = (GtkWidget *) gtk_builder_get_object (builder, "new-session");
g_signal_connect (widget, "clicked", G_CALLBACK (on_new_session_clicked), NULL);
widget = (GtkWidget *) gtk_builder_get_object (builder, "remove-session");
g_signal_connect (widget, "clicked", G_CALLBACK (on_remove_session_clicked), NULL);
widget = (GtkWidget *) gtk_builder_get_object (builder, "rename-session");
g_signal_connect (widget, "clicked", G_CALLBACK (on_rename_session_clicked), NULL);
widget = (GtkWidget *) gtk_builder_get_object (builder, "continue-button");
g_signal_connect (widget, "clicked", G_CALLBACK (on_continue_clicked), NULL);
g_signal_connect (window, "map", G_CALLBACK (on_map), NULL);
gtk_widget_show (window);
+ cursor = gdk_cursor_new_from_name (gtk_widget_get_display (window),
+ "default");
+ gdk_window_set_cursor (gtk_widget_get_window (window), cursor);
+
gtk_main ();
auto_save_next_session_if_needed ();
return 0;
}
--
2.26.0

View File

@ -9,7 +9,7 @@
Name: gnome-session
Version: 3.28.1
Release: 9%{?dist}
Release: 10%{?dist}
Summary: GNOME session manager
License: GPLv2+
@ -23,12 +23,16 @@ Source5: com.redhat.Kiosk.desktop
Source6: redhat-kiosk.session
Source7: redhat-kiosk
Patch0: 0001-gnome-session-don-t-validate-shell-before-using-it.patch
# Blacklist NV30: https://bugzilla.redhat.com/show_bug.cgi?id=745202
Patch1: gnome-session-3.3.92-nv30.patch
Patch3: gnome-session-3.6.2-swrast.patch
# https://bugzilla.gnome.org/show_bug.cgi?id=772421
Patch4: 0001-check-accelerated-gles-Use-eglGetPlatformDisplay-EXT.patch
Patch10001: 0001-session-selector-show-cursor-explicitly.patch
BuildRequires: meson
BuildRequires: gcc
BuildRequires: pkgconfig(egl)
@ -69,8 +73,6 @@ Requires: dbus-x11
Conflicts: gnome-settings-daemon < 3.27.90
Patch0: 0001-gnome-session-don-t-validate-shell-before-using-it.patch
%description
gnome-session manages a GNOME desktop or GDM login session. It starts up
the other core GNOME components and handles logout and saving the session.
@ -160,6 +162,10 @@ install -D $RPM_SOURCE_DIR/redhat-kiosk -t $RPM_BUILD_ROOT%{_bindir}
%{_datadir}/glib-2.0/schemas/org.gnome.SessionManager.gschema.xml
%changelog
* Mon Jun 29 2020 Ray Strode <rstrode@redhat.com> - 3.28.1-10
- Show cursor explicitly from session selector
Resolves: #1624430
* Tue May 19 2020 Ray Strode <rstrode@redhat.com> - 3.28.1-9
- Add kiosk-session subpackage to help users set up RHEL for
kiosk/point-of-sale use.