Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gnome-shell-extensions for
openSUSE:Factory checked in at 2026-04-21 12:46:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-shell-extensions (Old)
and /work/SRC/openSUSE:Factory/.gnome-shell-extensions.new.11940 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-shell-extensions"
Tue Apr 21 12:46:16 2026 rev:151 rq:1348423 version:50.1
Changes:
--------
---
/work/SRC/openSUSE:Factory/gnome-shell-extensions/gnome-shell-extensions.changes
2026-04-10 17:55:08.055087932 +0200
+++
/work/SRC/openSUSE:Factory/.gnome-shell-extensions.new.11940/gnome-shell-extensions.changes
2026-04-21 12:48:08.330682634 +0200
@@ -1,0 +2,7 @@
+Thu Apr 16 06:10:59 UTC 2026 - Bjørn Lie <[email protected]>
+
+- Update to version 50.1:
+ + Misc. cleanups and bug fixes
+ + Updated translations.
+
+-------------------------------------------------------------------
Old:
----
gnome-shell-extensions-50.0.tar.xz
New:
----
gnome-shell-extensions-50.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnome-shell-extensions.spec ++++++
--- /var/tmp/diff_new_pack.XE4nTr/_old 2026-04-21 12:48:09.394726772 +0200
+++ /var/tmp/diff_new_pack.XE4nTr/_new 2026-04-21 12:48:09.410727436 +0200
@@ -19,7 +19,7 @@
%global __requires_exclude typelib\\(Meta\\)
Name: gnome-shell-extensions
-Version: 50.0
+Version: 50.1
Release: 0
Summary: A collection of extensions for GNOME Shell
License: GPL-2.0-or-later
++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.XE4nTr/_old 2026-04-21 12:48:09.490730754 +0200
+++ /var/tmp/diff_new_pack.XE4nTr/_new 2026-04-21 12:48:09.510731584 +0200
@@ -1,6 +1,6 @@
-mtime: 1774255375
-commit: e9afe12f63bb76f668d1c91cc44f8ac369c49db4f9c4bb7642805919fdf721bf
+mtime: 1776319922
+commit: 7bd4a4f3acca1cd2cfeeaa1e3548674fdd22ad8bde2ec7a249b812b6299e5533
url: https://src.opensuse.org/GNOME/gnome-shell-extensions
-revision: e9afe12f63bb76f668d1c91cc44f8ac369c49db4f9c4bb7642805919fdf721bf
+revision: 7bd4a4f3acca1cd2cfeeaa1e3548674fdd22ad8bde2ec7a249b812b6299e5533
projectscmsync: https://src.opensuse.org/GNOME/_ObsPrj
++++++ _service ++++++
--- /var/tmp/diff_new_pack.XE4nTr/_old 2026-04-21 12:48:09.550733243 +0200
+++ /var/tmp/diff_new_pack.XE4nTr/_new 2026-04-21 12:48:09.570734073 +0200
@@ -3,7 +3,7 @@
<service name="obs_scm" mode="manual">
<param name="scm">git</param>
<param
name="url">https://gitlab.gnome.org/GNOME/gnome-shell-extensions.git</param>
- <param name="revision">50.0</param>
+ <param name="revision">50.1</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
<param name="versionrewrite-pattern">(.*)\+0</param>
<param name="versionrewrite-replacement">\1</param>
++++++ build.specials.obscpio ++++++
++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore 1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore 2026-04-17 11:55:25.000000000 +0200
@@ -0,0 +1,5 @@
+*.obscpio
+*.osc
+_build.*
+.pbuild
+osc-collab.*
++++++ gnome-shell-extensions-50.0.tar.xz -> gnome-shell-extensions-50.1.tar.xz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-shell-extensions-50.0/NEWS
new/gnome-shell-extensions-50.1/NEWS
--- old/gnome-shell-extensions-50.0/NEWS 2026-03-14 18:17:08.000000000
+0100
+++ new/gnome-shell-extensions-50.1/NEWS 2026-04-14 16:37:47.000000000
+0200
@@ -1,3 +1,13 @@
+50.1
+====
+* Misc. cleanups and bug fixes [Florian; !449]
+
+Contributors:
+ Florian Müllner
+
+Translators:
+ Марко Костић [sr]
+
50.0
====
* Bump version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gnome-shell-extensions-50.0/extensions/apps-menu/extension.js
new/gnome-shell-extensions-50.1/extensions/apps-menu/extension.js
--- old/gnome-shell-extensions-50.0/extensions/apps-menu/extension.js
2026-03-14 18:17:08.000000000 +0100
+++ new/gnome-shell-extensions-50.1/extensions/apps-menu/extension.js
2026-04-14 16:37:47.000000000 +0200
@@ -11,7 +11,6 @@
import GLib from 'gi://GLib';
import GMenu from 'gi://GMenu';
import GObject from 'gi://GObject';
-import Gtk from 'gi://Gtk';
import Meta from 'gi://Meta';
import Shell from 'gi://Shell';
import St from 'gi://St';
@@ -24,8 +23,6 @@
import * as PanelMenu from 'resource:///org/gnome/shell/ui/panelMenu.js';
import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
-const appSys = Shell.AppSystem.get_default();
-
const APPLICATION_ICON_SIZE = 32;
const HORIZ_FACTOR = 5;
const MENU_HEIGHT_OFFSET = 132;
@@ -245,9 +242,8 @@
this._desktop = null;
this._desktopDestroyedId = 0;
- this._windowAddedId =
- global.window_group.connect('child-added',
- this._onWindowAdded.bind(this));
+ global.window_group.connectObject('child-added',
+ this._onWindowAdded.bind(this), this);
global.get_window_actors().forEach(a => {
this._onWindowAdded(a.get_parent(), a);
@@ -373,7 +369,7 @@
GObject.registerClass(this);
}
- constructor() {
+ constructor(settings) {
super(1.0, null, false);
this.setMenu(new ApplicationsMenu(this, 1.0, St.Side.TOP, this));
@@ -384,6 +380,8 @@
// role ATK_ROLE_MENU like other elements of the panel.
this.accessible_role = Atk.Role.LABEL;
+ this._appSys = Shell.AppSystem.get_default();
+
this._label = new St.Label({
text: _('Apps'),
y_expand: true,
@@ -401,20 +399,19 @@
Main.wm.addKeybinding(
'apps-menu-toggle-menu',
- Extension.lookupByURL(import.meta.url).getSettings(),
+ settings,
Meta.KeyBindingFlags.IGNORE_AUTOREPEAT,
Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW,
() => this.menu.toggle());
this._desktopTarget = new DesktopTarget();
- this._desktopTarget.connect('app-dropped', () => {
- this.menu.close();
- });
- this._desktopTarget.connect('desktop-changed', () => {
- this._applicationsButtons.forEach(item => {
- item.setDragEnabled(this._desktopTarget.hasDesktop);
- });
- });
+ this._desktopTarget.connectObject(
+ 'app-dropped', () => this.menu.close(),
+ 'desktop-changed', () => {
+ this._applicationsButtons.forEach(item => {
+ item.setDragEnabled(this._desktopTarget.hasDesktop);
+ });
+ }, this);
this._tree = new GMenu.Tree({menu_basename: 'applications.menu'});
this._tree.connectObject('changed',
@@ -424,7 +421,7 @@
this.reloadFlag = false;
this._createLayout();
this._display();
- appSys.connectObject('installed-changed',
+ this._appSys.connectObject('installed-changed',
() => this._onTreeChanged(), this);
}
@@ -444,6 +441,7 @@
Main.wm.removeKeybinding('apps-menu-toggle-menu');
+ this._desktopTarget.disconnectObject(this);
this._desktopTarget.destroy();
}
@@ -451,7 +449,7 @@
const symbol = event.get_key_symbol();
if (symbol === Clutter.KEY_Left || symbol === Clutter.KEY_Right) {
const direction = symbol === Clutter.KEY_Left
- ? Gtk.DirectionType.LEFT : Gtk.DirectionType.RIGHT;
+ ? St.DirectionType.LEFT : St.DirectionType.RIGHT;
if (this.menu.actor.navigate_focus(global.stage.key_focus,
direction, false))
return Clutter.EVENT_STOP;
}
@@ -487,7 +485,7 @@
} catch {
continue;
}
- let app = appSys.lookup_app(id);
+ let app = this._appSys.lookup_app(id);
if (!app)
app = new Shell.App({app_info: entry.get_app_info()});
if (app.get_app_info().should_show())
@@ -634,7 +632,7 @@
applist = this.applicationsByCategory[categoryMenuId];
} else {
applist = global.settings.get_strv('favorite-apps')
- .map(id => appSys.lookup_app(id))
+ .map(id => this._appSys.lookup_app(id))
.filter(app => app);
}
@@ -644,7 +642,7 @@
export default class AppsMenuExtension extends Extension {
enable() {
- this._appsMenuButton = new ApplicationsButton();
+ this._appsMenuButton = new ApplicationsButton(this.getSettings());
const index = Main.sessionMode.panel.left.indexOf('activities') + 1;
Main.panel.addToStatusArea(
'apps-menu', this._appsMenuButton, index, 'left');
@@ -653,6 +651,6 @@
disable() {
Main.panel.menuManager.removeMenu(this._appsMenuButton.menu);
this._appsMenuButton.destroy();
- delete this._appsMenuButton;
+ this._appsMenuButton = null;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gnome-shell-extensions-50.0/extensions/auto-move-windows/extension.js
new/gnome-shell-extensions-50.1/extensions/auto-move-windows/extension.js
--- old/gnome-shell-extensions-50.0/extensions/auto-move-windows/extension.js
2026-03-14 18:17:08.000000000 +0100
+++ new/gnome-shell-extensions-50.1/extensions/auto-move-windows/extension.js
2026-04-14 16:37:47.000000000 +0200
@@ -6,7 +6,7 @@
import Shell from 'gi://Shell';
-import {Extension} from 'resource:///org/gnome/shell/extensions/extension.js';
+import {Extension, InjectionManager} from
'resource:///org/gnome/shell/extensions/extension.js';
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
class WindowMover {
@@ -56,6 +56,8 @@
destroy() {
this._appSystem.disconnectObject(this);
+ this._appSystem = null;
+
this._settings.disconnectObject(this);
this._settings = null;
@@ -99,16 +101,19 @@
export default class AutoMoveExtension extends Extension {
enable() {
- this._prevCheckWorkspaces = Main.wm._workspaceTracker._checkWorkspaces;
- Main.wm._workspaceTracker._checkWorkspaces =
- this._getCheckWorkspaceOverride(this._prevCheckWorkspaces);
+ this._injectionManager = new InjectionManager();
+ this._injectionManager.overrideMethod(Main.wm._workspaceTracker,
'_checkWorkspaces',
+ originalMethod => this._getCheckWorkspaceOverride(originalMethod));
+
this._windowMover = new WindowMover(this.getSettings());
}
disable() {
- Main.wm._workspaceTracker._checkWorkspaces = this._prevCheckWorkspaces;
+ this._injectionManager.clear();
+ this._injectionManager = null;
+
this._windowMover.destroy();
- delete this._windowMover;
+ this._windowMover = null;
}
_getCheckWorkspaceOverride(originalMethod) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gnome-shell-extensions-50.0/extensions/drive-menu/extension.js
new/gnome-shell-extensions-50.1/extensions/drive-menu/extension.js
--- old/gnome-shell-extensions-50.0/extensions/drive-menu/extension.js
2026-03-14 18:17:08.000000000 +0100
+++ new/gnome-shell-extensions-50.1/extensions/drive-menu/extension.js
2026-04-14 16:37:47.000000000 +0200
@@ -206,6 +206,6 @@
disable() {
this._indicator.destroy();
- delete this._indicator;
+ this._indicator = null;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gnome-shell-extensions-50.0/extensions/launch-new-instance/extension.js
new/gnome-shell-extensions-50.1/extensions/launch-new-instance/extension.js
--- old/gnome-shell-extensions-50.0/extensions/launch-new-instance/extension.js
2026-03-14 18:17:08.000000000 +0100
+++ new/gnome-shell-extensions-50.1/extensions/launch-new-instance/extension.js
2026-04-14 16:37:47.000000000 +0200
@@ -7,11 +7,8 @@
import {InjectionManager} from
'resource:///org/gnome/shell/extensions/extension.js';
export default class Extension {
- constructor() {
- this._injectionManager = new InjectionManager();
- }
-
enable() {
+ this._injectionManager = new InjectionManager();
this._injectionManager.overrideMethod(AppIcon.prototype, 'activate',
originalMethod => {
return function () {
@@ -23,5 +20,6 @@
disable() {
this._injectionManager.clear();
+ this._injectionManager = null;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gnome-shell-extensions-50.0/extensions/native-window-placement/extension.js
new/gnome-shell-extensions-50.1/extensions/native-window-placement/extension.js
---
old/gnome-shell-extensions-50.0/extensions/native-window-placement/extension.js
2026-03-14 18:17:08.000000000 +0100
+++
new/gnome-shell-extensions-50.1/extensions/native-window-placement/extension.js
2026-04-14 16:37:47.000000000 +0200
@@ -242,18 +242,13 @@
}
export default class NativeWindowPlacementExtension extends Extension {
- constructor(metadata) {
- super(metadata);
-
- this._injectionManager = new InjectionManager();
- }
-
enable() {
const settings = this.getSettings();
const layoutProto = Workspace.WorkspaceLayout.prototype;
const previewProto = WindowPreview.prototype;
+ this._injectionManager = new InjectionManager();
this._injectionManager.overrideMethod(layoutProto,
'_createBestLayout', () => {
/* eslint-disable no-invalid-this */
return function () {
@@ -299,6 +294,8 @@
disable() {
this._injectionManager.clear();
+ this._injectionManager = null;
+
global.stage.queue_relayout();
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gnome-shell-extensions-50.0/extensions/places-menu/extension.js
new/gnome-shell-extensions-50.1/extensions/places-menu/extension.js
--- old/gnome-shell-extensions-50.0/extensions/places-menu/extension.js
2026-03-14 18:17:08.000000000 +0100
+++ new/gnome-shell-extensions-50.1/extensions/places-menu/extension.js
2026-04-14 16:37:47.000000000 +0200
@@ -88,9 +88,9 @@
for (let i = 0; i < SECTIONS.length; i++) {
const id = SECTIONS[i];
this._sections[id] = new PopupMenu.PopupMenuSection();
- this.placesManager.connect(`${id}-updated`, () => {
- this._redisplay(id);
- });
+ this.placesManager.connectObject(
+ `${id}-updated`, () => this._redisplay(id),
+ this);
this._create(id);
this.menu.addMenuItem(this._sections[id]);
@@ -99,6 +99,7 @@
}
_onDestroy() {
+ this.placesManager.disconnectObject(this);
this.placesManager.destroy();
super._onDestroy();
@@ -131,6 +132,6 @@
disable() {
this._indicator.destroy();
- delete this._indicator;
+ this._indicator = null;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gnome-shell-extensions-50.0/extensions/status-icons/extension.js
new/gnome-shell-extensions-50.1/extensions/status-icons/extension.js
--- old/gnome-shell-extensions-50.0/extensions/status-icons/extension.js
2026-03-14 18:17:08.000000000 +0100
+++ new/gnome-shell-extensions-50.1/extensions/status-icons/extension.js
2026-04-14 16:37:47.000000000 +0200
@@ -74,10 +74,10 @@
enable() {
this._tray = new Shell.TrayManager();
- this._tray.connect('tray-icon-added',
- this._onTrayIconAdded.bind(this));
- this._tray.connect('tray-icon-removed',
- this._onTrayIconRemoved.bind(this));
+ this._tray.connectObject(
+ 'tray-icon-added', this._onTrayIconAdded.bind(this),
+ 'tray-icon-removed', this._onTrayIconRemoved.bind(this),
+ this);
this._tray.manage_screen(Main.panel);
}
@@ -86,6 +86,7 @@
this._icons.clear();
this._tray.unmanage_screen();
+ this._tray.disconnectObject(this);
this._tray = null;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gnome-shell-extensions-50.0/extensions/system-monitor/extension.js
new/gnome-shell-extensions-50.1/extensions/system-monitor/extension.js
--- old/gnome-shell-extensions-50.0/extensions/system-monitor/extension.js
2026-03-14 18:17:08.000000000 +0100
+++ new/gnome-shell-extensions-50.1/extensions/system-monitor/extension.js
2026-04-14 16:37:47.000000000 +0200
@@ -39,15 +39,13 @@
GObject.registerClass(this);
}
- constructor(iconName, accessibleName) {
+ constructor(iconDir, iconName, accessibleName) {
super({
style_class: 'system-monitor-stat-section',
accessibleName,
});
- const ext = Extension.lookupByURL(import.meta.url);
- const file =
- ext.dir.resolve_relative_path(`icons/${iconName}.svg`);
+ const file = iconDir.get_child(`${iconName}.svg`);
this._icon = new St.Icon({
style_class: 'system-monitor-stat-section-icon',
@@ -131,8 +129,8 @@
#prevCpu = new GTop.glibtop_cpu();
- constructor() {
- super('processor-symbolic', _('CPU stats'));
+ constructor(iconDir) {
+ super(iconDir, 'processor-symbolic', _('CPU stats'));
}
_getLoadValue() {
@@ -155,8 +153,8 @@
GObject.registerClass(this);
}
- constructor() {
- super('memory-symbolic', _('Memory stats'));
+ constructor(iconDir) {
+ super(iconDir, 'memory-symbolic', _('Memory stats'));
}
_getLoadValue() {
@@ -173,8 +171,8 @@
GObject.registerClass(this);
}
- constructor() {
- super('swap-symbolic', _('Swap stats'));
+ constructor(iconDir) {
+ super(iconDir, 'swap-symbolic', _('Swap stats'));
}
_getLoadValue() {
@@ -332,8 +330,8 @@
GObject.registerClass(this);
}
- constructor() {
- super('upload-symbolic', _('Upload stats'));
+ constructor(iconDir) {
+ super(iconDir, 'upload-symbolic', _('Upload stats'));
}
_getBytes(netload) {
@@ -346,8 +344,8 @@
GObject.registerClass(this);
}
- constructor() {
- super('download-symbolic', _('Download stats'));
+ constructor(iconDir) {
+ super(iconDir, 'download-symbolic', _('Download stats'));
}
_getBytes(netload) {
@@ -360,11 +358,11 @@
GObject.registerClass(this);
}
- constructor(settings) {
+ constructor(extension) {
GTop.glibtop_init();
super(0.5, _('System stats'));
- this._settings = settings;
+ this._settings = extension.getSettings();
this.connect('destroy',
() => (this._settings = null));
@@ -379,31 +377,33 @@
});
box.add_child(this._placeholder);
- this._cpuSection = new CpuSection();
+ const iconDir = extension.dir.resolve_relative_path('icons');
+
+ this._cpuSection = new CpuSection(iconDir);
this._settings.bind('show-cpu',
this._cpuSection, 'visible',
Gio.SettingsBindFlags.GET);
box.add_child(this._cpuSection);
- this._memSection = new MemSection();
+ this._memSection = new MemSection(iconDir);
this._settings.bind('show-memory',
this._memSection, 'visible',
Gio.SettingsBindFlags.GET);
box.add_child(this._memSection);
- this._swapSection = new SwapSection();
+ this._swapSection = new SwapSection(iconDir);
this._settings.bind('show-swap',
this._swapSection, 'visible',
Gio.SettingsBindFlags.GET);
box.add_child(this._swapSection);
- this._ulSection = new UploadSection();
+ this._ulSection = new UploadSection(iconDir);
this._settings.bind('show-upload',
this._ulSection, 'visible',
Gio.SettingsBindFlags.GET);
box.add_child(this._ulSection);
- this._dlSection = new DownloadSection();
+ this._dlSection = new DownloadSection(iconDir);
this._settings.bind('show-download',
this._dlSection, 'visible',
Gio.SettingsBindFlags.GET);
@@ -479,7 +479,7 @@
export default class SystemMonitorExtension extends Extension {
enable() {
- this._indicator = new Indicator(this.getSettings());
+ this._indicator = new Indicator(this);
Main.panel.addToStatusArea(this.uuid, this._indicator);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gnome-shell-extensions-50.0/extensions/window-list/extension.js
new/gnome-shell-extensions-50.1/extensions/window-list/extension.js
--- old/gnome-shell-extensions-50.0/extensions/window-list/extension.js
2026-03-14 18:17:08.000000000 +0100
+++ new/gnome-shell-extensions-50.1/extensions/window-list/extension.js
2026-04-14 16:37:47.000000000 +0200
@@ -8,7 +8,6 @@
import Gio from 'gi://Gio';
import GLib from 'gi://GLib';
import GObject from 'gi://GObject';
-import Gtk from 'gi://Gtk';
import Meta from 'gi://Meta';
import Mtk from 'gi://Mtk';
import Shell from 'gi://Shell';
@@ -543,7 +542,7 @@
const event = Clutter.get_current_event();
if (event && event.type() === Clutter.EventType.KEY_RELEASE)
- menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD,
false);
+ menu.actor.navigate_focus(null, St.DirectionType.TAB_FORWARD,
false);
}
_minimizeOrActivateWindow(window) {
@@ -555,18 +554,6 @@
window.activate(global.get_current_time());
}
- _onMenuStateChanged(menu, isOpen) {
- if (isOpen)
- return;
-
- const extension = Extension.lookupByURL(import.meta.url);
-
- const [x, y] = global.get_pointer();
- const actor = global.stage.get_actor_at_pos(Clutter.PickMode.REACTIVE,
x, y);
- if (extension.someWindowListContains(actor))
- actor.sync_hover();
- }
-
_onPopupMenu(_actor) {
if (!this._canOpenPopupMenu() || this._contextMenu.isOpen)
return;
@@ -644,8 +631,6 @@
this.label_actor = this._windowTitle.label_actor;
this._contextMenu = new WindowContextMenu(this, this.metaWindow);
- this._contextMenu.connect('open-state-changed',
- this._onMenuStateChanged.bind(this));
this._contextMenu.actor.hide();
this._contextMenuManager.addMenu(this._contextMenu);
Main.uiGroup.add_child(this._contextMenu.actor);
@@ -781,8 +766,6 @@
this._menuManager = new PopupMenu.PopupMenuManager(this);
this._menu = new PopupMenu.PopupMenu(this, 0.5, St.Side.BOTTOM);
- this._menu.connect('open-state-changed',
- this._onMenuStateChanged.bind(this));
this._menu.actor.hide();
this._menu.connect('activate', this._onMenuActivate.bind(this));
this._menuManager.addMenu(this._menu);
@@ -859,8 +842,6 @@
this._button.child = this._createTitleActor();
this.label_actor = this._button.child.label_actor;
- this._contextMenu.connect(
- 'open-state-changed', this._onMenuStateChanged.bind(this));
Main.uiGroup.add_child(this._contextMenu.actor);
this._contextMenu.actor.hide();
this._contextMenuManager.addMenu(this._contextMenu);
@@ -931,7 +912,7 @@
GObject.registerClass(this);
}
- constructor(perMonitor, monitor, settings) {
+ constructor(perMonitor, monitor, extension) {
super({
name: 'panel',
style_class: 'bottom-panel solid',
@@ -963,7 +944,7 @@
this._workspaceIndicator = new BottomWorkspaceIndicator({
baseStyleClass: 'window-list-workspace-indicator',
- settings,
+ extension,
});
indicatorsBox.add_child(this._workspaceIndicator.container);
@@ -1077,7 +1058,7 @@
this._delegate = this;
- this._settings = settings;
+ this._settings = extension.getSettings();
this._settings.connectObject('changed::grouping-mode',
() => this._groupingModeChanged(), this);
this._grouped = undefined;
@@ -1539,7 +1520,7 @@
Main.layoutManager.monitors.forEach(monitor => {
if (showOnAllMonitors || monitor ===
Main.layoutManager.primaryMonitor)
- this._windowLists.push(new WindowList(showOnAllMonitors,
monitor, this.getSettings()));
+ this._windowLists.push(new WindowList(showOnAllMonitors,
monitor, this));
});
}
@@ -1557,8 +1538,4 @@
});
this._windowLists = null;
}
-
- someWindowListContains(actor) {
- return this._windowLists.some(list => list.contains(actor));
- }
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gnome-shell-extensions-50.0/extensions/windowsNavigator/extension.js
new/gnome-shell-extensions-50.1/extensions/windowsNavigator/extension.js
--- old/gnome-shell-extensions-50.0/extensions/windowsNavigator/extension.js
2026-03-14 18:17:08.000000000 +0100
+++ new/gnome-shell-extensions-50.1/extensions/windowsNavigator/extension.js
2026-04-14 16:37:47.000000000 +0200
@@ -20,13 +20,10 @@
const WINDOW_SLOT = 4;
export default class Extension {
- constructor() {
- this._injectionManager = new InjectionManager();
- }
-
enable() {
const previewProto = WindowPreview.prototype;
+ this._injectionManager = new InjectionManager();
this._injectionManager.overrideMethod(previewProto, '_init',
originalMethod => {
/* eslint-disable no-invalid-this */
return function (...args) {
@@ -293,5 +290,6 @@
disable() {
this._injectionManager.clear();
+ this._injectionManager = null;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gnome-shell-extensions-50.0/extensions/workspace-indicator/extension.js
new/gnome-shell-extensions-50.1/extensions/workspace-indicator/extension.js
--- old/gnome-shell-extensions-50.0/extensions/workspace-indicator/extension.js
2026-03-14 18:17:08.000000000 +0100
+++ new/gnome-shell-extensions-50.1/extensions/workspace-indicator/extension.js
2026-04-14 16:37:47.000000000 +0200
@@ -13,13 +13,13 @@
export default class WorkspaceIndicatorExtension extends Extension {
enable() {
this._indicator = new WorkspaceIndicator({
- settings: this.getSettings(),
+ extension: this,
});
Main.panel.addToStatusArea('workspace-indicator', this._indicator);
}
disable() {
this._indicator.destroy();
- delete this._indicator;
+ this._indicator = null;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gnome-shell-extensions-50.0/extensions/workspace-indicator/workspaceIndicator.js
new/gnome-shell-extensions-50.1/extensions/workspace-indicator/workspaceIndicator.js
---
old/gnome-shell-extensions-50.0/extensions/workspace-indicator/workspaceIndicator.js
2026-03-14 18:17:08.000000000 +0100
+++
new/gnome-shell-extensions-50.1/extensions/workspace-indicator/workspaceIndicator.js
2026-04-14 16:37:47.000000000 +0200
@@ -11,7 +11,7 @@
import Shell from 'gi://Shell';
import St from 'gi://St';
-import {Extension, gettext as _} from
'resource:///org/gnome/shell/extensions/extension.js';
+import {gettext as _} from
'resource:///org/gnome/shell/extensions/extension.js';
import * as DND from 'resource:///org/gnome/shell/ui/dnd.js';
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
@@ -506,7 +506,7 @@
}
class WorkspacesMenu extends PopupMenu.PopupMenu {
- constructor(sourceActor) {
+ constructor(sourceActor, extension) {
super(sourceActor, 0.5, St.Side.TOP);
this.actor.add_style_class_name(`${baseStyleClassName}-menu`);
@@ -526,7 +526,6 @@
this.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
this.addAction(_('Settings'), () => {
- const extension = Extension.lookupByURL(import.meta.url);
extension.openPreferences();
});
@@ -614,15 +613,15 @@
const {
baseStyleClass = 'workspace-indicator',
- settings,
+ extension,
} = params;
- this._settings = settings;
+ this._settings = extension.getSettings();
baseStyleClassName = baseStyleClass;
this.add_style_class_name(baseStyleClassName);
- this.setMenu(new WorkspacesMenu(this));
+ this.setMenu(new WorkspacesMenu(this, extension));
const container = new St.Widget({
layout_manager: new Clutter.BinLayout(),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-shell-extensions-50.0/meson.build
new/gnome-shell-extensions-50.1/meson.build
--- old/gnome-shell-extensions-50.0/meson.build 2026-03-14 18:17:08.000000000
+0100
+++ new/gnome-shell-extensions-50.1/meson.build 2026-04-14 16:37:47.000000000
+0200
@@ -4,7 +4,7 @@
project(
'gnome-shell-extensions',
- version: '50.0',
+ version: '50.1',
meson_version: '>= 1.1.0',
license: 'GPL-2.0-or-later',
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-shell-extensions-50.0/po/sr.po
new/gnome-shell-extensions-50.1/po/sr.po
--- old/gnome-shell-extensions-50.0/po/sr.po 2026-03-14 18:17:08.000000000
+0100
+++ new/gnome-shell-extensions-50.1/po/sr.po 2026-04-14 16:37:47.000000000
+0200
@@ -3,15 +3,15 @@
# This file is distributed under the same license as the
gnome-shell-extensions package.
# Милош Поповић <[email protected]>, 2012.
# Мирослав Николић <[email protected]>, 2012—2017.
-# Марко М. Костић <[email protected]>, 2020-2024.
+# Марко Костић <[email protected]>, 2020-2026.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
-"POT-Creation-Date: 2024-10-27 22:37+0000\n"
-"PO-Revision-Date: 2024-11-04 08:14+0100\n"
+"POT-Creation-Date: 2026-03-03 12:50+0000\n"
+"PO-Revision-Date: 2026-03-26 10:24+0100\n"
"Last-Translator: Марко М. Костић <[email protected]>\n"
"Language-Team: Serbian <[email protected]>\n"
"Language: sr\n"
@@ -21,30 +21,21 @@
"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : "
"n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Project-Style: gnome\n"
-"X-Generator: Poedit 3.4.4\n"
+"X-Generator: Poedit 3.9\n"
-#: data/gnome-classic.desktop.in:3
+#: data/gnome-classic.desktop.in:2
msgid "GNOME Classic"
msgstr "Класичан Гном"
-#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
-#: data/gnome-classic-xorg.desktop.in:4
+#: data/gnome-classic.desktop.in:3
msgid "This session logs you into GNOME Classic"
msgstr "Ова сесија вас пријављује у класичан Гном"
-#: data/gnome-classic-wayland.desktop.in:3
-msgid "GNOME Classic on Wayland"
-msgstr "Класичан Гном на Вејленду"
-
-#: data/gnome-classic-xorg.desktop.in:3
-msgid "GNOME Classic on Xorg"
-msgstr "Класичан Гном на Икс серверу"
-
-#: extensions/apps-menu/extension.js:126
+#: extensions/apps-menu/extension.js:118
msgid "Favorites"
msgstr "Омиљено"
-#: extensions/apps-menu/extension.js:400
+#: extensions/apps-menu/extension.js:388
msgid "Apps"
msgstr "Апликације"
@@ -60,17 +51,17 @@
"Списак ниски од којих свака садржи иб програма (назив датотеке „.desktop“), "
"зарез и број радног простора"
-#: extensions/auto-move-windows/prefs.js:159
+#: extensions/auto-move-windows/prefs.js:157
msgid "Workspace Rules"
msgstr "Правила радних простора"
-#: extensions/auto-move-windows/prefs.js:314
+#: extensions/auto-move-windows/prefs.js:312
msgid "Add Rule"
msgstr "Додај правило"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:123
-#: extensions/places-menu/placeDisplay.js:218
+#: extensions/places-menu/placeDisplay.js:186
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Нисам успео да избацим уређај „%s“:"
@@ -111,33 +102,40 @@
"умањених приказа уместо испод приказа. Промена ових подешавања захтева да "
"поново покренете Гномову шкољку."
-#: extensions/places-menu/extension.js:91
-#: extensions/places-menu/extension.js:94
+#: extensions/places-menu/extension.js:75
+#: extensions/places-menu/extension.js:78
msgid "Places"
msgstr "Места"
-#: extensions/places-menu/placeDisplay.js:60
+#: extensions/places-menu/placeDisplay.js:52
#, javascript-format
msgid "Failed to launch “%s”"
msgstr "Нисам успео да покренем „%s“"
-#: extensions/places-menu/placeDisplay.js:75
+#: extensions/places-menu/placeDisplay.js:67
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "Нисам успео да прикачим волумен за „%s“"
-#: extensions/places-menu/placeDisplay.js:135
-#: extensions/places-menu/placeDisplay.js:158
-msgid "Computer"
-msgstr "Рачунар"
-
-#: extensions/places-menu/placeDisplay.js:333
+#: extensions/places-menu/placeDisplay.js:314
msgid "Home"
msgstr "Личнo"
-#: extensions/places-menu/placeDisplay.js:378
-msgid "Browse Network"
-msgstr "Разгледајте мрежу"
+#: extensions/places-menu/placeDisplay.js:320
+msgid "Recent"
+msgstr "Скорашње"
+
+#: extensions/places-menu/placeDisplay.js:326
+msgid "Starred"
+msgstr "Са звездицом"
+
+#: extensions/places-menu/placeDisplay.js:346
+msgid "Network"
+msgstr "Мрежа"
+
+#: extensions/places-menu/placeDisplay.js:353
+msgid "Trash"
+msgstr "Канта"
#:
extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14
msgid "Cycle Screenshot Sizes"
@@ -167,35 +165,35 @@
msgid "Download stats"
msgstr "Статистика преузимања датотека"
-#: extensions/system-monitor/extension.js:364
+#: extensions/system-monitor/extension.js:365
msgid "System stats"
msgstr "Статистика система"
-#: extensions/system-monitor/extension.js:412
+#: extensions/system-monitor/extension.js:413
msgid "Show"
msgstr "Прикажи"
-#: extensions/system-monitor/extension.js:414
+#: extensions/system-monitor/extension.js:415
msgid "CPU"
msgstr "Процесор"
-#: extensions/system-monitor/extension.js:416
+#: extensions/system-monitor/extension.js:417
msgid "Memory"
msgstr "Меморија"
-#: extensions/system-monitor/extension.js:418
+#: extensions/system-monitor/extension.js:419
msgid "Swap"
msgstr "Свап"
-#: extensions/system-monitor/extension.js:420
+#: extensions/system-monitor/extension.js:421
msgid "Upload"
msgstr "Слање"
-#: extensions/system-monitor/extension.js:422
+#: extensions/system-monitor/extension.js:423
msgid "Download"
msgstr "Преузимање"
-#: extensions/system-monitor/extension.js:427
+#: extensions/system-monitor/extension.js:428
msgid "Open System Monitor"
msgstr "Отвори монитор система"
@@ -227,47 +225,47 @@
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Назив теме који се учитава из датотеке „~/.themes/name/gnome-shell“"
-#: extensions/window-list/extension.js:70
+#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Затвори"
-#: extensions/window-list/extension.js:97
+#: extensions/window-list/extension.js:125
msgid "Unminimize"
msgstr "Поништи умањење"
-#: extensions/window-list/extension.js:97
+#: extensions/window-list/extension.js:125
msgid "Minimize"
msgstr "Умањи"
-#: extensions/window-list/extension.js:104
+#: extensions/window-list/extension.js:130
msgid "Unmaximize"
msgstr "Поништи увећање"
-#: extensions/window-list/extension.js:104
+#: extensions/window-list/extension.js:130
msgid "Maximize"
msgstr "Увећај"
-#: extensions/window-list/extension.js:485
+#: extensions/window-list/extension.js:719
msgid "Minimize all"
msgstr "Умањи све"
-#: extensions/window-list/extension.js:491
+#: extensions/window-list/extension.js:725
msgid "Unminimize all"
msgstr "Поништи умањење свега"
-#: extensions/window-list/extension.js:497
+#: extensions/window-list/extension.js:731
msgid "Maximize all"
msgstr "Увећај све"
-#: extensions/window-list/extension.js:505
+#: extensions/window-list/extension.js:739
msgid "Unmaximize all"
msgstr "Поништи увећање свега"
-#: extensions/window-list/extension.js:513
+#: extensions/window-list/extension.js:747
msgid "Close all"
msgstr "Затвори све"
-#: extensions/window-list/extension.js:780
+#: extensions/window-list/extension.js:999 extensions/window-list/prefs.js:23
msgid "Window List"
msgstr "Списак прозора"
@@ -285,7 +283,7 @@
"(увек)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
-#: extensions/window-list/prefs.js:70
+#: extensions/window-list/prefs.js:74
msgid "Show windows from all workspaces"
msgstr "Прикажи прозоре свих радних простора"
@@ -309,141 +307,79 @@
msgid "Show workspace previews in window list"
msgstr "Прикажи прегледе радних простора у списку прозора"
-#: extensions/window-list/prefs.js:37
+#: extensions/window-list/prefs.js:41
msgid "Window Grouping"
msgstr "Груписање прозора"
-#: extensions/window-list/prefs.js:42
+#: extensions/window-list/prefs.js:46
msgid "Never group windows"
msgstr "Никад не групиши прозоре"
-#: extensions/window-list/prefs.js:43
+#: extensions/window-list/prefs.js:47
msgid "Group windows when space is limited"
msgstr "Групиши прозоре када је простор ограничен"
-#: extensions/window-list/prefs.js:44
+#: extensions/window-list/prefs.js:48
msgid "Always group windows"
msgstr "Увек групиши прозоре"
-#: extensions/window-list/prefs.js:64
+#: extensions/window-list/prefs.js:68
msgid "Show on all monitors"
msgstr "Прикажи на свим мониторима"
-#: extensions/window-list/prefs.js:76
-msgid "Show workspace previews"
-msgstr "Прикажи прегледе радних простора"
-
-#: extensions/workspace-indicator/prefs.js:30
-msgid "Show Previews In Top Bar"
-msgstr "Прикажи прегледе у горњој траци"
-
-#: extensions/workspace-indicator/prefs.js:88
-#, javascript-format
-msgid "Workspace %d"
-msgstr "%d. радни простор"
-
-#: extensions/workspace-indicator/prefs.js:155
-msgid "Workspace Names"
-msgstr "Називи радних простора"
-
-#: extensions/workspace-indicator/prefs.js:281
-msgid "Add Workspace"
-msgstr "Додај радни простор"
-
#:
extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
msgid "Show workspace previews in top bar"
msgstr "Прикажи прегледе радних простора у горњој траци"
-#: extensions/workspace-indicator/workspaceIndicator.js:430
-msgid "Workspace Indicator"
-msgstr "Показатељ радних простора"
-
-#~ msgid "Applications"
-#~ msgstr "Програми"
-
-#~ msgid "Application"
-#~ msgstr "Програм"
-
-#~ msgid "Create new matching rule"
-#~ msgstr "Додајте ново правило за поклапање"
-
-#~ msgid "Add"
-#~ msgstr "Додај"
-
-#~ msgid "Name"
-#~ msgstr "Назив"
-
-#~ msgid "Attach modal dialog to the parent window"
-#~ msgstr "Прикачиње прозорче родитељском прозору"
-
-#~ msgid ""
-#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
-#~ msgstr ""
-#~ "Овај кључ превазилази кључ у „org.gnome.mutter“ када покреће Гномову "
-#~ "шкољку."
-
-#~ msgid "Arrangement of buttons on the titlebar"
-#~ msgstr "Распоред дугмића на траци наслова"
-
-#~ msgid ""
-#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
-#~ "running GNOME Shell."
-#~ msgstr ""
-#~ "Овај кључ превазилази кључ у „org.gnome.desktop.wm.preferences“ када "
-#~ "покреће Гномову шкољку."
-
-#~ msgid "Enable edge tiling when dropping windows on screen edges"
-#~ msgstr ""
-#~ "Укључује поплочавање ивице приликом отпуштања прозора на ивицама екрана"
-
-#~ msgid "Workspaces only on primary monitor"
-#~ msgstr "Радни простори само на примарном монитору"
-
-#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
-#~ msgstr ""
-#~ "Застој првог плана се мења у режиму миша док се показивач не заустави"
-
-#~ msgid "Thumbnail only"
-#~ msgstr "Само сличице"
-
-#~ msgid "Application icon only"
-#~ msgstr "Само иконица програма"
-
-#~ msgid "Thumbnail and application icon"
-#~ msgstr "Сличица и иконица програма"
-
-#~ msgid "Present windows as"
-#~ msgstr "Прикажи прозоре као"
-
-#~ msgid "Activities Overview"
-#~ msgstr "Преглед активности"
-
-#~ msgid "Hello, world!"
-#~ msgstr "Поздрав свима!"
-
-#~ msgid "Alternative greeting text."
-#~ msgstr "Неки други поздравни текст."
-
-#~ msgid ""
-#~ "If not empty, it contains the text that will be shown when clicking on "
-#~ "the panel."
-#~ msgstr ""
-#~ "Уколико упишете текст овде, он ће бити приказан када кликнете на панел."
-
-#~ msgid "Message"
-#~ msgstr "Порука"
+#: extensions/workspace-indicator/workspaceIndicator.js:405
+#, javascript-format
+msgid "Press %s to edit"
+msgstr "Притисни %s за измену"
-#~ msgid ""
-#~ "Example aims to show how to build well behaved extensions for the Shell "
-#~ "and as such it has little functionality on its own.\n"
-#~ "Nevertheless it’s possible to customize the greeting message."
-#~ msgstr ""
-#~ "Овај пример само показује како се пише добро проширење за Гномову шкољку, "
-#~ "тако да вам не значи пуно.\n"
-#~ "Ипак, можете изменити поздравну поруку помоћу овог проширења."
+#: extensions/workspace-indicator/workspaceIndicator.js:528
+msgid "Settings"
+msgstr "Поставке"
-#~ msgid "GNOME Shell Classic"
-#~ msgstr "Класична Гномова шкољка"
+#: extensions/workspace-indicator/workspaceIndicator.js:613
+msgid "Workspace Indicator"
+msgstr "Показатељ радних простора"
-#~ msgid "Window management and application launching"
-#~ msgstr "Управљање прозорима и покретање програма"
+#: extensions/workspace-indicator/workspacePrefs.js:20
+msgid "Indicator"
+msgstr "Показатељ"
+
+#: extensions/workspace-indicator/workspacePrefs.js:25
+msgid "Previews"
+msgstr "Прегледи"
+
+#: extensions/workspace-indicator/workspacePrefs.js:35
+msgid "Workspace Name"
+msgstr "Назив радног простора"
+
+#: extensions/workspace-indicator/workspacePrefs.js:59
+msgid "Behavior"
+msgstr "Понашање"
+
+#: extensions/workspace-indicator/workspacePrefs.js:64
+msgid "Dynamic"
+msgstr "Динамика"
+
+#: extensions/workspace-indicator/workspacePrefs.js:65
+msgid "Automatically removes empty workspaces."
+msgstr "Самостално уклања празне радне просторе."
+
+#: extensions/workspace-indicator/workspacePrefs.js:75
+msgid "Fixed Number"
+msgstr "Сталан број"
+
+#: extensions/workspace-indicator/workspacePrefs.js:76
+msgid "Specify a number of permanent workspaces."
+msgstr "Наведите број трајних радних простора"
+
+#: extensions/workspace-indicator/workspacePrefs.js:89
+msgid "Number of Workspaces"
+msgstr "Број радних простора"
+
+#: extensions/workspace-indicator/workspacePrefs.js:128
+msgid "Workspaces"
+msgstr "Радни простори"
++++++ gnome-shell-extensions.obsinfo ++++++
--- /var/tmp/diff_new_pack.XE4nTr/_old 2026-04-21 12:48:10.474771573 +0200
+++ /var/tmp/diff_new_pack.XE4nTr/_new 2026-04-21 12:48:10.486772071 +0200
@@ -1,5 +1,5 @@
name: gnome-shell-extensions
-version: 50.0
-mtime: 1773508628
-commit: e396ef1e1503c0baf43834fc7bb2ec9856bba7d3
+version: 50.1
+mtime: 1776177467
+commit: e848ae6a05035b1576ee90bb986f2d67c031fc22