first commit
This commit is contained in:
parent
e9062a564c
commit
f8fb05fbbb
40
.github/workflows/release.yml
vendored
Normal file
40
.github/workflows/release.yml
vendored
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
name: PikaOS Package Release
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: self-hosted
|
||||||
|
container:
|
||||||
|
image: ubuntu:22.10
|
||||||
|
volumes:
|
||||||
|
- /proc:/proc
|
||||||
|
options: --privileged -it
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Install needed packages
|
||||||
|
run: apt update && apt install software-properties-common sudo git bc gpg gpg-agent bison build-essential ccache cpio fakeroot flex git kmod libelf-dev libncurses5-dev libssl-dev lz4 qtbase5-dev rsync schedtool wget zstd tar reprepro dpkg-sig devscripts dh-make -y
|
||||||
|
|
||||||
|
- name: Import GPG key
|
||||||
|
id: import_gpg
|
||||||
|
uses: crazy-max/ghaction-import-gpg@v5
|
||||||
|
with:
|
||||||
|
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
|
||||||
|
passphrase: ${{ secrets.PASSPHRASE }}
|
||||||
|
|
||||||
|
- name: Install SSH key
|
||||||
|
uses: shimataro/ssh-key-action@v2
|
||||||
|
with:
|
||||||
|
key: ${{ secrets.SSH_KEY }}
|
||||||
|
name: id_rsa
|
||||||
|
known_hosts: ${{ secrets.KNOWN_HOSTS }}
|
||||||
|
if_key_exists: replace
|
||||||
|
|
||||||
|
- name: Build Package
|
||||||
|
run: ./main.sh
|
||||||
|
|
||||||
|
- name: Release Package
|
||||||
|
run: ./release.sh
|
@ -1,3 +1,9 @@
|
|||||||
|
gnome-shell-vrr (43.1-99pika5) kinetic; urgency=medium
|
||||||
|
|
||||||
|
* Sync with ubuntu
|
||||||
|
|
||||||
|
-- Ward Nakchbandi <hotrod.master@hotmail.com> Fri, 07 Oct 2022 23:26:00 +0300
|
||||||
|
|
||||||
gnome-shell-vrr (43.0-99pika5) kinetic; urgency=medium
|
gnome-shell-vrr (43.0-99pika5) kinetic; urgency=medium
|
||||||
|
|
||||||
* Fix gschema.
|
* Fix gschema.
|
48
debian/patches/dbusService-screencast-Hold-during-gstreamer-checks.patch
vendored
Normal file
48
debian/patches/dbusService-screencast-Hold-during-gstreamer-checks.patch
vendored
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
From: =?utf-8?q?Florian_M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
|
Date: Sun, 6 Nov 2022 11:56:41 +0100
|
||||||
|
Subject: dbusService/screencast: Hold during gstreamer checks
|
||||||
|
|
||||||
|
Some gstreamer plugins require a connection to the display server,
|
||||||
|
so they block until the server is up and running. That's why we
|
||||||
|
moved the check into the D-Bus service, so that the blocking would
|
||||||
|
not lock up the compositor itself.
|
||||||
|
|
||||||
|
However the block can still delay the service initialization so
|
||||||
|
much that auto-shutdown hits immediately when returning from the
|
||||||
|
constructor. If that happens, the proxy on the shell side is no
|
||||||
|
longer backed by a remote object when the init callback runs, and
|
||||||
|
all properties therefore resolve as `null`.
|
||||||
|
|
||||||
|
As a result, gnome-shell thinks that screencasts aren't supported
|
||||||
|
and hides the screencast button.
|
||||||
|
|
||||||
|
Fix this by holding the service during the gstreamer checks, so
|
||||||
|
that the auto-shutdown timeout only starts after the service is
|
||||||
|
ready.
|
||||||
|
|
||||||
|
Bug: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6051
|
||||||
|
Origin: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2533
|
||||||
|
Applied-upstream: 43.2, commit:f9ac8890d0a714c7cb44005def66fb5d0d15f6e4
|
||||||
|
---
|
||||||
|
js/dbusServices/screencast/screencastService.js | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/js/dbusServices/screencast/screencastService.js b/js/dbusServices/screencast/screencastService.js
|
||||||
|
index f7f36da..a2bb23c 100644
|
||||||
|
--- a/js/dbusServices/screencast/screencastService.js
|
||||||
|
+++ b/js/dbusServices/screencast/screencastService.js
|
||||||
|
@@ -271,11 +271,14 @@ var ScreencastService = class extends ServiceImplementation {
|
||||||
|
constructor() {
|
||||||
|
super(ScreencastIface, '/org/gnome/Shell/Screencast');
|
||||||
|
|
||||||
|
+ this.hold(); // gstreamer initializing can take a bit
|
||||||
|
this._canScreencast = ScreencastService.canScreencast();
|
||||||
|
|
||||||
|
Gst.init(null);
|
||||||
|
Gtk.init();
|
||||||
|
|
||||||
|
+ this.release();
|
||||||
|
+
|
||||||
|
this._recorders = new Map();
|
||||||
|
this._senders = new Map();
|
||||||
|
|
30
debian/patches/inhibitShorcutsDialog-Fix-permission-check.patch
vendored
Normal file
30
debian/patches/inhibitShorcutsDialog-Fix-permission-check.patch
vendored
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
From: =?utf-8?q?Florian_M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
|
Date: Fri, 18 Nov 2022 22:40:31 +0100
|
||||||
|
Subject: inhibitShorcutsDialog: Fix permission check
|
||||||
|
|
||||||
|
Each permission entry is an array of strings, so checking that against
|
||||||
|
the expected string itself will always fail.
|
||||||
|
|
||||||
|
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6107
|
||||||
|
|
||||||
|
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2548>
|
||||||
|
|
||||||
|
(cherry picked from commit b0befbbfbbe4a335f6c184049743202e91fcdfe8)
|
||||||
|
(cherry picked from commit a2cd818c8c4d6a81d565099b01920b8815dea355)
|
||||||
|
---
|
||||||
|
js/ui/inhibitShortcutsDialog.js | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/js/ui/inhibitShortcutsDialog.js b/js/ui/inhibitShortcutsDialog.js
|
||||||
|
index b6f1330..7c3d159 100644
|
||||||
|
--- a/js/ui/inhibitShortcutsDialog.js
|
||||||
|
+++ b/js/ui/inhibitShortcutsDialog.js
|
||||||
|
@@ -143,7 +143,7 @@ var InhibitShortcutsDialog = GObject.registerClass({
|
||||||
|
|
||||||
|
if (permissions[appId] === undefined) // Not found
|
||||||
|
this._dialog.open();
|
||||||
|
- else if (permissions[appId] === GRANTED)
|
||||||
|
+ else if (permissions[appId][0] === GRANTED)
|
||||||
|
this._emitResponse(DialogResponse.ALLOW);
|
||||||
|
else
|
||||||
|
this._emitResponse(DialogResponse.DENY);
|
47
debian/patches/screenshot-Cache-ScreencastSupported-property.patch
vendored
Normal file
47
debian/patches/screenshot-Cache-ScreencastSupported-property.patch
vendored
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
From: =?utf-8?q?Florian_M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
|
Date: Sun, 6 Nov 2022 13:06:44 +0100
|
||||||
|
Subject: screenshot: Cache ScreencastSupported property
|
||||||
|
|
||||||
|
The screencast service shuts down when not in use, so it is almost
|
||||||
|
certainly not running when handling the screencast shortcut.
|
||||||
|
|
||||||
|
Instead of making sure the service is restarted, just cache the
|
||||||
|
property when initializing the proxy.
|
||||||
|
|
||||||
|
Origin: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2533
|
||||||
|
Applied-upstream: 43.2, commit:b23de7f5309dcff34b2245d3797bb39381dff60c
|
||||||
|
---
|
||||||
|
js/ui/screenshot.js | 6 ++++--
|
||||||
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/js/ui/screenshot.js b/js/ui/screenshot.js
|
||||||
|
index a01fbe3..b2ea6fa 100644
|
||||||
|
--- a/js/ui/screenshot.js
|
||||||
|
+++ b/js/ui/screenshot.js
|
||||||
|
@@ -1017,6 +1017,7 @@ var ScreenshotUI = GObject.registerClass({
|
||||||
|
});
|
||||||
|
|
||||||
|
this._screencastInProgress = false;
|
||||||
|
+ this._screencastSupported = false;
|
||||||
|
|
||||||
|
this._screencastProxy = new ScreencastProxy(
|
||||||
|
Gio.DBus.session,
|
||||||
|
@@ -1028,7 +1029,8 @@ var ScreenshotUI = GObject.registerClass({
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
- this._castButton.visible = this._screencastProxy.ScreencastSupported;
|
||||||
|
+ this._screencastSupported = this._screencastProxy.ScreencastSupported;
|
||||||
|
+ this._castButton.visible = this._screencastSupported;
|
||||||
|
});
|
||||||
|
|
||||||
|
this._lockdownSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.lockdown' });
|
||||||
|
@@ -1450,7 +1452,7 @@ var ScreenshotUI = GObject.registerClass({
|
||||||
|
if (this._screencastInProgress)
|
||||||
|
return;
|
||||||
|
|
||||||
|
- if (mode === UIMode.SCREENCAST && !this._screencastProxy.ScreencastSupported)
|
||||||
|
+ if (mode === UIMode.SCREENCAST && !this._screencastSupported)
|
||||||
|
return;
|
||||||
|
|
||||||
|
this._castButton.checked = mode === UIMode.SCREENCAST;
|
@ -1,4 +1,6 @@
|
|||||||
gdm-util-Only-start-fingerprint-service-synchronously-whe.patch
|
gdm-util-Only-start-fingerprint-service-synchronously-whe.patch
|
||||||
|
dbusService-screencast-Hold-during-gstreamer-checks.patch
|
||||||
|
screenshot-Cache-ScreencastSupported-property.patch
|
||||||
debian/gnome-shell-extension-prefs-Give-Debian-specific-advice.patch
|
debian/gnome-shell-extension-prefs-Give-Debian-specific-advice.patch
|
||||||
Revert-build-Port-to-gcr4.patch
|
Revert-build-Port-to-gcr4.patch
|
||||||
ubuntu/desktop_detect.patch
|
ubuntu/desktop_detect.patch
|
||||||
@ -24,8 +26,4 @@ ubuntu/sessionMode-Add-support-for-configuring-an-icons-resource.patch
|
|||||||
ubuntu/main-Support-loading-multiple-Yaru-theme-variants.patch
|
ubuntu/main-Support-loading-multiple-Yaru-theme-variants.patch
|
||||||
ubuntu/Revert-dash-Use-pin-instead-of-favorites.patch
|
ubuntu/Revert-dash-Use-pin-instead-of-favorites.patch
|
||||||
ubuntu/darkMode-Add-support-to-Yaru-theme-color-variants.patch
|
ubuntu/darkMode-Add-support-to-Yaru-theme-color-variants.patch
|
||||||
config-Assume-screen-recording-is-always-available.patch
|
inhibitShorcutsDialog-Fix-permission-check.patch
|
||||||
status-Use-fixed-sorting-of-input-sources-on-empty-MRU.patch
|
|
||||||
bluetooth-Show-the-Bluetooth-switch-in-more-cases.patch
|
|
||||||
status-volume-Include-origin-in-device-names.patch
|
|
||||||
inhibitShortcutsDialog-Don-t-override-resource.patch
|
|
@ -1,62 +0,0 @@
|
|||||||
From: Bastien Nocera <hadess@hadess.net>
|
|
||||||
Date: Thu, 15 Sep 2022 18:03:22 +0200
|
|
||||||
Subject: bluetooth: Show the Bluetooth switch in more cases
|
|
||||||
|
|
||||||
In older versions of GNOME, when a menu was used for Bluetooth devices,
|
|
||||||
we tried to avoid showing the Bluetooth menu to folks who didn't use
|
|
||||||
Bluetooth.
|
|
||||||
|
|
||||||
This kept causing problems as the menu would disappear if no
|
|
||||||
devices were setup and the platform "airplane mode" removed the
|
|
||||||
Bluetooth device from the USB bus, making it impossible to detect
|
|
||||||
whether a Bluetooth device existed, compared to a user unplugging a
|
|
||||||
removable Bluetooth device.
|
|
||||||
|
|
||||||
Closes: #5749
|
|
||||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2488>
|
|
||||||
(cherry picked from commit 57aa91e2b3f129ff12c6f87146096708e9ac2867)
|
|
||||||
---
|
|
||||||
js/ui/status/bluetooth.js | 13 +++++++------
|
|
||||||
1 file changed, 7 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/js/ui/status/bluetooth.js b/js/ui/status/bluetooth.js
|
|
||||||
index d4de597..f5ed177 100644
|
|
||||||
--- a/js/ui/status/bluetooth.js
|
|
||||||
+++ b/js/ui/status/bluetooth.js
|
|
||||||
@@ -64,7 +64,10 @@ const BtClient = GObject.registerClass({
|
|
||||||
g_interface_info: rfkillManagerInfo,
|
|
||||||
});
|
|
||||||
this._proxy.connect('g-properties-changed', (p, properties) => {
|
|
||||||
- if ('BluetoothHardwareAirplaneMode' in properties.unpack())
|
|
||||||
+ const changedProperties = properties.unpack();
|
|
||||||
+ if ('BluetoothHardwareAirplaneMode' in changedProperties)
|
|
||||||
+ this.notify('available');
|
|
||||||
+ else if ('BluetoothHasAirplaneMode' in changedProperties)
|
|
||||||
this.notify('available');
|
|
||||||
});
|
|
||||||
this._proxy.init_async(GLib.PRIORITY_DEFAULT, null)
|
|
||||||
@@ -79,21 +82,19 @@ const BtClient = GObject.registerClass({
|
|
||||||
this._connectDeviceNotify(deviceStore.get_item(i));
|
|
||||||
|
|
||||||
this._client.connect('device-removed', (c, path) => {
|
|
||||||
- this._syncHadSetupDevices();
|
|
||||||
this._deviceNotifyConnected.delete(path);
|
|
||||||
this.emit('devices-changed');
|
|
||||||
});
|
|
||||||
this._client.connect('device-added', (c, device) => {
|
|
||||||
- this._syncHadSetupDevices();
|
|
||||||
this._connectDeviceNotify(device);
|
|
||||||
this.emit('devices-changed');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
get available() {
|
|
||||||
- // If there were set up devices, assume there is an adapter
|
|
||||||
- // that can be powered on as long as we're not hard blocked
|
|
||||||
- return this._hadSetupDevices
|
|
||||||
+ // If we have an rfkill switch, make sure it's not a hardware
|
|
||||||
+ // one as we can't get out of it in software
|
|
||||||
+ return this._proxy.BluetoothHasAirplaneMode
|
|
||||||
? !this._proxy.BluetoothHardwareAirplaneMode
|
|
||||||
: this.active;
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
From: Daniel van Vugt <daniel.van.vugt@canonical.com>
|
|
||||||
Date: Wed, 12 Oct 2022 14:47:19 +0800
|
|
||||||
Subject: config: Assume screen recording is always available
|
|
||||||
|
|
||||||
Which is safer than calling gst_init_check() as it may deadlock when it
|
|
||||||
spawns client `gst-plugin-scanner` which then tries to connect back to
|
|
||||||
us (for some plugins like gstvaapi).
|
|
||||||
|
|
||||||
Fixes: https://launchpad.net/bugs/1988488
|
|
||||||
---
|
|
||||||
js/misc/config.js.in | 6 +-----
|
|
||||||
1 file changed, 1 insertion(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/js/misc/config.js.in b/js/misc/config.js.in
|
|
||||||
index 7fc0e63..5092c1e 100644
|
|
||||||
--- a/js/misc/config.js.in
|
|
||||||
+++ b/js/misc/config.js.in
|
|
||||||
@@ -21,8 +21,4 @@ var LIBMUTTER_API_VERSION = '@LIBMUTTER_API_VERSION@'
|
|
||||||
|
|
||||||
var HAVE_BLUETOOTH = pkg.checkSymbol('GnomeBluetooth', '3.0',
|
|
||||||
'Client.default_adapter_state')
|
|
||||||
-var HAVE_RECORDER =
|
|
||||||
- pkg.checkSymbol('Gst', '1.0') &&
|
|
||||||
- imports.gi.Gst.init_check(null) &&
|
|
||||||
- imports.gi.Gst.ElementFactory.find('pipewiresrc') &&
|
|
||||||
- imports.gi.Gst.ElementFactory.find('filesrc');
|
|
||||||
+var HAVE_RECORDER = true;
|
|
@ -1,69 +0,0 @@
|
|||||||
From: =?utf-8?q?Florian_M=C3=BCllner?= <fmuellner@gnome.org>
|
|
||||||
Date: Thu, 6 Oct 2022 14:30:20 +0200
|
|
||||||
Subject: inhibitShortcutsDialog: Don't override resource
|
|
||||||
|
|
||||||
PermissionStore's Set() method takes a complete permission
|
|
||||||
table, so when setting an app's permission, we are implicitly
|
|
||||||
removing all previously set entries for other apps.
|
|
||||||
|
|
||||||
Switch to the SetPermission() method which sets the permission
|
|
||||||
for a single app.
|
|
||||||
|
|
||||||
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5937
|
|
||||||
|
|
||||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2504>
|
|
||||||
(cherry picked from commit 8590e3350145b3c652d3977d72fe0da7f1d8885c)
|
|
||||||
---
|
|
||||||
.../org.freedesktop.impl.portal.PermissionStore.xml | 7 +++++++
|
|
||||||
js/ui/inhibitShortcutsDialog.js | 12 ++++--------
|
|
||||||
2 files changed, 11 insertions(+), 8 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/data/dbus-interfaces/org.freedesktop.impl.portal.PermissionStore.xml b/data/dbus-interfaces/org.freedesktop.impl.portal.PermissionStore.xml
|
|
||||||
index 75fbc46..55d3fc3 100644
|
|
||||||
--- a/data/dbus-interfaces/org.freedesktop.impl.portal.PermissionStore.xml
|
|
||||||
+++ b/data/dbus-interfaces/org.freedesktop.impl.portal.PermissionStore.xml
|
|
||||||
@@ -13,6 +13,13 @@
|
|
||||||
<arg name="app_permissions" type="a{sas}" direction="in"/>
|
|
||||||
<arg name="data" type="v" direction="in"/>
|
|
||||||
</method>
|
|
||||||
+ <method name="SetPermission">
|
|
||||||
+ <arg name='table' type='s' direction='in'/>
|
|
||||||
+ <arg name='create' type='b' direction='in'/>
|
|
||||||
+ <arg name='id' type='s' direction='in'/>
|
|
||||||
+ <arg name='app' type='s' direction='in'/>
|
|
||||||
+ <arg name='permissions' type='as' direction='in'/>
|
|
||||||
+ </method>
|
|
||||||
<signal name="Changed">
|
|
||||||
<arg name="table" type="s" direction="out"/>
|
|
||||||
<arg name="id" type="s" direction="out"/>
|
|
||||||
diff --git a/js/ui/inhibitShortcutsDialog.js b/js/ui/inhibitShortcutsDialog.js
|
|
||||||
index f37c1f6..b6f1330 100644
|
|
||||||
--- a/js/ui/inhibitShortcutsDialog.js
|
|
||||||
+++ b/js/ui/inhibitShortcutsDialog.js
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
/* exported InhibitShortcutsDialog */
|
|
||||||
-const { Clutter, Gio, GLib, GObject, Gtk, Meta, Pango, Shell, St } = imports.gi;
|
|
||||||
+const {Clutter, Gio, GObject, Gtk, Meta, Pango, Shell, St} = imports.gi;
|
|
||||||
|
|
||||||
const Dialog = imports.ui.dialog;
|
|
||||||
const ModalDialog = imports.ui.modalDialog;
|
|
||||||
@@ -57,16 +57,12 @@ var InhibitShortcutsDialog = GObject.registerClass({
|
|
||||||
if (!this._shouldUsePermStore() || this._permStore == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
- let permissions = {};
|
|
||||||
- permissions[this._app.get_id()] = [grant];
|
|
||||||
- let data = GLib.Variant.new('av', {});
|
|
||||||
-
|
|
||||||
try {
|
|
||||||
- await this._permStore.SetAsync(APP_PERMISSIONS_TABLE,
|
|
||||||
+ await this._permStore.SetPermissionAsync(APP_PERMISSIONS_TABLE,
|
|
||||||
true,
|
|
||||||
APP_PERMISSIONS_ID,
|
|
||||||
- permissions,
|
|
||||||
- data);
|
|
||||||
+ this._app.get_id(),
|
|
||||||
+ [grant]);
|
|
||||||
} catch (error) {
|
|
||||||
log(error.message);
|
|
||||||
}
|
|
@ -1,34 +0,0 @@
|
|||||||
From: Carlos Garnacho <carlosg@gnome.org>
|
|
||||||
Date: Wed, 14 Sep 2022 20:20:14 +0200
|
|
||||||
Subject: status: Use fixed sorting of input sources on empty MRU
|
|
||||||
|
|
||||||
When updating the MRU sources if there was no prior MRU, we want
|
|
||||||
to go with the unmodified list of sources in visibility order.
|
|
||||||
|
|
||||||
However iterating over object properties happens in an undetermined
|
|
||||||
order, so the initial MRU list ends up picking a value at random.
|
|
||||||
|
|
||||||
In order to prefer the sources list in the same order than they
|
|
||||||
appear in the menu if there was no prior MRU, order the keys
|
|
||||||
when accessing it and building the initial list of sources.
|
|
||||||
|
|
||||||
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5873
|
|
||||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2487>
|
|
||||||
(cherry picked from commit 13c9fd2a668e137b9e2569dcdedb0a25b95ae9aa)
|
|
||||||
---
|
|
||||||
js/ui/status/keyboard.js | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js
|
|
||||||
index 76a42f6..65b3962 100644
|
|
||||||
--- a/js/ui/status/keyboard.js
|
|
||||||
+++ b/js/ui/status/keyboard.js
|
|
||||||
@@ -492,7 +492,7 @@ var InputSourceManager = class extends Signals.EventEmitter {
|
|
||||||
|
|
||||||
_updateMruSources() {
|
|
||||||
let sourcesList = [];
|
|
||||||
- for (let i in this._inputSources)
|
|
||||||
+ for (let i of Object.keys(this._inputSources).sort((a, b) => a - b))
|
|
||||||
sourcesList.push(this._inputSources[i]);
|
|
||||||
|
|
||||||
this._keyboardManager.setUserLayouts(sourcesList.map(x => x.xkbId));
|
|
@ -1,35 +0,0 @@
|
|||||||
From: =?utf-8?q?Florian_M=C3=BCllner?= <fmuellner@gnome.org>
|
|
||||||
Date: Mon, 3 Oct 2022 18:30:13 +0200
|
|
||||||
Subject: status/volume: Include origin in device names
|
|
||||||
|
|
||||||
The description alone may not be descriptive enough, so include
|
|
||||||
the origin (if available) to disambiguate the name.
|
|
||||||
|
|
||||||
This is consistent with the Sound Settings panel.
|
|
||||||
|
|
||||||
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5829
|
|
||||||
|
|
||||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2502>
|
|
||||||
(cherry picked from commit 0ce2bc343b024142dddfe6e6bb57b51bfa407df9)
|
|
||||||
---
|
|
||||||
js/ui/status/volume.js | 7 +++++--
|
|
||||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/js/ui/status/volume.js b/js/ui/status/volume.js
|
|
||||||
index 71a91cb..bd49cc3 100644
|
|
||||||
--- a/js/ui/status/volume.js
|
|
||||||
+++ b/js/ui/status/volume.js
|
|
||||||
@@ -113,8 +113,11 @@ const StreamSlider = GObject.registerClass({
|
|
||||||
if (!device)
|
|
||||||
return;
|
|
||||||
|
|
||||||
- const item = new PopupMenu.PopupImageMenuItem(
|
|
||||||
- device.get_description(), device.get_gicon());
|
|
||||||
+ const {description, origin} = device;
|
|
||||||
+ const name = origin
|
|
||||||
+ ? `${description} – ${origin}`
|
|
||||||
+ : description;
|
|
||||||
+ const item = new PopupMenu.PopupImageMenuItem(name, device.get_gicon());
|
|
||||||
item.connect('activate', () => this._activateDevice(device));
|
|
||||||
|
|
||||||
this._deviceSection.addMenuItem(item);
|
|
26
main.sh
Executable file
26
main.sh
Executable file
@ -0,0 +1,26 @@
|
|||||||
|
DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
# Add dependent repositories
|
||||||
|
wget -q -O - https://ppa.pika-os.com/key.gpg | sudo apt-key add -
|
||||||
|
add-apt-repository https://ppa.pika-os.com
|
||||||
|
add-apt-repository ppa:pikaos/pika
|
||||||
|
add-apt-repository ppa:kubuntu-ppa/backports
|
||||||
|
# Clone Upstream
|
||||||
|
git clone https://gitlab.gnome.org/GNOME/gnome-shell -b 43.1
|
||||||
|
mv ./gnome-shell ./gnome-shell-vrr
|
||||||
|
cp -rvf ./debian ./gnome-shell-vrr
|
||||||
|
cd ./gnome-shell-vrr
|
||||||
|
|
||||||
|
# Get build deps
|
||||||
|
ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata
|
||||||
|
apt-get build-dep ./ -y
|
||||||
|
|
||||||
|
# Build package
|
||||||
|
LOGNAME=root dh_make --createorig -y -l -p gnome-shell-vrr_43.1
|
||||||
|
dpkg-buildpackage
|
||||||
|
|
||||||
|
# Move the debs to output
|
||||||
|
cd ../
|
||||||
|
mkdir -p ./output
|
||||||
|
mv ./*.deb ./output/
|
11
release.sh
Executable file
11
release.sh
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
# Sign the packages
|
||||||
|
dpkg-sig --sign builder ./output/*.deb
|
||||||
|
|
||||||
|
# Pull down existing ppa repo db files etc
|
||||||
|
rsync -azP --exclude '*.deb' ferreo@direct.pika-os.com:/srv/www/pikappa/ ./output/repo
|
||||||
|
|
||||||
|
# Add the new package to the repo
|
||||||
|
reprepro -V --basedir ./output/repo/ includedeb kinetic ./output/*.deb
|
||||||
|
|
||||||
|
# Push the updated ppa repo to the server
|
||||||
|
rsync -azP ./output/repo/ ferreo@direct.pika-os.com:/srv/www/pikappa/
|
Loading…
Reference in New Issue
Block a user