diff options
Diffstat (limited to 'x11/gnome-shell/files')
-rw-r--r-- | x11/gnome-shell/files/org.freedesktop.ConsoleKit.Manager.xml | 42 | ||||
-rw-r--r-- | x11/gnome-shell/files/org.freedesktop.ConsoleKit.Session.xml | 18 | ||||
-rw-r--r-- | x11/gnome-shell/files/patch-data_00__org.gnome.shell.gschema.override | 9 | ||||
-rw-r--r-- | x11/gnome-shell/files/patch-js_gdm_loginDialog.js | 29 | ||||
-rw-r--r-- | x11/gnome-shell/files/patch-js_misc_loginManager.js | 127 | ||||
-rw-r--r-- | x11/gnome-shell/files/patch-js_misc_loginManager_js | 128 | ||||
-rw-r--r-- | x11/gnome-shell/files/patch-js_ui_appDisplay.js | 15 | ||||
-rw-r--r-- | x11/gnome-shell/files/patch-js_ui_appFavorites.js | 18 | ||||
-rw-r--r-- | x11/gnome-shell/files/patch-js_ui_endSessionDialog.js (renamed from x11/gnome-shell/files/patch-js_ui_endSessionDialog_js) | 16 | ||||
-rw-r--r-- | x11/gnome-shell/files/patch-meson.build | 13 | ||||
-rw-r--r-- | x11/gnome-shell/files/patch-subprojects_extensions-tool_man_meson_build | 15 | ||||
-rw-r--r-- | x11/gnome-shell/files/patch-subprojects_extensions-tool_src_meson.build | 14 | ||||
-rw-r--r-- | x11/gnome-shell/files/pkg-message.in | 29 | ||||
-rw-r--r-- | x11/gnome-shell/files/xprofile.in | 74 |
14 files changed, 366 insertions, 181 deletions
diff --git a/x11/gnome-shell/files/org.freedesktop.ConsoleKit.Manager.xml b/x11/gnome-shell/files/org.freedesktop.ConsoleKit.Manager.xml index bf6a73cf3c0f..aff663e3f53b 100644 --- a/x11/gnome-shell/files/org.freedesktop.ConsoleKit.Manager.xml +++ b/x11/gnome-shell/files/org.freedesktop.ConsoleKit.Manager.xml @@ -1,25 +1,27 @@ -<!-- $OpenBSD: org.freedesktop.ConsoleKit.Manager.xml,v 1.1 2019/01/17 19:00:46 ajacoutot Exp $ --> - <node> <interface name="org.freedesktop.ConsoleKit.Manager"> - <method name="Suspend"> - <arg type="b" direction="in"/> - </method> - <method name="CanSuspend"> - <arg type="s" direction="out"/> - </method> - <method name="Inhibit"> - <arg type="s" direction="in"/> - <arg type="s" direction="in"/> - <arg type="s" direction="in"/> - <arg type="s" direction="in"/> - <arg type="h" direction="out"/> - </method> - <signal name="PrepareForSleep"> - <arg type="b" direction="out"/> - </signal> - <method name="GetCurrentSession"> + <method name="Suspend"> + <arg type="b" direction="in"/> + </method> + <method name="CanSuspend"> + <arg type="s" direction="out"/> + </method> + <method name="Inhibit"> + <arg type="s" direction="in"/> + <arg type="s" direction="in"/> + <arg type="s" direction="in"/> + <arg type="s" direction="in"/> + <arg type="h" direction="out"/> + </method> + <method name="GetSessionForCookie"> + <arg type="s" direction="in"/> <arg type="o" direction="out"/> </method> - </interface> + <method name="ListSessions"> + <arg name="sessions" type="a(susso)" direction="out"/> + </method> + <signal name="PrepareForSleep"> + <arg type="b" direction="out"/> + </signal> + </interface> </node> diff --git a/x11/gnome-shell/files/org.freedesktop.ConsoleKit.Session.xml b/x11/gnome-shell/files/org.freedesktop.ConsoleKit.Session.xml index ffa38faf1326..d8325c124847 100644 --- a/x11/gnome-shell/files/org.freedesktop.ConsoleKit.Session.xml +++ b/x11/gnome-shell/files/org.freedesktop.ConsoleKit.Session.xml @@ -1,11 +1,13 @@ -<!-- $OpenBSD: org.freedesktop.ConsoleKit.Session.xml,v 1.1 2019/01/17 19:00:46 ajacoutot Exp $ --> - <node> <interface name="org.freedesktop.ConsoleKit.Session"> - <signal name="Lock" /> - <signal name="Unlock" /> - <method name="SetLockedHint"> - <arg type="b" direction="in"/> - </method> - </interface> + <signal name="Lock"/> + <signal name="Unlock"/> + <property name="active" type="b" access="read"/> + <property name="session-class" type="s" access="read"/> + <property name="session-state" type="s" access="read"/> + <property name="session-type" type="s" access="read"/> + <method name="SetLockedHint"> + <arg type="b" direction="in"/> + </method> + </interface> </node> diff --git a/x11/gnome-shell/files/patch-data_00__org.gnome.shell.gschema.override b/x11/gnome-shell/files/patch-data_00__org.gnome.shell.gschema.override new file mode 100644 index 000000000000..58a60be9d2a8 --- /dev/null +++ b/x11/gnome-shell/files/patch-data_00__org.gnome.shell.gschema.override @@ -0,0 +1,9 @@ +--- data/00_org.gnome.shell.gschema.override.orig 2023-04-24 08:26:56 UTC ++++ data/00_org.gnome.shell.gschema.override +@@ -4,3 +4,6 @@ edge-tiling=true + dynamic-workspaces=true + workspaces-only-on-primary=true + focus-change-on-pointer-rest=true ++ ++[org.gnome.shell] ++favorite-apps=['org.gnome.Settings.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.Music.desktop', 'org.gnome.Nautilus.desktop'] diff --git a/x11/gnome-shell/files/patch-js_gdm_loginDialog.js b/x11/gnome-shell/files/patch-js_gdm_loginDialog.js new file mode 100644 index 000000000000..8f15dfb64671 --- /dev/null +++ b/x11/gnome-shell/files/patch-js_gdm_loginDialog.js @@ -0,0 +1,29 @@ +--- js/gdm/loginDialog.js.orig 2025-04-13 15:04:25 UTC ++++ js/gdm/loginDialog.js +@@ -46,6 +46,10 @@ const _CONFLICTING_SESSION_DIALOG_TIMEOUT = 60; + const _TIMED_LOGIN_IDLE_THRESHOLD = 5.0; + const _CONFLICTING_SESSION_DIALOG_TIMEOUT = 60; + ++function haveSystemd() { ++ return GLib.access('/run/systemd/seats', 0) >= 0; ++} ++ + export const UserListItem = GObject.registerClass({ + Signals: {'activate': {}}, + }, class UserListItem extends St.Button { +@@ -1142,6 +1146,7 @@ export const LoginDialog = GObject.registerClass({ + } + + async _findConflictingSession(startingSessionId) { ++ if (haveSystemd()) { + const loginManager = LoginManager.getLoginManager(); + const sessions = await loginManager.listSessions(); + const [, , startingSessionOwner, ,] = sessions.find(([id, , , ,]) => id === startingSessionId); +@@ -1161,6 +1166,7 @@ export const LoginDialog = GObject.registerClass({ + continue; + + return sessionProxy; ++ } + } + + return null; diff --git a/x11/gnome-shell/files/patch-js_misc_loginManager.js b/x11/gnome-shell/files/patch-js_misc_loginManager.js new file mode 100644 index 000000000000..31b6e146855e --- /dev/null +++ b/x11/gnome-shell/files/patch-js_misc_loginManager.js @@ -0,0 +1,127 @@ +--- js/misc/loginManager.js.orig 2025-04-13 15:04:25 UTC ++++ js/misc/loginManager.js +@@ -13,6 +13,12 @@ const SystemdLoginUser = Gio.DBusProxy.makeProxyWrappe + const SystemdLoginSession = Gio.DBusProxy.makeProxyWrapper(SystemdLoginSessionIface); + const SystemdLoginUser = Gio.DBusProxy.makeProxyWrapper(SystemdLoginUserIface); + ++const ConsoleKitManagerIface = loadInterfaceXML('org.freedesktop.ConsoleKit.Manager'); ++const ConsoleKitSessionIface = loadInterfaceXML('org.freedesktop.ConsoleKit.Session'); ++const ConsoleKitManager = Gio.DBusProxy.makeProxyWrapper(ConsoleKitManagerIface); ++const ConsoleKitSession = Gio.DBusProxy.makeProxyWrapper(ConsoleKitSessionIface); ++ ++ + function haveSystemd() { + return GLib.access('/run/systemd/seats', 0) >= 0; + } +@@ -46,7 +52,7 @@ export function canLock() { + -1, null); + + let version = result.deepUnpack()[0].deepUnpack(); +- return haveSystemd() && versionCompare('3.5.91', version); ++ return versionCompare('3.5.91', version); + } catch { + return false; + } +@@ -82,12 +88,84 @@ export function getLoginManager() { + if (haveSystemd()) + _loginManager = new LoginManagerSystemd(); + else +- _loginManager = new LoginManagerDummy(); ++ _loginManager = new LoginManagerConsoleKit(); + } + + return _loginManager; + } + ++class LoginManagerConsoleKit extends Signals.EventEmitter { ++ constructor() { ++ super(); ++ ++ this._proxy = new ConsoleKitManager(Gio.DBus.system, ++ 'org.freedesktop.ConsoleKit', ++ '/org/freedesktop/ConsoleKit/Manager'); ++ this._proxy.connectSignal('PrepareForSleep', ++ this._prepareForSleep.bind(this)); ++ } ++ ++ async getCurrentSessionProxy() { ++ if (this._currentSession) ++ return this._currentSession; ++ ++ try { ++ const [objectPath] = await this._proxy.GetCurrentSessionAsync(); ++ this._currentSession = new ConsoleKitSession(Gio.DBus.system, ++ 'org.freedesktop.ConsoleKit', objectPath); ++ return this._currentSession; ++ } catch (error) { ++ logError(error, 'Could not get a proxy for the current session'); ++ return null; ++ } ++ } ++ ++ async canSuspend() { ++ let canSuspend, needsAuth; ++ ++ try { ++ const [result] = await this._proxy.CanSuspendAsync(); ++ needsAuth = result === 'challenge'; ++ canSuspend = needsAuth || result === 'yes'; ++ } catch { ++ canSuspend = false; ++ needsAuth = false; ++ } ++ return {canSuspend, needsAuth}; ++ } ++ ++ async listSessions() { ++ try { ++ const [sessions] = await this._proxy.ListSessionsAsync(); ++ return sessions; ++ } catch { ++ return []; ++ } ++ } ++ ++ getSession(objectPath) { ++ return new ConsoleKitSession(Gio.DBus.system, 'org.freedesktop.ConsoleKit', objectPath); ++ } ++ ++ suspend() { ++ this._proxy.SuspendAsync(true); ++ } ++ ++ async inhibit(reason, cancellable) { ++ const inVariant = new GLib.Variant('(ssss)', ++ ['sleep', 'GNOME Shell', reason, 'delay']); ++ const [outVariant_, fdList] = ++ await this._proxy.call_with_unix_fd_list('Inhibit', ++ inVariant, 0, -1, null, cancellable); ++ const [fd] = fdList.steal_fds(); ++ return new GioUnix.InputStream({fd}); ++ } ++ ++ _prepareForSleep(proxy, sender, [aboutToSuspend]) { ++ this.emit('prepare-for-sleep', aboutToSuspend); ++ } ++} ++ + class LoginManagerSystemd extends Signals.EventEmitter { + constructor() { + super(); +@@ -230,16 +308,6 @@ class LoginManagerDummy extends Signals.EventEmitter + canSuspend: false, + needsAuth: false, + })); +- } +- +- canRebootToBootLoaderMenu() { +- return new Promise(resolve => resolve({ +- canRebootToBootLoaderMenu: false, +- needsAuth: false, +- })); +- } +- +- setRebootToBootLoaderMenu() { + } + + listSessions() { diff --git a/x11/gnome-shell/files/patch-js_misc_loginManager_js b/x11/gnome-shell/files/patch-js_misc_loginManager_js deleted file mode 100644 index 7f82bd3ee259..000000000000 --- a/x11/gnome-shell/files/patch-js_misc_loginManager_js +++ /dev/null @@ -1,128 +0,0 @@ -Index: js/misc/loginManager.js ---- js/misc/loginManager.js.orig -+++ js/misc/loginManager.js -@@ -14,6 +14,12 @@ const SystemdLoginManager = Gio.DBusProxy.makeProxyWra - const SystemdLoginSession = Gio.DBusProxy.makeProxyWrapper(SystemdLoginSessionIface); - const SystemdLoginUser = Gio.DBusProxy.makeProxyWrapper(SystemdLoginUserIface); - -+const ConsoleKitManagerIface = loadInterfaceXML('org.freedesktop.ConsoleKit.Manager'); -+const ConsoleKitSessionIface = loadInterfaceXML('org.freedesktop.ConsoleKit.Session'); -+ -+const ConsoleKitManager = Gio.DBusProxy.makeProxyWrapper(ConsoleKitManagerIface); -+const ConsoleKitSession = Gio.DBusProxy.makeProxyWrapper(ConsoleKitSessionIface); -+ - function haveSystemd() { - return GLib.access("/run/systemd/seats", 0) >= 0; - } -@@ -43,7 +49,7 @@ function canLock() { - -1, null); - - let version = result.deep_unpack()[0].deep_unpack(); -- return haveSystemd() && versionCompare('3.5.91', version); -+ return versionCompare('3.5.91', version); - } catch (e) { - return false; - } -@@ -81,7 +87,7 @@ function getLoginManager() { - if (haveSystemd()) - _loginManager = new LoginManagerSystemd(); - else -- _loginManager = new LoginManagerDummy(); -+ _loginManager = new LoginManagerConsoleKit(); - } - - return _loginManager; -@@ -204,6 +210,79 @@ var LoginManagerSystemd = class { - }; - Signals.addSignalMethods(LoginManagerSystemd.prototype); - -+var LoginManagerConsoleKit = class { -+ constructor () { -+ this._proxy = new ConsoleKitManager(Gio.DBus.system, -+ 'org.freedesktop.ConsoleKit', -+ '/org/freedesktop/ConsoleKit/Manager'); -+ this._proxy.connectSignal('PrepareForSleep', -+ this._prepareForSleep.bind(this)); -+ } -+ -+ // Having this function is a bit of a hack since the Systemd and ConsoleKit -+ // session objects have different interfaces - but in both cases there are -+ // Lock/Unlock signals, and that's all we count upon at the moment. -+ -+ -+ getCurrentSessionProxy(callback) { -+ if (this._currentSession) { -+ callback (this._currentSession); -+ return; -+ } -+ -+ this._proxy.GetCurrentSessionRemote((result, error) => { -+ if (error) { -+ logError(error, 'Could not get a proxy for the current session'); -+ } else { -+ this._currentSession = new ConsoleKitSession(Gio.DBus.system, -+ 'org.freedesktop.ConsoleKit', -+ result[0]); -+ callback(this._currentSession); -+ } -+ }); -+ } -+ -+ canSuspend(asyncCallback) { -+ this._proxy.CanSuspendRemote((result, error) => { -+ if (error) { -+ asyncCallback(false, false); -+ } else { -+ let needsAuth = result[0] == 'challenge'; -+ let canSuspend = needsAuth || result[0] == 'yes'; -+ asyncCallback(canSuspend, needsAuth); -+ } -+ }); -+ } -+ -+ listSessions(asyncCallback) { -+ asyncCallback([]); -+ } -+ -+ suspend() { -+ this._proxy.SuspendRemote(true); -+ } -+ -+ async inhibit(reason, callback) { -+ try { -+ const inVariant = new GLib.Variant('(ssss)', -+ ['sleep', 'GNOME Shell', reason, 'delay']); -+ const [outVariant_, fdList] = -+ await this._proxy.call_with_unix_fd_list('Inhibit', -+ inVariant, 0, -1, null, null); -+ const [fd] = fdList.steal_fds(); -+ callback(new Gio.UnixInputStream({ fd })); -+ } catch (e) { -+ logError(e, 'Error getting ConsoleKit inhibitor'); -+ callback(null); -+ } -+ } -+ -+ _prepareForSleep(proxy, sender, [aboutToSuspend]) { -+ this.emit('prepare-for-sleep', aboutToSuspend); -+ } -+} -+Signals.addSignalMethods(LoginManagerConsoleKit.prototype); -+ - var LoginManagerDummy = class { - getCurrentSessionProxy(_callback) { - // we could return a DummySession object that fakes whatever callers -@@ -213,13 +292,6 @@ var LoginManagerDummy = class { - - canSuspend(asyncCallback) { - asyncCallback(false, false); -- } -- -- canRebootToBootLoaderMenu(asyncCallback) { -- asyncCallback(false, false); -- } -- -- setRebootToBootLoaderMenu() { - } - - listSessions(asyncCallback) { diff --git a/x11/gnome-shell/files/patch-js_ui_appDisplay.js b/x11/gnome-shell/files/patch-js_ui_appDisplay.js new file mode 100644 index 000000000000..45110063e28f --- /dev/null +++ b/x11/gnome-shell/files/patch-js_ui_appDisplay.js @@ -0,0 +1,15 @@ +--- js/ui/appDisplay.js.orig 2024-11-23 22:49:36 UTC ++++ js/ui/appDisplay.js +@@ -62,12 +62,8 @@ const DEFAULT_FOLDERS = { + name: 'X-GNOME-Utilities.directory', + categories: ['X-GNOME-Utilities'], + apps: [ +- 'org.freedesktop.GnomeAbrt.desktop', +- 'nm-connection-editor.desktop', + 'org.gnome.baobab.desktop', + 'org.gnome.Connections.desktop', +- 'org.gnome.DejaDup.desktop', +- 'org.gnome.DiskUtility.desktop', + 'org.gnome.Evince.desktop', + 'org.gnome.FileRoller.desktop', + 'org.gnome.font-viewer.desktop', diff --git a/x11/gnome-shell/files/patch-js_ui_appFavorites.js b/x11/gnome-shell/files/patch-js_ui_appFavorites.js new file mode 100644 index 000000000000..1ea5b8b017e8 --- /dev/null +++ b/x11/gnome-shell/files/patch-js_ui_appFavorites.js @@ -0,0 +1,18 @@ +--- js/ui/appFavorites.js.orig 2024-11-23 22:49:36 UTC ++++ js/ui/appFavorites.js +@@ -26,7 +26,6 @@ const RENAMED_DESKTOP_IDS = { + 'gnect.desktop': 'org.gnome.Four-in-a-row.desktop', + 'gnibbles.desktop': 'org.gnome.Nibbles.desktop', + 'gnobots2.desktop': 'org.gnome.Robots.desktop', +- 'gnome-boxes.desktop': 'org.gnome.Boxes.desktop', + 'gnome-calculator.desktop': 'org.gnome.Calculator.desktop', + 'gnome-chess.desktop': 'org.gnome.Chess.desktop', + 'gnome-clocks.desktop': 'org.gnome.clocks.desktop', +@@ -41,7 +40,6 @@ const RENAMED_DESKTOP_IDS = { + 'gnome-photos.desktop': 'org.gnome.Photos.desktop', + 'gnome-robots.desktop': 'org.gnome.Robots.desktop', + 'gnome-screenshot.desktop': 'org.gnome.Screenshot.desktop', +- 'gnome-software.desktop': 'org.gnome.Software.desktop', + 'gnome-terminal.desktop': 'org.gnome.Terminal.desktop', + 'gnome-tetravex.desktop': 'org.gnome.Tetravex.desktop', + 'gnome-tweaks.desktop': 'org.gnome.tweaks.desktop', diff --git a/x11/gnome-shell/files/patch-js_ui_endSessionDialog_js b/x11/gnome-shell/files/patch-js_ui_endSessionDialog.js index f20ed3e02214..94b8450f16e6 100644 --- a/x11/gnome-shell/files/patch-js_ui_endSessionDialog_js +++ b/x11/gnome-shell/files/patch-js_ui_endSessionDialog.js @@ -1,19 +1,15 @@ -Index: js/ui/endSessionDialog.js ---- js/ui/endSessionDialog.js.orig +--- js/ui/endSessionDialog.js.orig 2025-04-13 15:04:25 UTC +++ js/ui/endSessionDialog.js -@@ -234,11 +234,6 @@ class EndSessionDialog extends ModalDialog.ModalDialog +@@ -233,8 +233,6 @@ class EndSessionDialog extends ModalDialog.ModalDialog }); this._loginManager = LoginManager.getLoginManager(); -- this._loginManager.canRebootToBootLoaderMenu( -- (canRebootToBootLoaderMenu, unusedNeedsAuth) => { -- this._canRebootToBootLoaderMenu = canRebootToBootLoaderMenu; -- }); -- +- this._canRebootToBootLoaderMenu = false; +- this._getCanRebootToBootLoaderMenu().catch(logError); + this._userManager = AccountsService.UserManager.get_default(); this._user = this._userManager.get_user(GLib.get_user_name()); - this._updatesPermission = null; -@@ -452,24 +447,6 @@ class EndSessionDialog extends ModalDialog.ModalDialog +@@ -452,24 +450,6 @@ class EndSessionDialog extends ModalDialog.ModalDialog }, label, }); diff --git a/x11/gnome-shell/files/patch-meson.build b/x11/gnome-shell/files/patch-meson.build new file mode 100644 index 000000000000..80da036290d5 --- /dev/null +++ b/x11/gnome-shell/files/patch-meson.build @@ -0,0 +1,13 @@ +--- meson.build.orig 2023-04-24 08:26:56 UTC ++++ meson.build +@@ -148,8 +148,10 @@ cdata.set('HAVE_FDWALK', cc.has_function('fdwalk')) + cdata.set('HAVE_MALLINFO', cc.has_function('mallinfo')) + cdata.set('HAVE_MALLINFO2', cc.has_function('mallinfo2')) + cdata.set('HAVE_SYS_RESOURCE_H', cc.has_header('sys/resource.h')) ++if host_machine.system() == 'linux' + cdata.set('HAVE_EXE_INTROSPECTION', + cc.has_header('elf.h') and cc.has_header('link.h')) ++endif + cdata.set('HAVE__NL_TIME_FIRST_WEEKDAY', + cc.has_header_symbol('langinfo.h', '_NL_TIME_FIRST_WEEKDAY') + ) diff --git a/x11/gnome-shell/files/patch-subprojects_extensions-tool_man_meson_build b/x11/gnome-shell/files/patch-subprojects_extensions-tool_man_meson_build deleted file mode 100644 index 109d8cb69555..000000000000 --- a/x11/gnome-shell/files/patch-subprojects_extensions-tool_man_meson_build +++ /dev/null @@ -1,15 +0,0 @@ -https://gitlab.gnome.org/GNOME/gnome-shell/issues/1854 - -Index: subprojects/extensions-tool/man/meson.build ---- subprojects/extensions-tool/man/meson.build.orig -+++ subprojects/extensions-tool/man/meson.build -@@ -1,7 +1,7 @@ - custom_target('gnome-extensions.1', -- input: ['gnome-extensions.txt', 'stylesheet.xsl'], -+ input: 'gnome-extensions.txt', - output: 'gnome-extensions.1', -- command: [a2x, '-D', '@OUTDIR@', '--xsl-file', '@INPUT1@', '-f', 'manpage', '@INPUT0@'], -+ command: [a2x, '-D', '@OUTDIR@', '-f', 'manpage', '@INPUT0@'], - install_dir: mandir + '/man1', - install: true - ) diff --git a/x11/gnome-shell/files/patch-subprojects_extensions-tool_src_meson.build b/x11/gnome-shell/files/patch-subprojects_extensions-tool_src_meson.build new file mode 100644 index 000000000000..0e27d7bd84a4 --- /dev/null +++ b/x11/gnome-shell/files/patch-subprojects_extensions-tool_src_meson.build @@ -0,0 +1,14 @@ +--- subprojects/extensions-tool/src/meson.build.orig 2023-04-24 08:26:56 UTC ++++ subprojects/extensions-tool/src/meson.build +@@ -3,7 +3,10 @@ config_h.set_quoted('GETTEXT_PACKAGE', package_name) + config_h.set_quoted('VERSION', meson.project_version()) + config_h.set('MAJOR_VERSION', meson.project_version().split('.')[0]) + config_h.set_quoted('LOCALEDIR', localedir) +-config_h.set('HAVE_BIND_TEXTDOMAIN_CODESET', cc.has_function('bind_textdomain_codeset')) ++intl_dep = cc.find_library('intl', required: false) ++if cc.has_function('bind_textdomain_codeset', prefix: '#include <libintl.h>', dependencies: intl_dep) ++ config_h.set('HAVE_BIND_TEXTDOMAIN_CODESET', 1) ++endif + configure_file( + output: 'config.h', + configuration: config_h, diff --git a/x11/gnome-shell/files/pkg-message.in b/x11/gnome-shell/files/pkg-message.in new file mode 100644 index 000000000000..6d532111e578 --- /dev/null +++ b/x11/gnome-shell/files/pkg-message.in @@ -0,0 +1,29 @@ +[ +{ type: install + message: <<EOM +Gnome-shell requires acceleration of to work. For this a nvidia card +with the nvidia-driver, or a Intel/ATI KMS enabled card is needed. + +For the nvidia users no other changes are needed. For Intel/ATI KMS +driver the user needs to have read/write permissions on +/dev/dri/cardN (usually N=0). If gnome-shell is launched from gdm, the +gdm user also needs this access. + +Access can be granted by adding the user(s) to the video group. + pw groupmod video -m jerry + +In order to launch your session. Copy 'xprofile' into your home directory: + cp %%EXAMPLESDIR%%/xprofile ~/.xprofile + +Create or edit /var/db/AccountsService/users/YOURLOGIN file: + [User] + Language=fr_FR.UTF-8 # e.g. for French users + Session=gnome-xorg + SystemAccount=false + +Replace YOURLOGIN by your login. + +Currently only 'gnome-xorg' is supported and tested. +EOM +} +] diff --git a/x11/gnome-shell/files/xprofile.in b/x11/gnome-shell/files/xprofile.in new file mode 100644 index 000000000000..00c1ed131e99 --- /dev/null +++ b/x11/gnome-shell/files/xprofile.in @@ -0,0 +1,74 @@ +#!/bin/sh + +# Set $XDG_RUNTIME_DIR +_user_id=$(id -u) +if [ -d "/var/run/user/${_user_id}" ]; then + XDG_RUNTIME_DIR="/var/run/user/${_user_id}" + export XDG_RUNTIME_DIR + + if [ ! -d "/var/run/user/${_user_id}" ]; then + mkdir "/var/run/user/${_user_id}/pulse" + fi +fi + +# Set environment variables for D-Bus session services +if command -v dbus-update-activation-environment >/dev/null 2>&1 ; then + dbus-update-activation-environment --all +fi + +# Set $XDG_CONFIG_DIRS +if test "x$XDG_CONFIG_DIRS" = "x" ; then + XDG_CONFIG_DIRS="%%PREFIX%%/etc/xdg:/etc/xdg" +fi +export XDG_CONFIG_DIRS + +# Set $XDG_DATA_DIRS +if test "x$XDG_DATA_DIRS" = "x" ; then + XDG_DATA_DIRS="%%PREFIX%%/share/gnome:%%PREFIX%%/share:/usr/share" +fi +export XDG_DATA_DIRS + +# $XDG_CONFIG_HOME defines the base directory relative to which user-specific +# configuration files should be stored. If $XDG_CONFIG_HOME is either not set +# or empty, a default equal to $HOME/.config should be used. +if test "x$XDG_CONFIG_HOME" = "x" ; then + XDG_CONFIG_HOME=$HOME/.config +fi +[ -d "$XDG_CONFIG_HOME" ] || mkdir "$XDG_CONFIG_HOME" + +# $XDG_CACHE_HOME defines the base directory relative to which user-specific +# non-essential data files should be stored. If $XDG_CACHE_HOME is either not +# set or empty, a default equal to $HOME/.cache should be used. +if test "x$XDG_CACHE_HOME" = "x" ; then + XDG_CACHE_HOME=$HOME/.cache +fi +[ -d "$XDG_CACHE_HOME" ] || mkdir "$XDG_CACHE_HOME" + +# $XDG_DATA_HOME defines the base directory relative to which user-specific +# data files should be stored. +if test "x$XDG_DATA_HOME" = "x" ; then + XDG_DATA_HOME=$HOME/.local/share +fi +[ -d "$XDG_DATA_HOME" ] || mkdir -p "$XDG_DATA_HOME" + +# $XDG_STATE_HOME defines the base directory relative to which user-specific +# state files should be stored. +if test "x$XDG_STATE_HOME" = "x" ; then + XDG_STATE_HOME=$HOME/.local/state +fi +[ -d "$XDG_STATE_HOME" ] || mkdir -p "$XDG_STATE_HOME" + +# Unlock gnome-keyring-daemon +if test -n "$DESKTOP_SESSION" ; then + SSH_AUTH_SOCK="/var/run/user/${_user_id}/keyring/ssh" + + # If .xinitrc is used, uncomment the next line + #eval $(gnome-keyring-daemon --start --components=pkc11,secrets,ssh) + export SSH_AUTH_SOCK +fi + +# Set up XDG user directories (devel/xdg-user-dirs) +# https://freedesktop.org/wiki/Software/xdg-user-dirs +if command -v xdg-user-dirs-update >/dev/null 2>&1 ; then + xdg-user-dirs-update +fi |