Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision

Target

Select target project
  • sirgatez/gnome-session
  • aleasto/gnome-session
  • tsimonq2/gnome-session
  • yoshiki/gnome-session
  • xypron/gnome-session
  • janitor-team/proposed/gnome-session
  • nteodosio/gnome-session
  • wjt/gnome-session
  • werdahias/gnome-session
  • starnight/gnome-session
  • gnome-team/gnome-session
  • 3v1n0/gnome-session
12 results
Select Git revision
Show changes
Commits on Source (89)
Showing
with 227 additions and 264 deletions
============
Version 41.3
============
No changes, just version synching
============
Version 40.8
============
data: Install GNOME on Wayland session for X11 preferred setups
Don't spew as much into log when falling back to non-systemd sessions
Work better with certain versions of meson
Correct screwed up check for gnome-shell
Various cleanups and leak fixes
Translation updates
==============
Version 40.1.1
==============
......
[Desktop Entry]
Name=GNOME
Name=GNOME on Wayland
Comment=This session logs you into GNOME
Exec=@bindir@/gnome-session
TryExec=@bindir@/gnome-session
Type=Application
DesktopNames=GNOME
X-GDM-SessionRegisters=true
......@@ -2,7 +2,8 @@ desktop_plain = 'gnome'
desktops = [
desktop_plain,
'gnome-xorg'
'gnome-xorg',
'gnome-wayland',
]
shell_component = {
......@@ -46,19 +47,23 @@ foreach name: desktops
configuration: desktop_conf
)
install_dir = join_paths(session_datadir, 'xsessions')
# FIXME: The same target can not be copied into two directories.
# There is a workaround in meson_post_install.py until proper solution arises:
# https://groups.google.com/forum/#!topic/mesonbuild/3iIoYPrN4P0
if name == desktop_plain
#install_dir: [
if name.endswith('-xorg')
install_dir = session_datadir / 'xsessions'
elif name.endswith('-wayland')
install_dir = session_datadir / 'wayland-sessions'
else
# FIXME: The same target can not be copied into two directories.
# There is a workaround in meson_post_install.py until proper
# solution arises:
# https://github.com/mesonbuild/meson/issues/2416
install_dir = session_datadir / 'xsessions'
#install_dir = [
# join_paths(session_datadir, 'xsessions'),
# join_paths(session_datadir, 'wayland-sessions')
#]
endif
desktop_target = i18n.merge_file(
desktop,
type: 'desktop',
input: desktop_in,
output: desktop,
......@@ -89,7 +94,6 @@ foreach session: sessions
)
i18n.merge_file(
session_file,
type: 'desktop',
input: desktop_in,
output: session_file,
......
gnome-session (41.3-1ubuntu1) jammy; urgency=medium
* Merge with debian:
- Ensure that systemd is preferred on startup (LP: #1959596)
* debian/rules: Automatically compute the pot name using $DEB_UPSTREAM_VERSION
* debian/rules: Keep gnome-session domain in sync with major version
* debian/patches: Remove applied upstream
* debian/patches: Refresh patches as per upstream changes
* debian: Remove communitheme-snap session
* Remaining changes with debian:
- debian/control.in:
+ Recommend session-migration
+ Move xwayland dependency to gnome-session and make gnome-session
Arch: any
+ Split gnome-startup-applications to a separate binary package so
that it can be uninstalled without breaking the system
+ Add unity-session
- debian/rules: Ensure pot file is generated to translate session files
- Split ubuntu-session out of gnome-session.
- debian/data: Add old-style systemd user session used by Unity
- debian/gnome-session-bin.postinst, debian/gnome-session-bin.prerm:
Moved registering gnome-session binary as a session manager to
gnome-session-bin package
- don't install gnome-mimeapps.list (installed by desktop-file-utils in
Ubuntu):
debian/gnome-session-common.dirs, gnome-session-common.install,
gnome-session-common.maintscript, gnome-session-common.postinst
- debian/patches/ubuntu/support_autostart_delay.patch:
+ Bugzilla patch to support adding a delay to autostart apps, using
a "X-GNOME-Autostart-Delay" key in the desktop file
- debian/patches/ubuntu/ubuntu_sessions.patch:
+ Add ubuntu sessions
- debian/patches/ubuntu/remove_session_saving_from_gui.patch:
+ Add GNOME_SESSION_SAVE environment variable for people wanting to
use the save session still, knowing that it can break your system
if used unwisely
- debian/patches/ubuntu/add_sessionmigration.patch:
+ launch session-migration if present at the start of the session.
This sync tool runns different session migration scripts that can be
provided in various desktop packages.
- debian/patches/ubuntu/dbus_request_shutdown.patch:
+ Add "RequestShutdown" and "RequestReboot" DBus methods to allow
other applications to shutdown or reboot the machine via the session
manager.
- debian/patches/ubuntu/ignore_gsettings_region.patch:
+ Ignore the "region" gsettings value - users' setting of LC_*
variables saved in ~/.pam_environment.
- debian/patches/revert_remove_gnome_session_properties.patch:
+ Don't merge translations into gnome-session-properties.desktop
- debian/ubuntu-settings-migrate-to-defaults.18.10.1.py:
+ Migrate users using old default ubuntu-settings to current ones
- debian/xdg_dirs_desktop_session.sh: Install a new script into
/etc/profile.d to prepend a $DESKTOP_SESSION related directory to
$XDG_{CONFIG,DATA}_DIRS.
-- Marco Trevisan (Treviño) <marco@ubuntu.com> Tue, 01 Mar 2022 13:19:24 +0100
gnome-session (41.3-1) unstable; urgency=medium
* Team upload
[ Jeremy Bicha ]
* New upstream release
* debian/rules: Drop unneeded -Wl,--as-needed
* Build-Depend on dh-sequence-gnome instead of gnome-pkg-tools
* Revert "Leave compatibility symlinks in /usr/lib/gnome-session".
This was no longer needed in either gdm3 or gnome-control-center
since before bullseye.
[ Simon McVittie ]
* d/rules: Configure with systemd_session=default on Linux.
On Linux systems that have dbus-user-session, we now prefer systemd
mode, as we did in bullseye (until it was accidentally disabled in
40.1.1-2). On systems that do not, such as those using sysvinit, we'll
fall back to the old code path with a warning.
The old code path will not necessarily remain supported by upstream
forever, since one of the motivations for the systemd mode was to
simplify GNOME session startup, but at the moment it still works.
(Closes: #1004448)
* Depend on default-dbus-session-bus | dbus-session-bus instead of
dbus-x11
* Standards-Version: 4.6.0 (no changes required)
-- Simon McVittie <smcv@debian.org> Sat, 29 Jan 2022 14:42:02 +0000
gnome-session (40.1.1-3ubuntu1) jammy; urgency=medium
* Merge with debian, remaining changes:
......
usr/share/wayland-sessions/ubuntu-communitheme-snap.desktop
usr/share/xsessions/ubuntu-communitheme-snap.desktop
usr/share/xsessions/ubuntu-communitheme-snap-xorg.desktop
......@@ -7,11 +7,11 @@ Section: gnome
Priority: optional
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
XSBC-Original-Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
Uploaders: Iain Lane <laney@debian.org>, Laurent Bigonville <bigon@debian.org>
Uploaders: Iain Lane <laney@debian.org>, Jeremy Bicha <jbicha@debian.org>, Laurent Bigonville <bigon@debian.org>
Build-Depends: debhelper-compat (= 13),
dh-exec,
dh-migrations,
gnome-pkg-tools (>= 0.13),
dh-sequence-gnome,
libdbus-1-dev,
libgl-dev,
libgles-dev,
......@@ -35,7 +35,7 @@ Build-Depends: debhelper-compat (= 13),
xsltproc,
xtrans-dev
Rules-Requires-Root: no
Standards-Version: 4.5.0
Standards-Version: 4.6.0
XS-Debian-Vcs-Git: https://salsa.debian.org/gnome-team/gnome-session.git
XS-Debian-Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-session
Vcs-Git: https://salsa.debian.org/gnome-team/gnome-session.git -b ubuntu/master
......@@ -106,16 +106,6 @@ Description: Ubuntu session with GNOME Shell
This package contains the required components for running a GNOME 3 session
with default Ubuntu configuration, based on the GNOME Shell.
Package: communitheme-snap-session
Architecture: all
Depends: ubuntu-session (>= ${binary:Version}),
${misc:Depends}
Replaces: ubuntu-session (<= 3.30.0-0ubuntu2)
Description: Ubuntu communitheme snap session with GNOME Shell
This package contains the required components for running a GNOME 3 session
with default Ubuntu configuration, based on the GNOME Shell, using
the communitheme snap.
Package: unity-session
Architecture: all
Depends: dbus-user-session,
......@@ -145,7 +135,7 @@ Description: Unity session, previous ubuntu default experience.
Package: gnome-session-bin
Architecture: any
Depends: dbus-x11,
Depends: default-dbus-session-bus | dbus-session-bus,
gsettings-desktop-schemas,
upower (>= 0.9.0),
${misc:Depends},
......
......@@ -7,7 +7,7 @@ Uploaders: @GNOME_TEAM@
Build-Depends: debhelper-compat (= 13),
dh-exec,
dh-migrations,
gnome-pkg-tools (>= 0.13),
dh-sequence-gnome,
libdbus-1-dev,
libgl-dev,
libgles-dev,
......@@ -31,7 +31,7 @@ Build-Depends: debhelper-compat (= 13),
xsltproc,
xtrans-dev
Rules-Requires-Root: no
Standards-Version: 4.5.0
Standards-Version: 4.6.0
XS-Debian-Vcs-Git: https://salsa.debian.org/gnome-team/gnome-session.git
XS-Debian-Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-session
Vcs-Git: https://salsa.debian.org/gnome-team/gnome-session.git -b ubuntu/master
......@@ -102,16 +102,6 @@ Description: Ubuntu session with GNOME Shell
This package contains the required components for running a GNOME 3 session
with default Ubuntu configuration, based on the GNOME Shell.
Package: communitheme-snap-session
Architecture: all
Depends: ubuntu-session (>= ${binary:Version}),
${misc:Depends}
Replaces: ubuntu-session (<= 3.30.0-0ubuntu2)
Description: Ubuntu communitheme snap session with GNOME Shell
This package contains the required components for running a GNOME 3 session
with default Ubuntu configuration, based on the GNOME Shell, using
the communitheme snap.
Package: unity-session
Architecture: all
Depends: dbus-user-session,
......@@ -141,7 +131,7 @@ Description: Unity session, previous ubuntu default experience.
Package: gnome-session-bin
Architecture: any
Depends: dbus-x11,
Depends: default-dbus-session-bus | dbus-session-bus,
gsettings-desktop-schemas,
upower (>= 0.9.0),
${misc:Depends},
......
......@@ -13,7 +13,7 @@ multimaint-merge = True
[import-orig]
postimport = dch -v%(version)s New upstream release; git add debian/changelog; debcommit
upstream-vcs-tag = %(version)s
upstream-vcs-tag = %(version%~%.)s
[pq]
patch-numbers = False
......@@ -2,7 +2,6 @@ usr/bin/gnome-session
usr/bin/gnome-session-custom-session
usr/bin/gnome-session-inhibit
usr/bin/gnome-session-quit
usr/lib/gnome-session*
usr/libexec
usr/share/gnome-session/hardware-compatibility
usr/share/man/man1/gnome-session.1*
......
From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net>
Date: Mon, 20 Sep 2021 18:04:46 +0200
Subject: data: Install GNOME on Wayland session for X11 preferred setups
gdm supports now setups where X11 is the preferred session, but wayland
can be used on demand.
However we're currently not proposing GNOME on Wayland session because
the preferred X11 GNOME session will be picked instead.
To avoid this, install (again) the gnome-wayland session, so that it
will be selectable when gdm is running under X11, but it also supports
wayland. Given its name, it will be filtered out in the case gdm is
running instead under wayland.
Origin: https://gitlab.gnome.org/GNOME/gnome-session/-/merge_requests/71
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/gnome-session/+bug/1944223
---
data/gnome-wayland.desktop.in.in | 3 ++-
data/meson.build | 20 +++++++++++++-------
2 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/data/gnome-wayland.desktop.in.in b/data/gnome-wayland.desktop.in.in
index 516c211..b48eecd 100644
--- a/data/gnome-wayland.desktop.in.in
+++ b/data/gnome-wayland.desktop.in.in
@@ -1,7 +1,8 @@
[Desktop Entry]
-Name=GNOME
+Name=GNOME on Wayland
Comment=This session logs you into GNOME
Exec=@bindir@/gnome-session
TryExec=@bindir@/gnome-session
Type=Application
DesktopNames=GNOME
+X-GDM-SessionRegisters=true
diff --git a/data/meson.build b/data/meson.build
index e02b80d..d3134ad 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -2,7 +2,8 @@ desktop_plain = 'gnome'
desktops = [
desktop_plain,
- 'gnome-xorg'
+ 'gnome-xorg',
+ 'gnome-wayland',
]
shell_component = {
@@ -46,12 +47,17 @@ foreach name: desktops
configuration: desktop_conf
)
- install_dir = join_paths(session_datadir, 'xsessions')
- # FIXME: The same target can not be copied into two directories.
- # There is a workaround in meson_post_install.py until proper solution arises:
- # https://groups.google.com/forum/#!topic/mesonbuild/3iIoYPrN4P0
- if name == desktop_plain
- #install_dir: [
+ if name.endswith('-xorg')
+ install_dir = session_datadir / 'xsessions'
+ elif name.endswith('-wayland')
+ install_dir = session_datadir / 'wayland-sessions'
+ else
+ # FIXME: The same target can not be copied into two directories.
+ # There is a workaround in meson_post_install.py until proper
+ # solution arises:
+ # https://github.com/mesonbuild/meson/issues/2416
+ install_dir = session_datadir / 'xsessions'
+ #install_dir = [
# join_paths(session_datadir, 'xsessions'),
# join_paths(session_datadir, 'wayland-sessions')
#]
......@@ -15,10 +15,10 @@ Forwarded: not-needed
1 file changed, 5 insertions(+)
diff --git a/gnome-session/main.c b/gnome-session/main.c
index 443bc04..d30884b 100644
index a460a84..2a25d86 100644
--- a/gnome-session/main.c
+++ b/gnome-session/main.c
@@ -602,6 +602,11 @@ main (int argc, char **argv)
@@ -609,6 +609,11 @@ main (int argc, char **argv)
g_free (ibus_path);
}
......
......@@ -5812,10 +5812,10 @@ index 0000000..497fb9d
+ </g>
+</svg>
diff --git a/data/meson.build b/data/meson.build
index 9c6dc7c..b9fa343 100644
index 07fe12a..5f72bd0 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -236,7 +236,30 @@ if enable_session_selector
@@ -232,7 +232,30 @@ if enable_session_selector
data += files('session-selector.ui')
endif
......@@ -6218,7 +6218,7 @@ index 4a389bc..9d9cc2d 100644
install_data(
diff --git a/meson.build b/meson.build
index dcc4e6d..3919e6b 100644
index 88110f7..7181335 100644
--- a/meson.build
+++ b/meson.build
@@ -187,6 +187,7 @@ top_inc = include_directories('.')
......@@ -6230,7 +6230,7 @@ index dcc4e6d..3919e6b 100644
enable_docbook = get_option('docbook')
enable_man = get_option('man')
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 70baa1b..3e091de 100644
index 2483de2..68c0699 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,5 +1,9 @@
......@@ -6254,7 +6254,7 @@ index 70baa1b..3e091de 100644
data/ubuntu-wayland.desktop.in.in
data/ubuntu-xorg.desktop.in.in
diff --git a/po/POTFILES.skip b/po/POTFILES.skip
index 72173d3..eb80295 100644
index 4d20abb..c9ed3ae 100644
--- a/po/POTFILES.skip
+++ b/po/POTFILES.skip
@@ -7,6 +7,7 @@ data/gnome-dummy.session.desktop.in
......
data-Install-GNOME-on-Wayland-session-for-X11-preferred-s.patch
debian/Revert-main-Remove-GNOME_DESKTOP_SESSION_ID-envvar.patch
ubuntu/support_autostart_delay.patch
ubuntu/ubuntu-sessions.patch
......
......@@ -8,7 +8,7 @@ Subject: gsm-session-fill: Launch session migration
1 file changed, 7 insertions(+)
diff --git a/gnome-session/gsm-session-fill.c b/gnome-session/gsm-session-fill.c
index 62a74a5..a53046f 100644
index 191b6ce..4494176 100644
--- a/gnome-session/gsm-session-fill.c
+++ b/gnome-session/gsm-session-fill.c
@@ -134,6 +134,13 @@ load_standard_apps (GsmManager *manager,
......
......@@ -5,16 +5,16 @@ Subject: Add "RequestShutdown" and "RequestReboot" DBus methods to allow
other applications to shutdown or reboot the machine via the session manager
Author: Chris Coulson <chrisccoulson@ubuntu.com>
---
gnome-session/gsm-manager.c | 41 ++++++++++++++++++++++++++++++
gnome-session/gsm-manager.c | 45 ++++++++++++++++++++++++++++++
gnome-session/gsm-manager.h | 4 +++
gnome-session/org.gnome.SessionManager.xml | 17 +++++++++++++
3 files changed, 62 insertions(+)
gnome-session/org.gnome.SessionManager.xml | 17 +++++++++++
3 files changed, 66 insertions(+)
diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c
index cd03292..e7fd5e3 100644
index 8c95d9b..a832f8e 100644
--- a/gnome-session/gsm-manager.c
+++ b/gnome-session/gsm-manager.c
@@ -2576,6 +2576,47 @@ request_logout (GsmManager *manager,
@@ -2654,6 +2654,51 @@ request_logout (GsmManager *manager,
end_phase (manager);
}
......@@ -22,11 +22,13 @@ index cd03292..e7fd5e3 100644
+gsm_manager_request_shutdown (GsmManager *manager,
+ GError **error)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ g_debug ("GsmManager: RequestShutdown called");
+
+ g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE);
+
+ if (manager->priv->phase != GSM_MANAGER_PHASE_RUNNING) {
+ if (priv->phase != GSM_MANAGER_PHASE_RUNNING) {
+ g_set_error (error,
+ GSM_MANAGER_ERROR,
+ GSM_MANAGER_ERROR_NOT_IN_RUNNING,
......@@ -43,11 +45,13 @@ index cd03292..e7fd5e3 100644
+gsm_manager_request_reboot (GsmManager *manager,
+ GError **error)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ g_debug ("GsmManager: RequestReboot called");
+
+ g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE);
+
+ if (manager->priv->phase != GSM_MANAGER_PHASE_RUNNING) {
+ if (priv->phase != GSM_MANAGER_PHASE_RUNNING) {
+ g_set_error (error,
+ GSM_MANAGER_ERROR,
+ GSM_MANAGER_ERROR_NOT_IN_RUNNING,
......@@ -63,10 +67,10 @@ index cd03292..e7fd5e3 100644
gsm_manager_shutdown (GsmExportedManager *skeleton,
GDBusMethodInvocation *invocation,
diff --git a/gnome-session/gsm-manager.h b/gnome-session/gsm-manager.h
index 3ce4350..4e04524 100644
index 7cd5cc4..025c58c 100644
--- a/gnome-session/gsm-manager.h
+++ b/gnome-session/gsm-manager.h
@@ -128,6 +128,10 @@ void _gsm_manager_set_renderer (GsmManager *
@@ -112,6 +112,10 @@ void _gsm_manager_set_renderer (GsmManager *
gboolean gsm_manager_logout (GsmManager *manager,
guint logout_mode,
GError **error);
......
......@@ -10,10 +10,10 @@ Forwarded: not-needed
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/gnome-session/gnome-session.in b/gnome-session/gnome-session.in
index ddd1a59..59ce162 100755
index b4b1f8f..872005e 100755
--- a/gnome-session/gnome-session.in
+++ b/gnome-session/gnome-session.in
@@ -13,9 +13,9 @@ if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
@@ -10,9 +10,9 @@ if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
fi
fi
......
......@@ -8,7 +8,7 @@ Subject: Remove session saving from gui
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gnome-session/gsm-session-fill.c b/gnome-session/gsm-session-fill.c
index bdd9208..62a74a5 100644
index 93a6dbc..191b6ce 100644
--- a/gnome-session/gsm-session-fill.c
+++ b/gnome-session/gsm-session-fill.c
@@ -146,7 +146,8 @@ load_standard_apps (GsmManager *manager,
......
......@@ -7,18 +7,18 @@ period defined by the "X-GNOME-Autostart-Delay" key in the applications
desktop file
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=608402
---
gnome-session/gsm-app.c | 18 ++++++++++++++-
gnome-session/gsm-app.c | 18 +++++++++++++++-
gnome-session/gsm-app.h | 2 ++
gnome-session/gsm-autostart-app.c | 26 ++++++++++++++++++++++
gnome-session/gsm-autostart-app.c | 27 +++++++++++++++++++++++
gnome-session/gsm-autostart-app.h | 1 +
gnome-session/gsm-manager.c | 46 ++++++++++++++++++++++++++++++++++++---
gnome-session/gsm-manager.c | 45 ++++++++++++++++++++++++++++++++++++---
5 files changed, 89 insertions(+), 4 deletions(-)
diff --git a/gnome-session/gsm-app.c b/gnome-session/gsm-app.c
index d1ef89a..3f6a8ec 100644
index 8da7bd1..7241376 100644
--- a/gnome-session/gsm-app.c
+++ b/gnome-session/gsm-app.c
@@ -316,6 +316,7 @@ gsm_app_class_init (GsmAppClass *klass)
@@ -327,6 +327,7 @@ gsm_app_class_init (GsmAppClass *klass)
klass->impl_provides = NULL;
klass->impl_get_provides = NULL;
klass->impl_is_running = NULL;
......@@ -26,7 +26,7 @@ index d1ef89a..3f6a8ec 100644
g_object_class_install_property (object_class,
PROP_PHASE,
@@ -518,7 +519,22 @@ gboolean
@@ -536,7 +537,22 @@ gboolean
gsm_app_stop (GsmApp *app,
GError **error)
{
......@@ -51,10 +51,10 @@ index d1ef89a..3f6a8ec 100644
void
diff --git a/gnome-session/gsm-app.h b/gnome-session/gsm-app.h
index f38b3be..85cb97e 100644
index 2808a21..72f03c9 100644
--- a/gnome-session/gsm-app.h
+++ b/gnome-session/gsm-app.h
@@ -63,6 +63,7 @@ struct _GsmAppClass
@@ -49,6 +49,7 @@ struct _GsmAppClass
GError **error);
gboolean (*impl_stop) (GsmApp *app,
GError **error);
......@@ -62,7 +62,7 @@ index f38b3be..85cb97e 100644
gboolean (*impl_provides) (GsmApp *app,
const char *service);
char ** (*impl_get_provides) (GsmApp *app);
@@ -124,6 +125,7 @@ gboolean gsm_app_has_autostart_condition (GsmApp *app,
@@ -109,6 +110,7 @@ gboolean gsm_app_has_autostart_condition (GsmApp *app,
gboolean gsm_app_get_registered (GsmApp *app);
void gsm_app_set_registered (GsmApp *app,
gboolean registered);
......@@ -71,7 +71,7 @@ index f38b3be..85cb97e 100644
gboolean gsm_app_save_to_keyfile (GsmApp *app,
GKeyFile *keyfile,
diff --git a/gnome-session/gsm-autostart-app.c b/gnome-session/gsm-autostart-app.c
index 0893300..cdbbd88 100644
index 8204d4f..de7e3ad 100644
--- a/gnome-session/gsm-autostart-app.c
+++ b/gnome-session/gsm-autostart-app.c
@@ -20,6 +20,7 @@
......@@ -82,7 +82,7 @@ index 0893300..cdbbd88 100644
#include <string.h>
#include <sys/wait.h>
#include <errno.h>
@@ -72,6 +73,7 @@ struct _GsmAutostartAppPrivate {
@@ -73,6 +74,7 @@ typedef struct
char *condition_string;
gboolean condition;
gboolean autorestart;
......@@ -90,63 +90,64 @@ index 0893300..cdbbd88 100644
GFileMonitor *condition_monitor;
guint condition_notify_id;
@@ -110,6 +112,7 @@ gsm_autostart_app_init (GsmAutostartApp *app)
app->priv->pid = -1;
app->priv->condition_monitor = NULL;
app->priv->condition = FALSE;
+ app->priv->autostart_delay = -1;
@@ -111,6 +113,7 @@ gsm_autostart_app_init (GsmAutostartApp *app)
priv->pid = -1;
priv->condition_monitor = NULL;
priv->condition = FALSE;
+ priv->autostart_delay = -1;
}
static gboolean
@@ -631,6 +634,20 @@ load_desktop_file (GsmAutostartApp *app)
@@ -617,6 +620,21 @@ load_desktop_file (GsmAutostartApp *app)
"AutostartCondition");
setup_condition_monitor (app);
+ const char *delay;
+ delay = g_desktop_app_info_get_string (app->priv->app_info,
+ delay = g_desktop_app_info_get_string (priv->app_info,
+ GSM_AUTOSTART_APP_DELAY_KEY);
+
+ if (delay != NULL) {
+ app->priv->autostart_delay = strtol (delay, NULL, 10);
+ priv->autostart_delay = strtol (delay, NULL, 10);
+
+ if (app->priv->autostart_delay < 0) {
+ g_warning ("Invalid autostart delay of %d for %s", app->priv->autostart_delay,
+ if (priv->autostart_delay < 0) {
+ g_warning ("Invalid autostart delay of %d for %s",
+ priv->autostart_delay,
+ gsm_app_peek_id (GSM_APP (app)));
+ app->priv->autostart_delay = -1;
+ priv->autostart_delay = -1;
+ }
+ }
+
g_object_set (app,
"phase", phase,
"startup-id", startup_id,
@@ -1359,6 +1376,14 @@ gsm_autostart_app_get_app_id (GsmApp *app)
return g_app_info_get_id (G_APP_INFO (GSM_AUTOSTART_APP (app)->priv->app_info));
@@ -1352,6 +1370,14 @@ gsm_autostart_app_get_app_id (GsmApp *app)
return g_app_info_get_id (G_APP_INFO (priv->app_info));
}
+static int
+gsm_autostart_app_peek_autostart_delay (GsmApp *app)
+{
+ GsmAutostartApp *aapp = GSM_AUTOSTART_APP (app);
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (GSM_AUTOSTART_APP (app));
+
+ return aapp->priv->autostart_delay;
+ return priv->autostart_delay;
+}
+
static gboolean
gsm_autostart_app_initable_init (GInitable *initable,
GCancellable *cancellable,
@@ -1475,6 +1500,7 @@ gsm_autostart_app_class_init (GsmAutostartAppClass *klass)
@@ -1470,6 +1496,7 @@ gsm_autostart_app_class_init (GsmAutostartAppClass *klass)
app_class->impl_has_autostart_condition = gsm_autostart_app_has_autostart_condition;
app_class->impl_get_app_id = gsm_autostart_app_get_app_id;
app_class->impl_get_autorestart = gsm_autostart_app_get_autorestart;
+ app_class->impl_peek_autostart_delay = gsm_autostart_app_peek_autostart_delay;
app_class->impl_save_to_keyfile = gsm_autostart_app_save_to_keyfile;
g_object_class_install_property (object_class,
props[PROP_DESKTOP_FILENAME] =
diff --git a/gnome-session/gsm-autostart-app.h b/gnome-session/gsm-autostart-app.h
index 17faf75..eb1a146 100644
index a7a5c28..5192865 100644
--- a/gnome-session/gsm-autostart-app.h
+++ b/gnome-session/gsm-autostart-app.h
@@ -72,6 +72,7 @@ void gsm_autostart_app_add_provides (GsmAutostartApp *aapp,
@@ -55,6 +55,7 @@ void gsm_autostart_app_add_provides (GsmAutostartApp *aapp,
#define GSM_AUTOSTART_APP_DBUS_PATH_KEY "X-GNOME-DBus-Path"
#define GSM_AUTOSTART_APP_DBUS_ARGS_KEY "X-GNOME-DBus-Start-Arguments"
#define GSM_AUTOSTART_APP_DISCARD_KEY "X-GNOME-Autostart-discard-exec"
......@@ -155,10 +156,10 @@ index 17faf75..eb1a146 100644
G_END_DECLS
diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c
index d38996a..cd03292 100644
index 1b88b26..8c95d9b 100644
--- a/gnome-session/gsm-manager.c
+++ b/gnome-session/gsm-manager.c
@@ -411,7 +411,8 @@ app_condition_changed (GsmApp *app,
@@ -415,7 +415,8 @@ app_condition_changed (GsmApp *app,
} else {
g_debug ("GsmManager: stopping app %s", gsm_app_peek_id (app));
......@@ -168,7 +169,7 @@ index d38996a..cd03292 100644
error = NULL;
res = gsm_app_stop (app, &error);
if (! res) {
@@ -745,11 +746,37 @@ on_phase_timeout (GsmManager *manager)
@@ -755,11 +756,36 @@ on_phase_timeout (GsmManager *manager)
return FALSE;
}
......@@ -201,17 +202,16 @@ index d38996a..cd03292 100644
GsmApp *app,
GsmManager *manager)
{
+ int delay;
+
if (gsm_app_peek_phase (app) != manager->priv->phase) {
goto out;
}
@@ -767,6 +794,18 @@ _start_app (const char *id,
+ int delay;
GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
if (gsm_app_peek_phase (app) != priv->phase) {
@@ -779,6 +805,18 @@ _start_app (const char *id,
goto out;
}
+ /* Only accept an autostart delay for the application phase */
+ if (manager->priv->phase == GSM_MANAGER_PHASE_APPLICATION) {
+ if (priv->phase == GSM_MANAGER_PHASE_APPLICATION) {
+ delay = gsm_app_peek_autostart_delay (app);
+ if (delay > 0) {
+ g_timeout_add_seconds (delay,
......@@ -225,7 +225,7 @@ index d38996a..cd03292 100644
if (!start_app_or_warn (manager, app))
goto out;
@@ -1432,11 +1471,12 @@ _debug_app_for_phase (const char *id,
@@ -1464,11 +1502,12 @@ _debug_app_for_phase (const char *id,
return FALSE;
}
......
......@@ -6,31 +6,25 @@ The session contains:
- ubuntu (gnome-shell with ubuntu tweaks) in ubuntu-session package
- unity in unity-session package
- gnome-shell in the main gnome-session package.
- ubuntu-communitheme-snap into ubuntu-session package
(TryExec enables to show them or not depends on the package installed)
Forwarded: Not needed
---
data/gnome-wayland.desktop.in.in | 2 +-
data/gnome-xorg.desktop.in.in | 2 +-
data/gnome.desktop.in.in | 2 +-
data/meson.build | 45 +++++++++++++++++++++++-
data/ubuntu-communitheme-snap-xorg.desktop.in.in | 8 +++++
data/ubuntu-communitheme-snap.desktop.in.in | 8 +++++
data/ubuntu-wayland.desktop.in.in | 8 +++++
data/ubuntu-xorg.desktop.in.in | 8 +++++
data/ubuntu.desktop.in.in | 8 +++++
data/ubuntu.session.conf.in | 5 +++
data/ubuntu.session.desktop.in.in | 4 +++
data/unity.desktop.in.in | 7 ++++
data/unity.session.desktop.in.in | 4 +++
data/wayland-sessions/meson.build | 1 +
meson_post_install.py | 6 ++--
po/POTFILES.in | 8 +++++
po/POTFILES.skip | 8 +++++
17 files changed, 127 insertions(+), 7 deletions(-)
create mode 100644 data/ubuntu-communitheme-snap-xorg.desktop.in.in
create mode 100644 data/ubuntu-communitheme-snap.desktop.in.in
data/gnome-wayland.desktop.in.in | 2 +-
data/gnome-xorg.desktop.in.in | 2 +-
data/gnome.desktop.in.in | 2 +-
data/meson.build | 43 ++++++++++++++++++++++++++++++++++++++-
data/ubuntu-wayland.desktop.in.in | 8 ++++++++
data/ubuntu-xorg.desktop.in.in | 8 ++++++++
data/ubuntu.desktop.in.in | 8 ++++++++
data/ubuntu.session.conf.in | 5 +++++
data/ubuntu.session.desktop.in.in | 4 ++++
data/unity.desktop.in.in | 7 +++++++
data/unity.session.desktop.in.in | 4 ++++
data/wayland-sessions/meson.build | 1 +
meson_post_install.py | 6 +++---
po/POTFILES.in | 6 ++++++
po/POTFILES.skip | 6 ++++++
15 files changed, 105 insertions(+), 7 deletions(-)
create mode 100644 data/ubuntu-wayland.desktop.in.in
create mode 100644 data/ubuntu-xorg.desktop.in.in
create mode 100644 data/ubuntu.desktop.in.in
......@@ -80,18 +74,16 @@ index 7eec1de..d240f57 100644
Type=Application
DesktopNames=GNOME
diff --git a/data/meson.build b/data/meson.build
index d3134ad..9c6dc7c 100644
index f6d264f..07fe12a 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -4,6 +4,16 @@ desktops = [
@@ -4,6 +4,14 @@ desktops = [
desktop_plain,
'gnome-xorg',
'gnome-wayland',
+ 'ubuntu',
+ 'ubuntu-wayland',
+ 'ubuntu-xorg',
+ 'ubuntu-communitheme-snap',
+ 'ubuntu-communitheme-snap-xorg',
+ 'unity',
+]
+
......@@ -100,7 +92,7 @@ index d3134ad..9c6dc7c 100644
]
shell_component = {
@@ -31,6 +41,25 @@ required_components = {
@@ -31,6 +39,25 @@ required_components = {
],
}
......@@ -126,7 +118,7 @@ index d3134ad..9c6dc7c 100644
if enable_session_selector
desktops += 'gnome-custom-session'
endif
@@ -47,6 +76,7 @@ foreach name: desktops
@@ -47,6 +74,7 @@ foreach name: desktops
configuration: desktop_conf
)
......@@ -134,7 +126,7 @@ index d3134ad..9c6dc7c 100644
if name.endswith('-xorg')
install_dir = session_datadir / 'xsessions'
elif name.endswith('-wayland')
@@ -61,6 +91,7 @@ foreach name: desktops
@@ -61,6 +89,7 @@ foreach name: desktops
# join_paths(session_datadir, 'xsessions'),
# join_paths(session_datadir, 'wayland-sessions')
#]
......@@ -142,7 +134,7 @@ index d3134ad..9c6dc7c 100644
endif
desktop_target = i18n.merge_file(
@@ -72,11 +103,23 @@ foreach name: desktops
@@ -71,11 +100,23 @@ foreach name: desktops
install: true,
install_dir: install_dir
)
......@@ -167,34 +159,6 @@ index d3134ad..9c6dc7c 100644
]
foreach session: sessions
diff --git a/data/ubuntu-communitheme-snap-xorg.desktop.in.in b/data/ubuntu-communitheme-snap-xorg.desktop.in.in
new file mode 100644
index 0000000..58e256e
--- /dev/null
+++ b/data/ubuntu-communitheme-snap-xorg.desktop.in.in
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=Ubuntu with communitheme snap on Xorg
+Comment=This session logs you into Ubuntu
+Exec=env GNOME_SHELL_SESSION_MODE=ubuntu-communitheme /snap/communitheme/current/session
+TryExec=/snap/communitheme/current/session
+Type=Application
+DesktopNames=communitheme:ubuntu:GNOME
+X-GDM-SessionRegisters=true
diff --git a/data/ubuntu-communitheme-snap.desktop.in.in b/data/ubuntu-communitheme-snap.desktop.in.in
new file mode 100644
index 0000000..ad3b18b
--- /dev/null
+++ b/data/ubuntu-communitheme-snap.desktop.in.in
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=Ubuntu with communitheme snap
+Comment=This session logs you into Ubuntu
+Exec=env GNOME_SHELL_SESSION_MODE=ubuntu-communitheme /snap/communitheme/current/session
+TryExec=/snap/communitheme/current/session
+Type=Application
+DesktopNames=communitheme:ubuntu:GNOME
+X-GDM-SessionRegisters=true
diff --git a/data/ubuntu-wayland.desktop.in.in b/data/ubuntu-wayland.desktop.in.in
new file mode 100644
index 0000000..958d171
......@@ -289,7 +253,7 @@ index 0000000..8b13789
@@ -0,0 +1 @@
+
diff --git a/meson_post_install.py b/meson_post_install.py
index e2e352c..fb288a3 100644
index 27017f6..b77bedc 100644
--- a/meson_post_install.py
+++ b/meson_post_install.py
@@ -1,5 +1,6 @@
......@@ -309,18 +273,16 @@ index e2e352c..fb288a3 100644
+for i in glob.glob(os.path.join(dst_dir, '*.tmp-session')):
+ os.rename(i, i[:-len('.tmp-session')])
diff --git a/po/POTFILES.in b/po/POTFILES.in
index a1401e4..70baa1b 100644
index a1401e4..2483de2 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -8,6 +8,14 @@ data/gnome-wayland.desktop.in.in
@@ -8,6 +8,12 @@ data/gnome-wayland.desktop.in.in
data/gnome-xorg.desktop.in.in
data/org.gnome.SessionManager.gschema.xml.in
data/session-selector.ui
+data/ubuntu.desktop.in.in
+data/ubuntu-wayland.desktop.in.in
+data/ubuntu-xorg.desktop.in.in
+data/ubuntu-communitheme-snap.desktop.in.in
+data/ubuntu-communitheme-snap-xorg.desktop.in.in
+data/ubuntu.session.desktop.in.in
+data/unity.desktop.in.in
+data/unity.session.desktop.in.in
......@@ -328,18 +290,16 @@ index a1401e4..70baa1b 100644
gnome-session/gsm-manager.c
gnome-session/gsm-process-helper.c
diff --git a/po/POTFILES.skip b/po/POTFILES.skip
index d59455a..72173d3 100644
index d59455a..4d20abb 100644
--- a/po/POTFILES.skip
+++ b/po/POTFILES.skip
@@ -7,3 +7,11 @@ data/gnome-dummy.session.desktop.in
@@ -7,3 +7,9 @@ data/gnome-dummy.session.desktop.in
data/gnome.session.desktop.in
data/gnome-wayland.desktop.in
data/gnome-xorg.desktop.in
+data/ubuntu.desktop.in
+data/ubuntu-wayland.desktop.in
+data/ubuntu-xorg.desktop.in
+data/ubuntu-communitheme-snap.desktop.in
+data/ubuntu-communitheme-snap-wayland.desktop.in
+data/ubuntu.session.desktop.in
+data/unity.desktop.in
+data/unity.session.desktop.in
#!/usr/bin/make -f
include /usr/share/dpkg/default.mk
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_LDFLAGS_MAINT_APPEND = -Wl,-O1 -Wl,-z,defs -Wl,--as-needed
export DEB_LDFLAGS_MAINT_APPEND = -Wl,-O1 -Wl,-z,defs
GS_MAJOR_VERSION = $(shell echo $(DEB_VERSION_UPSTREAM) | sed 's/[~.].*//')
%:
dh $@ --with gnome
dh $@
ifeq (linux,$(DEB_HOST_ARCH_OS))
CONFFLAGS = -Dsystemd=true -Dsystemd_journal=true -Dsystemd_session=enable
CONFFLAGS = -Dsystemd=true -Dsystemd_journal=true -Dsystemd_session=default
else
CONFFLAGS = -Dsystemd=false -Dsystemd_journal=false -Dsystemd_session=disable
endif
......@@ -20,29 +24,16 @@ override_dh_auto_configure:
override_dh_install:
cd debian/tmp/usr/share; \
for f in wayland-sessions/*.desktop xsessions/*.desktop applications/*.desktop; do \
echo X-Ubuntu-Gettext-Domain=gnome-session-3.0 >> "$$f"; \
echo X-Ubuntu-Gettext-Domain=gnome-session-$(GS_MAJOR_VERSION) >> "$$f"; \
done
dh_install
dh_migrations
# workaround to allow extension theming override by communitheme
mkdir -p debian/communitheme-snap-session/usr/share/gnome-shell/extensions/ubuntu-dock@ubuntu.com/
touch debian/communitheme-snap-session/usr/share/gnome-shell/extensions/ubuntu-dock@ubuntu.com/ubuntu-communitheme.css
# workaround for XDG_DATA_DIRS being for gnome-shell, not Xorg itself, so cursor theme
# will never be able to be taken by it.
mkdir -p debian/communitheme-snap-session/usr/share/icons
ln -s /snap/communitheme/current/share/icons/communitheme debian/communitheme-snap-session/usr/share/icons/communitheme
override_dh_auto_build:
dh_auto_build
ninja -C obj-$(DEB_HOST_GNU_TYPE) gnome-session-40-pot
ninja -C obj-$(DEB_HOST_GNU_TYPE) gnome-session-$(GS_MAJOR_VERSION)-pot
override_dh_auto_clean:
dh_auto_clean
rm -f po/gnome-session-40.pot
override_dh_auto_install:
dh_auto_install
# Remove this when gdm3 and gnome-control-center have caught up
mkdir -p debian/tmp/usr/lib/gnome-session
( cd debian/tmp/usr/lib/gnome-session && ln -s ../../libexec/* . )
rm -f po/gnome-session-$(GS_MAJOR_VERSION).pot