Compare commits

...

21 Commits

Author SHA1 Message Date
Jeremy Bícha
b7168f8956 releasing package gnome-shell-extensions version 48.3-1 2025-08-12 19:19:35 -04:00
Jeremy Bícha
d772e27d9c d/control, d/gbp.conf: update branch for forky 2025-08-12 19:18:35 -04:00
Simon McVittie
4a5d4adb55 New upstream release 2025-07-28 10:26:06 +01:00
Simon McVittie
8e55027061 Update upstream source from tag 'upstream/48.3'
Update to upstream version '48.3'
with Debian dir 9dc43a912c
2025-07-28 10:21:41 +01:00
Simon McVittie
d70eb1cb72 New upstream version 48.3 2025-07-28 10:21:40 +01:00
Simon McVittie
11ca31c7cb d/control, d/gbp.conf, d/watch: Track only 48.x branch for trixie
This should be reverted when we are ready to package GNOME 49 in forky.
2025-07-28 10:21:18 +01:00
Florian Müllner
2dd9ae80ca Bump version to 48.3
Update NEWS.
2025-06-29 12:56:57 +02:00
Florian Müllner
00b30c1a47 cleanup: Remove unused eslint-disable directives
The 'camelcase' rule only applies to variables and properties,
not to function names are getter/setter.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/413>
(cherry picked from commit 9e11ec9940)
2025-06-29 01:52:59 +02:00
Florian Müllner
5f68dd5645 cleanup: Remove unused catch bindings
Optional catch bindings have been supported for quite a while now,
so we can treat unused error bindings in catch statements like
any other unused variable.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/413>
(cherry picked from commit 3a76b9eec4)
2025-06-29 01:52:53 +02:00
Florian Müllner
752ed054fe workspace-indicator: Remove left-over variable
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/405>
(cherry picked from commit 53ba3ce620)
2025-06-29 01:52:39 +02:00
Florian Müllner
88c420f8f2 lint: Require dangling comma in multi-line imports
This keeps the config in line with gjs, which added the option
in gjs@f7d3b5d4c8.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/411>
(cherry picked from commit 301017904b)
2025-06-29 01:52:34 +02:00
Florian Müllner
0e31708227 window-list: Only remove fullscreen tracking in overview
Since commit 981e8e42e2, we untrack chrome in the overview to avoid
fullscreen tracking interfering with hiding the window list in the
overview.

However this also means that we no longer contribute to the struts
while in the overview, which can lead to unwanted window resizes
around the transition.

So instead of fully untracking the actor, retrack without fullscreen
tracking.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/409>
(cherry picked from commit 0ad959de1e)
2025-06-29 01:52:20 +02:00
Florian Müllner
5ec6daa8e5 Revert "window-list: Fix initial visibility"
Since we no longer track fullscreen state in the overview,
the workaround is no longer necessary.

This reverts commit 6ee4205f1e.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/409>
(cherry picked from commit a3ff3c79b2)
2025-06-29 01:51:57 +02:00
Jeremy Bícha
edb105ecec releasing package gnome-shell-extensions version 48.2-1 2025-05-27 09:02:09 -04:00
Jeremy Bícha
3b2a9c1e44 New upstream release 2025-05-27 09:01:39 -04:00
Jeremy Bícha
e3822036de Update upstream source from tag 'upstream/48.2'
Update to upstream version '48.2'
with Debian dir 8476855c2f
2025-05-27 09:01:39 -04:00
Jeremy Bícha
4052f0694e New upstream version 48.2 2025-05-27 09:01:38 -04:00
Florian Müllner
f1e2121b5e Bump version to 48.2
Update NEWS.
2025-05-24 19:10:03 +02:00
Neal Gompa
27c86490c2 build: Do not install anything in xsessions when X11 is disabled
Fixes: b05eb4eb6d ("build: Allow disabling the X11 session")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/400>
(cherry picked from commit 2552c92fe1)
2025-05-23 19:09:47 +02:00
Neal Gompa
64900f4a2e build: Allow disabling the X11 session
This is consistent with gnome-session and the rest of the GNOME
session stack.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/396>
(cherry picked from commit b05eb4eb6d)
2025-05-23 19:09:32 +02:00
Daniel Buch Hansen
bf84e5d58f windowsNavigator: Adjust to get_key_focus() changes in Clutter
Clutter.Stage.get_key_focus() now always returns the value of
the Clutter.Stage.keyFocus property, whereas previously it
would return the stage itself when no explicit focus was set.

Adjust the code accordingly.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/561
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/395>
(cherry picked from commit e06b1e8236)
2025-05-23 19:09:21 +02:00
14 changed files with 91 additions and 27 deletions

15
NEWS
View File

@@ -1,3 +1,18 @@
48.3
====
* Misc. bug fixes and cleanups [Florian; !409, !411, !405, !413]
Contributors:
Florian Müllner
48.2
====
* windowsNavigator: Fix handling keyboard shortcuts [Daniel; !395]
* build: Allow disabling the X11 session [Neal; !396, !400]
Contributors:
Daniel Buch Hansen, Neal Gompa
48.1
====

View File

@@ -2,14 +2,19 @@
#
# SPDX-License-Identifier: GPL-2.0-or-later
have_x11 = get_option('x11')
session_desktop_base = 'gnome-classic'
session_desktops = [
session_desktop_base,
session_desktop_base + '-xorg',
session_desktop_base + '-wayland',
]
if have_x11
session_desktops += [session_desktop_base + '-xorg']
endif
foreach name : session_desktops
session_desktop = name + '.desktop'
if name.endswith('-xorg')
@@ -21,7 +26,7 @@ foreach name : session_desktops
# There is a workaround in meson/session-post-install.py until proper
# solution arises:
# https://github.com/mesonbuild/meson/issues/2416
session_instdir = xsessiondir
session_instdir = wlsessiondir
#session_instdir = [ xesssiondir, wlsessiondir ]
endif
i18n.merge_file(

26
debian/changelog vendored
View File

@@ -1,3 +1,29 @@
gnome-shell-extensions (48.3-1) unstable; urgency=medium
[ Simon McVittie ]
* d/control, d/gbp.conf, d/watch: Track only 48.x branch for trixie
* New upstream bugfix release
- window-list: Avoid unwanted window resizes around transition between
overview and normal mode
(gnome-shell-extensions!409 upstream)
- workspace-indicator: Remove an unused variable
(gnome-shell-extensions!405 upstream)
- apps-menu: Remove an unused variable binding when catching an error
(gnome-shell-extensions!405 upstream)
- Lint fixes
(gnome-shell-extensions!411, gnome-shell-extensions!413 upstream)
[ Jeremy Bícha ]
* d/control, d/gbp.conf: update branch for forky
-- Jeremy Bícha <jbicha@ubuntu.com> Tue, 12 Aug 2025 19:19:18 -0400
gnome-shell-extensions (48.2-1) unstable; urgency=medium
* New upstream bugfix release
-- Jeremy Bícha <jbicha@ubuntu.com> Tue, 27 May 2025 09:01:55 -0400
gnome-shell-extensions (48.1-1) unstable; urgency=medium
* New upstream release

2
debian/control vendored
View File

@@ -11,7 +11,7 @@ Build-Depends: debhelper-compat (= 13),
sassc
Standards-Version: 4.7.0
Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-shell-extensions
Vcs-Git: https://salsa.debian.org/gnome-team/gnome-shell-extensions.git
Vcs-Git: https://salsa.debian.org/gnome-team/gnome-shell-extensions.git -b debian/forky
Homepage: https://wiki.gnome.org/Projects/GnomeShell/Extensions
Package: gnome-shell-extensions

4
debian/gbp.conf vendored
View File

@@ -1,7 +1,7 @@
[DEFAULT]
pristine-tar = True
debian-branch = debian/latest
upstream-branch = upstream/latest
debian-branch = debian/forky
upstream-branch = upstream/48.x
[buildpackage]
sign-tags = True

2
debian/watch vendored
View File

@@ -1,4 +1,4 @@
version=4
opts="searchmode=plain, uversionmangle=s/\.(alpha|beta|rc)/~$1/, downloadurlmangle=s|cache.json||" \
https://download.gnome.org/sources/@PACKAGE@/cache.json \
[\d.]+/@PACKAGE@-([\d.]+\.?(?:beta|rc)?[\d.]*)@ARCHIVE_EXT@
48/@PACKAGE@-([\d.]+\.?(?:beta|rc)?[\d.]*)@ARCHIVE_EXT@

View File

@@ -488,7 +488,7 @@ class ApplicationsButton extends PanelMenu.Button {
let id;
try {
id = entry.get_desktop_file_id(); // catch non-UTF8 filenames
} catch (e) {
} catch {
continue;
}
let app = appSys.lookup_app(id);

View File

@@ -432,12 +432,10 @@ class BaseButton extends DashItemContainer {
return this._button.has_style_class_name('focused');
}
// eslint-disable-next-line camelcase
get ignore_workspace() {
return this._ignoreWorkspace;
}
// eslint-disable-next-line camelcase
set ignore_workspace(ignore) {
if (this._ignoreWorkspace === ignore)
return;
@@ -983,11 +981,20 @@ class WindowList extends St.Widget {
() => this._onWorkspaceMenuSet(), this);
this._onWorkspaceMenuSet();
const chromeOptions = {
const inOverview = Main.overview.visible ||
(Main.layoutManager._startingUp && Main.sessionMode.hasOverview);
const overviewChromeOptions = {
affectsStruts: true,
};
const chromeOptions = {
...overviewChromeOptions,
trackFullscreen: true,
};
Main.layoutManager.addChrome(this, chromeOptions);
Main.layoutManager.addChrome(this, inOverview
? overviewChromeOptions
: chromeOptions);
Main.uiGroup.set_child_above_sibling(this, Main.layoutManager.panelBox);
Main.ctrlAltTabManager.addGroup(this, _('Window List'), 'start-here-symbolic');
@@ -1024,20 +1031,17 @@ class WindowList extends St.Widget {
Main.overview.connectObject(
'showing', () => {
Main.layoutManager.untrackChrome(this);
this._retrackChrome(overviewChromeOptions);
this.hide();
this._updateKeyboardAnchor();
},
'hidden', () => {
Main.layoutManager.trackChrome(this, chromeOptions);
this._retrackChrome(chromeOptions);
this.visible = !this._monitor.inFullscreen;
this._updateKeyboardAnchor();
}, this);
global.display.connectObject('in-fullscreen-changed', () => {
// Work-around for initial change from unknown to !fullscreen
if (Main.overview.visible)
this.hide();
this._updateKeyboardAnchor();
}, this);
@@ -1103,6 +1107,11 @@ class WindowList extends St.Widget {
this._monitor.y + this._monitor.height - this.height);
}
_retrackChrome(options) {
Main.layoutManager.untrackChrome(this);
Main.layoutManager.trackChrome(this, options);
}
_updateWorkspaceIndicatorVisibility() {
let workspaceManager = global.workspace_manager;
let hasWorkspaces = this._mutterSettings.get_boolean('dynamic-workspaces') ||

View File

@@ -173,7 +173,7 @@ export default class Extension {
this._injectionManager.overrideMethod(viewProto, '_hideTooltips', () => {
/* eslint-disable no-invalid-this */
return function () {
if (global.stage.get_key_focus() === global.stage)
if (global.stage.get_key_focus() === null)
global.stage.set_key_focus(this._prevFocusActor);
this._pickWindow = false;
for (let i = 0; i < this._workspaces.length; i++)
@@ -235,7 +235,7 @@ export default class Extension {
return true;
}
if (global.stage.get_key_focus() !== global.stage)
if (global.stage.get_key_focus() !== null)
return false;
// ignore shift presses, they're required to get numerals in azerty keyboards

View File

@@ -459,8 +459,6 @@ export class WorkspaceIndicator extends PanelMenu.Button {
this._thumbnails = new WorkspacePreviews();
container.add_child(this._thumbnails);
this._workspacesItems = [];
workspaceManager.connectObject(
'workspace-switched', this._onWorkspaceSwitched.bind(this), GObject.ConnectFlags.AFTER,
this);

View File

@@ -30,6 +30,7 @@ rules:
- error
- arrays: always-multiline
objects: always-multiline
imports: always-multiline
functions: never
comma-spacing:
- error

View File

@@ -4,7 +4,7 @@
project(
'gnome-shell-extensions',
version: '48.1',
version: '48.3',
meson_version: '>= 1.1.0',
license: 'GPL-2.0-or-later',
)
@@ -31,6 +31,8 @@ shell_version = ver_arr[0]
uuid_suffix = '@gnome-shell-extensions.gcampax.github.com'
have_x11 = get_option('x11')
classic_extensions = [
'apps-menu',
'places-menu',
@@ -86,10 +88,12 @@ endforeach
if classic_mode_enabled
subdir('data')
meson.add_install_script(
'meson/session-post-install.py',
join_paths(get_option('prefix'), datadir),
)
if have_x11
meson.add_install_script(
'meson/session-post-install.py',
join_paths(get_option('prefix'), datadir),
)
endif
endif
subdir('extensions')

View File

@@ -20,3 +20,9 @@ option('classic_mode',
value: false,
description: 'Enable installing data files for classic mode.'
)
option('x11',
type: 'boolean',
value: true,
description: 'Enable X11 session support.'
)

View File

@@ -15,10 +15,10 @@ else:
# FIXME: Meson is unable to copy a generated target file:
# https://groups.google.com/forum/#!topic/mesonbuild/3iIoYPrN4P0
dst_dir = os.path.join(install_root, 'wayland-sessions')
dst_dir = os.path.join(install_root, 'xsessions')
if not os.path.exists(dst_dir):
os.makedirs(dst_dir)
src = os.path.join(install_root, 'xsessions', 'gnome-classic.desktop')
src = os.path.join(install_root, 'wayland-sessions', 'gnome-classic.desktop')
dst = os.path.join(dst_dir, 'gnome-classic.desktop')
shutil.copyfile(src, dst)