Compare commits
No commits in common. "c10s" and "c8" have entirely different histories.
128
.gitignore
vendored
128
.gitignore
vendored
@ -1,127 +1 @@
|
||||
gnome-session-2.31.2.tar.bz2
|
||||
gnome-session-2.31.6.tar.bz2
|
||||
/gnome-session-2.32.0.tar.bz2
|
||||
/gnome-session-2.91.0.tar.bz2
|
||||
/gnome-session-2.91.4.tar.bz2
|
||||
/gnome-session-2.91.6.tar.bz2
|
||||
/gnome-session-2.91.90.tar.bz2
|
||||
/gnome-session-2.91.91.tar.bz2
|
||||
/gnome-session-2.91.91.2.tar.bz2
|
||||
/gnome-session-2.91.91.3.tar.bz2
|
||||
/gnome-session-2.91.92.tar.bz2
|
||||
/gnome-session-2.91.93.tar.bz2
|
||||
/gnome-session-2.91.94.tar.bz2
|
||||
/gnome-session-3.0.0.tar.bz2
|
||||
/gnome-session-3.0.1.tar.bz2
|
||||
/gnome-session-3.1.2.tar.xz
|
||||
/gnome-session-3.1.3.tar.xz
|
||||
/gnome-session-3.1.91.tar.xz
|
||||
/gnome-session-3.1.92.tar.xz
|
||||
/gnome-session-3.2.0.tar.xz
|
||||
/gnome-session-3.2.1.tar.xz
|
||||
/gnome-session-3.3.1.tar.xz
|
||||
/gnome-session-3.3.2.tar.xz
|
||||
/gnome-session-3.3.3.tar.xz
|
||||
/gnome-session-3.3.5.tar.xz
|
||||
/gnome-session-3.3.90.tar.xz
|
||||
/gnome-session-3.3.92.tar.xz
|
||||
/gnome-session-3.4.0.tar.xz
|
||||
/gnome-session-3.4.1.tar.xz
|
||||
/gnome-session-3.4.2.tar.xz
|
||||
/gnome-session-3.5.2.tar.xz
|
||||
/gnome-session-3.5.4.tar.xz
|
||||
/gnome-session-3.5.5.tar.xz
|
||||
/gnome-session-3.5.91.tar.xz
|
||||
/gnome-session-3.6.0.tar.xz
|
||||
/gnome-session-3.6.1.tar.xz
|
||||
/gnome-session-3.7.1.tar.xz
|
||||
/gnome-session-3.7.2.tar.xz
|
||||
/gnome-session-3.7.3.tar.xz
|
||||
/gnome-session-3.7.4.tar.xz
|
||||
/gnome-session-3.7.90.tar.xz
|
||||
/gnome-session-3.7.91.tar.xz
|
||||
/gnome-session-3.7.92.tar.xz
|
||||
/gnome-session-3.8.0.tar.xz
|
||||
/gnome-session-3.8.1.tar.xz
|
||||
/gnome-session-3.8.2.tar.xz
|
||||
/gnome-session-3.8.2.1.tar.xz
|
||||
/gnome-session-3.9.5.tar.xz
|
||||
/gnome-session-3.9.90.tar.xz
|
||||
/gnome-session-3.9.91.tar.xz
|
||||
/gnome-session-3.10.0.tar.xz
|
||||
/gnome-session-3.10.1.tar.xz
|
||||
/gnome-session-3.11.1.tar.xz
|
||||
/gnome-session-3.11.2.tar.xz
|
||||
/gnome-session-3.11.3.tar.xz
|
||||
/gnome-session-3.11.4.tar.xz
|
||||
/gnome-session-3.11.92.tar.xz
|
||||
/gnome-session-3.12.0.tar.xz
|
||||
/gnome-session-3.12.1.tar.xz
|
||||
/gnome-session-3.13.3.tar.xz
|
||||
/gnome-session-3.14.0.tar.xz
|
||||
/gnome-session-3.15.3.tar.xz
|
||||
/gnome-session-3.15.4.tar.xz
|
||||
/gnome-session-3.15.90.tar.xz
|
||||
/gnome-session-3.15.92.tar.xz
|
||||
/gnome-session-3.16.0.tar.xz
|
||||
/gnome-session-3.17.92.tar.xz
|
||||
/gnome-session-3.18.0.tar.xz
|
||||
/gnome-session-3.18.1.tar.xz
|
||||
/gnome-session-3.18.1.1.tar.xz
|
||||
/gnome-session-3.18.1.2.tar.xz
|
||||
/gnome-session-3.19.2.tar.xz
|
||||
/gnome-session-3.19.4.tar.xz
|
||||
/gnome-session-3.19.91.tar.xz
|
||||
/gnome-session-3.19.92.tar.xz
|
||||
/gnome-session-3.20.0.tar.xz
|
||||
/gnome-session-3.20.1.tar.xz
|
||||
/gnome-session-3.21.3.tar.xz
|
||||
/gnome-session-3.21.4.tar.xz
|
||||
/gnome-session-3.21.90.tar.xz
|
||||
/gnome-session-3.22.0.tar.xz
|
||||
/gnome-session-3.23.2.tar.xz
|
||||
/gnome-session-3.23.4.1.tar.xz
|
||||
/gnome-session-3.23.91.tar.xz
|
||||
/gnome-session-3.23.92.tar.xz
|
||||
/gnome-session-3.24.0.tar.xz
|
||||
/gnome-session-3.24.1.tar.xz
|
||||
/gnome-session-3.25.3.tar.xz
|
||||
/gnome-session-3.25.4.tar.xz
|
||||
/gnome-session-3.25.90.tar.xz
|
||||
/gnome-session-3.25.92.tar.xz
|
||||
/gnome-session-3.26.0.tar.xz
|
||||
/gnome-session-3.26.1.tar.xz
|
||||
/gnome-session-3.27.4.tar.xz
|
||||
/gnome-session-3.27.90.1.tar.xz
|
||||
/gnome-session-3.27.91.tar.xz
|
||||
/gnome-session-3.27.92.tar.xz
|
||||
/gnome-session-3.28.0.tar.xz
|
||||
/gnome-session-3.28.1.tar.xz
|
||||
/gnome-session-3.29.90.tar.xz
|
||||
/gnome-session-3.30.0.tar.xz
|
||||
/gnome-session-3.30.1.tar.xz
|
||||
/gnome-session-3.31.4.tar.xz
|
||||
/gnome-session-3.32.0.tar.xz
|
||||
/gnome-session-3.33.4.tar.xz
|
||||
/gnome-session-3.33.90.tar.xz
|
||||
/gnome-session-3.33.92.tar.xz
|
||||
/gnome-session-3.34.0.tar.xz
|
||||
/gnome-session-3.34.1.tar.xz
|
||||
/gnome-session-3.34.2.tar.xz
|
||||
/gnome-session-3.35.3.tar.xz
|
||||
/gnome-session-3.36.0.tar.xz
|
||||
/gnome-session-3.37.0.tar.xz
|
||||
/gnome-session-3.38.0.tar.xz
|
||||
/gnome-session-40.beta.tar.xz
|
||||
/gnome-session-40.0.tar.xz
|
||||
/gnome-session-40.1.tar.xz
|
||||
/gnome-session-40.1.1.tar.xz
|
||||
/gnome-session-41.3.tar.xz
|
||||
/gnome-session-42.0.tar.xz
|
||||
/gnome-session-43.0.tar.xz
|
||||
/gnome-session-44.rc.tar.xz
|
||||
/gnome-session-44.0.tar.xz
|
||||
/gnome-session-45.0.tar.xz
|
||||
/gnome-session-46.alpha.tar.xz
|
||||
/gnome-session-46.rc.tar.xz
|
||||
/gnome-session-46.0.tar.xz
|
||||
SOURCES/gnome-session-3.28.1.tar.xz
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e3d6f1c1d342d0c74f2125ea0efa2a9669aaa8df Mon Sep 17 00:00:00 2001
|
||||
From 15be30033e5b24a8c84a4d4338da0e8a3930303a Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Tue, 14 Aug 2018 14:49:59 +0200
|
||||
Subject: [PATCH] Fedora: Set grub boot-flags on shutdown / reboot
|
||||
@ -18,10 +18,37 @@ the boot-menu not being hidden.
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c
|
||||
index 6839a02d..589efb02 100644
|
||||
index 3cf421cd..924767af 100644
|
||||
--- a/gnome-session/gsm-manager.c
|
||||
+++ b/gnome-session/gsm-manager.c
|
||||
@@ -3823,10 +3823,22 @@ do_query_end_session_exit (GsmManager *manager)
|
||||
@@ -3629,51 +3629,63 @@ on_shutdown_prepared (GsmSystem *system,
|
||||
gboolean success,
|
||||
GsmManager *manager)
|
||||
{
|
||||
g_debug ("GsmManager: on_shutdown_prepared, success: %d", success);
|
||||
g_signal_handlers_disconnect_by_func (system, on_shutdown_prepared, manager);
|
||||
|
||||
if (success) {
|
||||
/* move to end-session phase */
|
||||
g_assert (manager->priv->phase == GSM_MANAGER_PHASE_QUERY_END_SESSION);
|
||||
manager->priv->phase++;
|
||||
start_phase (manager);
|
||||
} else {
|
||||
disconnect_shell_dialog_signals (manager);
|
||||
gsm_shell_close_end_session_dialog (manager->priv->shell);
|
||||
/* back to running phase */
|
||||
cancel_end_session (manager);
|
||||
}
|
||||
}
|
||||
|
||||
static gboolean
|
||||
do_query_end_session_exit (GsmManager *manager)
|
||||
{
|
||||
gboolean reboot = FALSE;
|
||||
gboolean shutdown = FALSE;
|
||||
|
||||
switch (manager->priv->logout_type) {
|
||||
case GSM_MANAGER_LOGOUT_LOGOUT:
|
||||
break;
|
||||
case GSM_MANAGER_LOGOUT_REBOOT:
|
||||
case GSM_MANAGER_LOGOUT_REBOOT_INTERACT:
|
||||
@ -44,6 +71,20 @@ index 6839a02d..589efb02 100644
|
||||
shutdown = TRUE;
|
||||
break;
|
||||
default:
|
||||
g_warning ("Unexpected logout type %d in do_query_end_session_exit()",
|
||||
manager->priv->logout_type);
|
||||
break;
|
||||
}
|
||||
|
||||
if (reboot || shutdown) {
|
||||
g_signal_connect (manager->priv->system, "shutdown-prepared",
|
||||
G_CALLBACK (on_shutdown_prepared), manager);
|
||||
gsm_system_prepare_shutdown (manager->priv->system, reboot);
|
||||
return FALSE; /* don't leave query end session yet */
|
||||
}
|
||||
|
||||
return TRUE; /* go to end session phase */
|
||||
}
|
||||
--
|
||||
2.28.0
|
||||
2.31.1
|
||||
|
@ -0,0 +1,63 @@
|
||||
From a42ccfa0e8be2e658d081c3637ff0f43e2b38d3c Mon Sep 17 00:00:00 2001
|
||||
From: Takao Fujiwara <tfujiwar@redhat.com>
|
||||
Date: Tue, 22 Oct 2019 20:44:04 +0900
|
||||
Subject: [PATCH] gnome-session: avoid setting LC_ unless LANG and region
|
||||
disagree
|
||||
|
||||
At the moment, gnome-session explicitly sets the various LC_ variables
|
||||
to the user configured region.
|
||||
|
||||
That's unnecessary, though. If the LC_ variables are unset,
|
||||
applications know to use LANG. Furthermore, setting the LC_ variables
|
||||
makes it so you can't override them with LANG anymore.
|
||||
|
||||
This commit makes sure the LC_ variables only get set when absolutely
|
||||
necesary. That is, when they are different than LANG.
|
||||
|
||||
https://gitlab.gnome.org/GNOME/gnome-session/issues/37
|
||||
---
|
||||
gnome-session/gnome-session.in | 14 +++++++++-----
|
||||
1 file changed, 9 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/gnome-session/gnome-session.in b/gnome-session/gnome-session.in
|
||||
index 7d967d34..90566f1d 100755
|
||||
--- a/gnome-session/gnome-session.in
|
||||
+++ b/gnome-session/gnome-session.in
|
||||
@@ -1,25 +1,29 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
|
||||
[ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
|
||||
[ -n "$SHELL" ]; then
|
||||
if [ "$1" != '-l' ]; then
|
||||
exec bash -c "exec -l '$SHELL' -c '$0 -l $*'"
|
||||
else
|
||||
shift
|
||||
fi
|
||||
fi
|
||||
|
||||
SETTING=$(gsettings get org.gnome.system.locale region)
|
||||
REGION=${SETTING#\'}
|
||||
REGION=${REGION%\'}
|
||||
|
||||
if [ -n "$REGION" ]; then
|
||||
- export LC_TIME=$REGION
|
||||
- export LC_NUMERIC=$REGION
|
||||
- export LC_MONETARY=$REGION
|
||||
- export LC_MEASUREMENT=$REGION
|
||||
- export LC_PAPER=$REGION
|
||||
+ unset LC_TIME LC_NUMERIC LC_MONETARY LC_MEASUREMENT LC_PAPER
|
||||
+
|
||||
+ if [ "$LANG" != "$REGION" ] ; then
|
||||
+ export LC_TIME=$REGION
|
||||
+ export LC_NUMERIC=$REGION
|
||||
+ export LC_MONETARY=$REGION
|
||||
+ export LC_MEASUREMENT=$REGION
|
||||
+ export LC_PAPER=$REGION
|
||||
+ fi
|
||||
fi
|
||||
|
||||
exec @libexecdir@/gnome-session-binary "$@"
|
||||
--
|
||||
2.41.0.rc2
|
||||
|
@ -0,0 +1,53 @@
|
||||
From ae60cb25636b6f68d087591de11fd681f6f8c918 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Tue, 19 Nov 2019 09:29:16 -0500
|
||||
Subject: [PATCH] gnome-session: don't validate shell before using it
|
||||
|
||||
Users sometimes set their shell to an invalid shell to prevent
|
||||
login from proceeding.
|
||||
|
||||
GNOME on Wayland still allows login in these cases.
|
||||
|
||||
This commit makes the behavior match expectations by skipping
|
||||
shell validity checks when deciding to run though a login shell.
|
||||
---
|
||||
gnome-session/gnome-session.in | 5 +----
|
||||
1 file changed, 1 insertion(+), 4 deletions(-)
|
||||
|
||||
diff --git a/gnome-session/gnome-session.in b/gnome-session/gnome-session.in
|
||||
index ce63df56..7d967d34 100755
|
||||
--- a/gnome-session/gnome-session.in
|
||||
+++ b/gnome-session/gnome-session.in
|
||||
@@ -1,28 +1,25 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
|
||||
[ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
|
||||
- [ -n "$SHELL" ] &&
|
||||
- grep -q "$SHELL" /etc/shells &&
|
||||
- ! (echo "$SHELL" | grep -q "false") &&
|
||||
- ! (echo "$SHELL" | grep -q "nologin"); then
|
||||
+ [ -n "$SHELL" ]; then
|
||||
if [ "$1" != '-l' ]; then
|
||||
exec bash -c "exec -l '$SHELL' -c '$0 -l $*'"
|
||||
else
|
||||
shift
|
||||
fi
|
||||
fi
|
||||
|
||||
SETTING=$(gsettings get org.gnome.system.locale region)
|
||||
REGION=${SETTING#\'}
|
||||
REGION=${REGION%\'}
|
||||
|
||||
if [ -n "$REGION" ]; then
|
||||
export LC_TIME=$REGION
|
||||
export LC_NUMERIC=$REGION
|
||||
export LC_MONETARY=$REGION
|
||||
export LC_MEASUREMENT=$REGION
|
||||
export LC_PAPER=$REGION
|
||||
fi
|
||||
|
||||
exec @libexecdir@/gnome-session-binary "$@"
|
||||
--
|
||||
2.21.0
|
||||
|
@ -0,0 +1,107 @@
|
||||
From 7cdf11b1b4b04f8cd366316f6c50a9bd0b4e67d3 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Wed, 6 May 2020 13:45:50 -0400
|
||||
Subject: [PATCH] main: only log check-accelerated errors when debugging
|
||||
enabled
|
||||
|
||||
The journal currently gets spammed with messages like:
|
||||
|
||||
gnome-session: gnome-session-check-accelerated: GL Helper exited with code 512
|
||||
gnome-session: libEGL warning: DRI2: failed to authenticate
|
||||
gnome-session: gnome-session-check-accelerated: GLES Helper exited with code 512
|
||||
|
||||
if a the machine lacks accelerated graphics. But lacking accelerated
|
||||
graphics isn't actually an error (many servers do).
|
||||
|
||||
This commit changes the messages to only show when debugging is enabled.
|
||||
---
|
||||
gnome-session/main.c | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gnome-session/main.c b/gnome-session/main.c
|
||||
index b1ac3850..0e75eecf 100644
|
||||
--- a/gnome-session/main.c
|
||||
+++ b/gnome-session/main.c
|
||||
@@ -193,72 +193,78 @@ require_dbus_session (int argc,
|
||||
g_return_val_if_fail (!g_str_has_prefix (argv[0], "dbus-launch"),
|
||||
TRUE);
|
||||
|
||||
/* +2 for our new arguments, +1 for NULL */
|
||||
new_argv = g_malloc ((argc + 3) * sizeof (*argv));
|
||||
|
||||
new_argv[0] = "dbus-launch";
|
||||
new_argv[1] = "--exit-with-session";
|
||||
for (i = 0; i < argc; i++) {
|
||||
new_argv[i + 2] = argv[i];
|
||||
}
|
||||
new_argv[i + 2] = NULL;
|
||||
|
||||
if (!execvp ("dbus-launch", new_argv)) {
|
||||
g_set_error (error,
|
||||
G_SPAWN_ERROR,
|
||||
G_SPAWN_ERROR_FAILED,
|
||||
"No session bus and could not exec dbus-launch: %s",
|
||||
g_strerror (errno));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* Should not be reached */
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
check_gl (GError **error)
|
||||
{
|
||||
int status;
|
||||
+ g_autofree char *error_output = NULL;
|
||||
+
|
||||
char *argv[] = { LIBEXECDIR "/gnome-session-check-accelerated", NULL };
|
||||
|
||||
if (getenv ("DISPLAY") == NULL) {
|
||||
/* Not connected to X11, someone else will take care of checking GL */
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
- if (!g_spawn_sync (NULL, (char **) argv, NULL, 0, NULL, NULL, &gl_renderer, NULL,
|
||||
+ if (!g_spawn_sync (NULL, (char **) argv, NULL, 0, NULL, NULL, &gl_renderer, &error_output,
|
||||
&status, error)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
+ if (error_output != NULL) {
|
||||
+ g_debug ("%s", error_output);
|
||||
+ }
|
||||
+
|
||||
return g_spawn_check_exit_status (status, error);
|
||||
}
|
||||
|
||||
static void
|
||||
initialize_gio (void)
|
||||
{
|
||||
char *disable_fuse = NULL;
|
||||
char *use_vfs = NULL;
|
||||
|
||||
disable_fuse = g_strdup (g_getenv ("GVFS_DISABLE_FUSE"));
|
||||
use_vfs = g_strdup (g_getenv ("GIO_USE_VFS"));
|
||||
|
||||
g_setenv ("GVFS_DISABLE_FUSE", "1", TRUE);
|
||||
g_setenv ("GIO_USE_VFS", "local", TRUE);
|
||||
g_vfs_get_default ();
|
||||
|
||||
if (use_vfs) {
|
||||
g_setenv ("GIO_USE_VFS", use_vfs, TRUE);
|
||||
g_free (use_vfs);
|
||||
} else {
|
||||
g_unsetenv ("GIO_USE_VFS");
|
||||
}
|
||||
|
||||
if (disable_fuse) {
|
||||
g_setenv ("GVFS_DISABLE_FUSE", disable_fuse, TRUE);
|
||||
g_free (disable_fuse);
|
||||
} else {
|
||||
g_unsetenv ("GVFS_DISABLE_FUSE");
|
||||
}
|
||||
}
|
||||
--
|
||||
2.33.1
|
||||
|
124
SOURCES/0001-session-selector-show-cursor-explicitly.patch
Normal file
124
SOURCES/0001-session-selector-show-cursor-explicitly.patch
Normal 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
|
||||
|
3
SOURCES/20-redhat-kiosk.conf
Normal file
3
SOURCES/20-redhat-kiosk.conf
Normal file
@ -0,0 +1,3 @@
|
||||
Section "ServerFlags"
|
||||
Option "DontVTSwitch" "on"
|
||||
EndSection
|
38
SOURCES/50-redhat-kiosk.dconf
Normal file
38
SOURCES/50-redhat-kiosk.dconf
Normal file
@ -0,0 +1,38 @@
|
||||
[org/gnome/desktop/a11y/applications]
|
||||
screen-keyboard-enabled=true
|
||||
|
||||
[org/gnome/desktop/interface]
|
||||
gtk-im-module='ibus'
|
||||
toolkit-accessibility=true
|
||||
|
||||
[org/gnome/desktop/lockdown]
|
||||
disable-command-line=true
|
||||
disable-lock-screen=true
|
||||
disable-application-handlers=true
|
||||
disable-user-switching=true
|
||||
user-administration-disabled=true
|
||||
|
||||
[org/gnome/desktop/wm/keybindings]
|
||||
always-on-top=@as []
|
||||
begin-move=@as []
|
||||
begin-resize=@as []
|
||||
close=@as []
|
||||
lower=@as []
|
||||
maximize=@as []
|
||||
maximize-horizontally=@as []
|
||||
maximize-vertically=@as []
|
||||
minimize=@as []
|
||||
panel-main-menu=@as []
|
||||
panel-run-dialog=@as []
|
||||
raise=@as []
|
||||
raise-or-lower=@as []
|
||||
show-desktop=@as []
|
||||
toggle-fullscreen=@as []
|
||||
toggle-maximized=@as []
|
||||
unmaximize=@as []
|
||||
|
||||
[org/gnome/desktop/wm/preferences]
|
||||
num-workspaces=1
|
||||
|
||||
[org/gnome/mutter]
|
||||
dynamic-workspaces=false
|
8
SOURCES/50-redhat-kiosk.dconf.locks
Normal file
8
SOURCES/50-redhat-kiosk.dconf.locks
Normal file
@ -0,0 +1,8 @@
|
||||
/org/gnome/desktop/a11y/applications/screen-keyboard-enabled
|
||||
/org/gnome/desktop/interface/gtk-im-module
|
||||
/org/gnome/desktop/interface/toolkit-accessibility
|
||||
/org/gnome/desktop/lockdown/disable-command-line
|
||||
/org/gnome/desktop/lockdown/disable-lock-screen
|
||||
/org/gnome/desktop/lockdown/disable-application-handlers
|
||||
/org/gnome/desktop/lockdown/disable-user-switching
|
||||
/org/gnome/desktop/lockdown/user-administration-disabled
|
5
SOURCES/com.redhat.Kiosk.Script.desktop
Normal file
5
SOURCES/com.redhat.Kiosk.Script.desktop
Normal file
@ -0,0 +1,5 @@
|
||||
[Desktop Entry]
|
||||
Name=Kiosk
|
||||
Type=Application
|
||||
Exec=redhat-kiosk
|
||||
|
13
SOURCES/com.redhat.Kiosk.WindowManager.desktop
Normal file
13
SOURCES/com.redhat.Kiosk.WindowManager.desktop
Normal file
@ -0,0 +1,13 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=Mutter
|
||||
Comment=Window manager
|
||||
Exec=/usr/bin/mutter
|
||||
Categories=GNOME;GTK;Core;
|
||||
OnlyShowIn=GNOME;
|
||||
NoDisplay=true
|
||||
X-GNOME-Autostart-Phase=DisplayServer
|
||||
X-GNOME-Provides=windowmanager;
|
||||
X-GNOME-Autostart-Notify=true
|
||||
X-GNOME-AutoRestart=false
|
||||
X-GNOME-HiddenUnderSystemd=true
|
6
SOURCES/com.redhat.Kiosk.desktop
Normal file
6
SOURCES/com.redhat.Kiosk.desktop
Normal file
@ -0,0 +1,6 @@
|
||||
[Desktop Entry]
|
||||
Name=Kiosk
|
||||
Comment=Kiosk mode
|
||||
Exec=/usr/bin/gnome-session --session=redhat-kiosk
|
||||
DesktopNames=Red-Hat-Kiosk;GNOME;
|
||||
|
13
SOURCES/com.redhat.KioskWithKeyboard.WindowManager.desktop
Normal file
13
SOURCES/com.redhat.KioskWithKeyboard.WindowManager.desktop
Normal file
@ -0,0 +1,13 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=GNOME Shell Kiosk Mode
|
||||
Comment=Window manager
|
||||
Exec=env DCONF_PROFILE=redhatkiosk /usr/bin/gnome-shell --mode=redhat-kiosk
|
||||
Categories=GNOME;GTK;Core;
|
||||
OnlyShowIn=GNOME;
|
||||
NoDisplay=true
|
||||
X-GNOME-Autostart-Phase=DisplayServer
|
||||
X-GNOME-Provides=windowmanager;
|
||||
X-GNOME-Autostart-Notify=true
|
||||
X-GNOME-AutoRestart=false
|
||||
X-GNOME-HiddenUnderSystemd=true
|
6
SOURCES/com.redhat.KioskWithKeyboard.desktop
Normal file
6
SOURCES/com.redhat.KioskWithKeyboard.desktop
Normal file
@ -0,0 +1,6 @@
|
||||
[Desktop Entry]
|
||||
Name=Kiosk (with on-screen keyboard)
|
||||
Comment=Kiosk mode with on-screen keyboard
|
||||
Exec=/usr/bin/env DCONF_PROFILE=redhatkiosk /usr/bin/gnome-session --session=redhat-kiosk-with-keyboard
|
||||
DesktopNames=Red-Hat-Kiosk;GNOME;
|
||||
|
27
SOURCES/gnome-xorg.desktop
Normal file
27
SOURCES/gnome-xorg.desktop
Normal file
@ -0,0 +1,27 @@
|
||||
[Desktop Entry]
|
||||
Name[de]=Standard (X11 Anzeige-Server)
|
||||
Name[es]=Estándar (servidor gráfico X11)
|
||||
Name[fr]=Standard (serveur affichage X11)
|
||||
Name[it]=Standard (server grafico X11)
|
||||
Name[ja]=スタンダード (X11 ディスプレイサーバー)
|
||||
Name[ko]=탠다드 (X11 디스플레이 서버)
|
||||
Name[pt_BR]=Padrão (servidor de exibição X11)
|
||||
Name[ru]=Стандартный (дисплейный сервер X11)
|
||||
Name[zh_CN]=标准(X11 显示服务器)
|
||||
Name[zh_TW]=標準(X11顯示服務器)
|
||||
Name=Standard (X11 display server)
|
||||
Comment[de]=Diese Sitzung meldet Sie bei GNOME an
|
||||
Comment[es]=Esta sesión accede a GNOME
|
||||
Comment[fr]=Cette session vous connecte dans GNOME
|
||||
Comment[it]=Questa sessione esegue l'accesso in GNOME
|
||||
Comment[ja]=このセッションで GNOME にログインします
|
||||
Comment[ko]=이 세션을 사용하면 그놈에 로그인합니다
|
||||
Comment[pt_BR]=Essa sessão o leva ao GNOME
|
||||
Comment[ru]=Этот сеанс позволяет вам войти в GNOME
|
||||
Comment[zh_CN]=此会话将您登录到 GNOME
|
||||
Comment[zh_TW]=這個工作階段讓您登入 GNOME
|
||||
Comment=This session logs you into GNOME
|
||||
Exec=gnome-session
|
||||
TryExec=gnome-session
|
||||
Type=Application
|
||||
DesktopNames=GNOME
|
27
SOURCES/gnome.desktop
Normal file
27
SOURCES/gnome.desktop
Normal file
@ -0,0 +1,27 @@
|
||||
[Desktop Entry]
|
||||
Name[de]=Standard (Wayland Anzeige-Server)
|
||||
Name[es]=Estándar (servidor gráfico Wayland)
|
||||
Name[fr]=Standard (serveur affichage Wayland)
|
||||
Name[it]=Standard (server grafico Wayland)
|
||||
Name[ja]=スタンダード (Wayland ディスプレイサーバー)
|
||||
Name[ko]=스탠다드 (Wayland 디스플레이 서버)
|
||||
Name[pt_BR]=Padrão (servidor de exibição Wayland)
|
||||
Name[ru]=Стандартный (дисплейный сервер Wayland)
|
||||
Name[zh_CN]=标准(Wayland 显示服务器)
|
||||
Name[zh_TW]=標準(Wayland顯示服務器)
|
||||
Name=Standard (Wayland display server)
|
||||
Comment[de]=Diese Sitzung meldet Sie bei GNOME an
|
||||
Comment[es]=Esta sesión accede a GNOME
|
||||
Comment[fr]=Cette session vous connecte dans GNOME
|
||||
Comment[it]=Questa sessione esegue l'accesso in GNOME
|
||||
Comment[ja]=このセッションで GNOME にログインします
|
||||
Comment[ko]=이 세션을 사용하면 그놈에 로그인합니다
|
||||
Comment[pt_BR]=Essa sessão o leva ao GNOME
|
||||
Comment[ru]=Этот сеанс позволяет вам войти в GNOME
|
||||
Comment[zh_CN]=此会话将您登录到 GNOME
|
||||
Comment[zh_TW]=這個工作階段讓您登入 GNOME
|
||||
Comment=This session logs you into GNOME
|
||||
Exec=gnome-session
|
||||
TryExec=gnome-session
|
||||
Type=Application
|
||||
DesktopNames=GNOME
|
29
SOURCES/redhat-kiosk
Executable file
29
SOURCES/redhat-kiosk
Executable file
@ -0,0 +1,29 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ ! -e ~/.local/bin/redhat-kiosk ]; then
|
||||
mkdir -p ~/.local/bin ~/.config
|
||||
cat > ~/.local/bin/redhat-kiosk << EOF
|
||||
#!/bin/sh
|
||||
# This script is located in ~/.local/bin.
|
||||
# It's provided as an example script to show how
|
||||
# the kiosk session works. At the moment, the script
|
||||
# just starts a text editor open to itself, but it
|
||||
# should get customized to instead start a full screen
|
||||
# application designed for the kiosk deployment.
|
||||
# The "while true" bit just makes sure the application gets
|
||||
# restarted if it dies for whatever reason.
|
||||
|
||||
while true; do
|
||||
gedit ~/.local/bin/redhat-kiosk
|
||||
done
|
||||
|
||||
EOF
|
||||
|
||||
chmod +x ~/.local/bin/redhat-kiosk
|
||||
touch ~/.config/gnome-initial-setup-done
|
||||
fi
|
||||
|
||||
export DCONF_PROFILE=redhatkiosk
|
||||
systemctl --user import-environment DCONF_PROFILE
|
||||
|
||||
exec ~/.local/bin/redhat-kiosk "$@"
|
3
SOURCES/redhat-kiosk-with-keyboard.session
Normal file
3
SOURCES/redhat-kiosk-with-keyboard.session
Normal file
@ -0,0 +1,3 @@
|
||||
[GNOME Session]
|
||||
Name=Kiosk
|
||||
RequiredComponents=com.redhat.KioskWithKeyboard.WindowManager;com.redhat.Kiosk.Script;
|
5
SOURCES/redhat-kiosk.dconf.profile
Normal file
5
SOURCES/redhat-kiosk.dconf.profile
Normal file
@ -0,0 +1,5 @@
|
||||
user-db:user
|
||||
system-db:redhatkiosk
|
||||
system-db:local
|
||||
system-db:site
|
||||
system-db:distro
|
11
SOURCES/redhat-kiosk.json
Normal file
11
SOURCES/redhat-kiosk.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"parentMode": "user",
|
||||
"hasOverview": false,
|
||||
"hasRunDialog": false,
|
||||
"allowSettings": false,
|
||||
"panel": { "left": [""],
|
||||
"center": [],
|
||||
"right": ["keyboard"]
|
||||
}
|
||||
}
|
||||
|
3
SOURCES/redhat-kiosk.session
Normal file
3
SOURCES/redhat-kiosk.session
Normal file
@ -0,0 +1,3 @@
|
||||
[GNOME Session]
|
||||
Name=Kiosk
|
||||
RequiredComponents=com.redhat.Kiosk.WindowManager;com.redhat.Kiosk.Script;
|
1650
SPECS/gnome-session.spec
Normal file
1650
SPECS/gnome-session.spec
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,6 +0,0 @@
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-10
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: desktop-qe.desktop-ci.tier1-gating.functional}
|
@ -1,130 +0,0 @@
|
||||
%define po_package gnome-session-46
|
||||
|
||||
%if 0%{?fedora}
|
||||
%else
|
||||
%global with_session_selector 1
|
||||
%endif
|
||||
|
||||
%global tarball_version %%(echo %{version} | tr '~' '.')
|
||||
|
||||
Name: gnome-session
|
||||
Version: 46.0
|
||||
Release: %autorelease
|
||||
Summary: GNOME session manager
|
||||
|
||||
License: GPL-2.0-or-later
|
||||
URL: https://gitlab.gnome.org/GNOME/gnome-session
|
||||
Source: https://download.gnome.org/sources/gnome-session/46/%{name}-%{tarball_version}.tar.xz
|
||||
|
||||
# Blacklist NV30: https://bugzilla.redhat.com/show_bug.cgi?id=745202
|
||||
Patch: gnome-session-3.3.92-nv30.patch
|
||||
Patch: gnome-session-3.6.2-swrast.patch
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=772421
|
||||
Patch: 0001-check-accelerated-gles-Use-eglGetPlatformDisplay-EXT.patch
|
||||
# For https://fedoraproject.org/w/index.php?title=Changes/HiddenGrubMenu
|
||||
# This should go upstream once systemd has a generic interface for this
|
||||
Patch: 0001-Fedora-Set-grub-boot-flags-on-shutdown-reboot.patch
|
||||
|
||||
BuildRequires: meson
|
||||
BuildRequires: gcc
|
||||
BuildRequires: pkgconfig(egl)
|
||||
BuildRequires: pkgconfig(gl)
|
||||
BuildRequires: pkgconfig(glesv2)
|
||||
BuildRequires: pkgconfig(gnome-desktop-3.0)
|
||||
BuildRequires: pkgconfig(gtk+-3.0)
|
||||
BuildRequires: pkgconfig(libsystemd)
|
||||
BuildRequires: pkgconfig(ice)
|
||||
BuildRequires: pkgconfig(json-glib-1.0)
|
||||
BuildRequires: pkgconfig(sm)
|
||||
BuildRequires: pkgconfig(systemd)
|
||||
BuildRequires: pkgconfig(x11)
|
||||
BuildRequires: pkgconfig(xau)
|
||||
BuildRequires: pkgconfig(xcomposite)
|
||||
BuildRequires: pkgconfig(xext)
|
||||
BuildRequires: pkgconfig(xrender)
|
||||
BuildRequires: pkgconfig(xtrans)
|
||||
BuildRequires: pkgconfig(xtst)
|
||||
|
||||
# this is so the configure checks find /usr/bin/halt etc.
|
||||
BuildRequires: usermode
|
||||
|
||||
BuildRequires: gettext
|
||||
BuildRequires: intltool
|
||||
BuildRequires: xmlto
|
||||
BuildRequires: /usr/bin/xsltproc
|
||||
|
||||
# an artificial requires to make sure we get dconf, for now
|
||||
Requires: dconf
|
||||
|
||||
Requires: system-logos
|
||||
# Needed for gnome-settings-daemon
|
||||
Requires: control-center-filesystem
|
||||
|
||||
Requires: gsettings-desktop-schemas >= 0.1.7
|
||||
|
||||
Requires: dbus
|
||||
Obsoletes: gnome-session-xsession <= 46.0
|
||||
|
||||
# https://github.com/containers/composefs/pull/229#issuecomment-1838735764
|
||||
%if 0%{?rhel} >= 10
|
||||
ExcludeArch: %{ix86}
|
||||
%endif
|
||||
|
||||
|
||||
%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.
|
||||
|
||||
%package wayland-session
|
||||
Summary: Desktop file for wayland based gnome session
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: xorg-x11-server-Xwayland%{?_isa} >= 1.20.99.1
|
||||
Requires: gnome-shell
|
||||
|
||||
%description wayland-session
|
||||
Desktop file to add GNOME on wayland to display manager session menu.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{name}-%{tarball_version}
|
||||
|
||||
%build
|
||||
%meson \
|
||||
%if 0%{?with_session_selector}
|
||||
-Dsession_selector=true \
|
||||
%endif
|
||||
%{nil}
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
rm -rf $RPM_BUILD_ROOT%{_datadir}/xsessions
|
||||
|
||||
%find_lang %{po_package}
|
||||
|
||||
%ldconfig_scriptlets
|
||||
|
||||
%files wayland-session
|
||||
%{_datadir}/wayland-sessions/*
|
||||
|
||||
%files -f %{po_package}.lang
|
||||
%doc AUTHORS NEWS README
|
||||
%license COPYING
|
||||
%{_bindir}/gnome-session*
|
||||
%{_libexecdir}/gnome-session-binary
|
||||
%{_libexecdir}/gnome-session-check-accelerated
|
||||
%{_libexecdir}/gnome-session-check-accelerated-gl-helper
|
||||
%{_libexecdir}/gnome-session-check-accelerated-gles-helper
|
||||
%{_libexecdir}/gnome-session-ctl
|
||||
%{_libexecdir}/gnome-session-failed
|
||||
%{_mandir}/man1/gnome-session*1.*
|
||||
%{_datadir}/gnome-session/
|
||||
%dir %{_datadir}/xdg-desktop-portal
|
||||
%{_datadir}/xdg-desktop-portal/gnome-portals.conf
|
||||
%{_datadir}/doc/gnome-session/
|
||||
%{_datadir}/glib-2.0/schemas/org.gnome.SessionManager.gschema.xml
|
||||
%{_userunitdir}/gnome-session*
|
||||
%{_userunitdir}/gnome-launched-.scope.d/
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
Loading…
Reference in New Issue
Block a user