Compare commits

..

9 Commits

Author SHA1 Message Date
Florian Müllner
8819ed01c8 Bump version to 49.alpha.0
Update NEWS.
2025-06-08 13:40:14 +02:00
Florian Müllner
59e6aefd5e build: Use build-aux for auxiliary build scripts
This is the name most projects have settled on, so let's use that
as well.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/406>
2025-06-08 13:22:39 +02:00
Emilio Sepúlveda
7c6c4f0ef9 Update Interlingua translation 2025-05-27 00:22:06 +00:00
Neal Gompa
2552c92fe1 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>
2025-05-12 21:45:26 +00:00
Jordan Petridis
d6b605e801 meson: Switch the x11 default value to false
We might remove it completely this cycle, but till then we certainly want
to disable it by default regardless

Mirror change of gnome-session [1]

[1] 21f10a9eda

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/399>
2025-05-12 22:49:54 +03:00
Florian Müllner
b0b0f527be screenshot-window-sizer: Adapt to maximization changes
Mutter now exposes the is_maximized() method for checking for
full maximization, and the plain (un)maximize() methods no
longer cover partial maximization.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/398>
2025-05-07 13:17:56 +02:00
Florian Müllner
30f4beb3e1 window-list: Adapt to maximization changes
Mutter now exposes the is_maximized() method for checking for
full maximization, and the plain (un)maximize() methods no
longer cover partial maximization.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/398>
2025-05-07 13:16:34 +02:00
Neal Gompa
b05eb4eb6d 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>
2025-04-24 09:40:01 -04:00
Daniel Buch Hansen
e06b1e8236 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>
2025-04-14 18:57:14 +02:00
12 changed files with 53 additions and 65 deletions

18
NEWS
View File

@@ -1,17 +1,15 @@
48.3
====
* Misc. bug fixes and cleanups [Florian; !409, !411, !405, !413]
Contributors:
Florian Müllner
48.2
====
49.alpha.0
==========
* windowsNavigator: Fix handling keyboard shortcuts [Daniel; !395]
* build: Allow disabling the X11 session [Neal; !396, !400]
* Disable X11 session by default [Jordan; !399]
* Misc. bug fixes and cleanups [Florian; !398, !406]
Contributors:
Daniel Buch Hansen, Neal Gompa
Daniel Buch Hansen, Neal Gompa, Florian Müllner, Jordan Petridis
Translators:
Emilio Sepúlveda [ia]
48.1
====

View File

@@ -23,7 +23,7 @@ foreach name : session_desktops
session_instdir = wlsessiondir
else
# FIXME: The same target can not be copied into two directories.
# There is a workaround in meson/session-post-install.py until proper
# There is a workaround in build-aux/session-post-install.py until proper
# solution arises:
# https://github.com/mesonbuild/meson/issues/2416
session_instdir = wlsessiondir

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 {
} catch (e) {
continue;
}
let app = appSys.lookup_app(id);

View File

@@ -70,8 +70,8 @@ export default class ScreenshotWindowSizerExtension extends Extension {
const backwards = binding.is_reversed();
// Unmaximize first
if (window.get_maximized() !== 0)
window.unmaximize(Meta.MaximizeFlags.BOTH);
if (window.is_maximized())
window.unmaximize();
let workArea = window.get_work_area_current_monitor();
let outerRect = window.get_frame_rect();

View File

@@ -85,10 +85,10 @@ class WindowContextMenu extends PopupMenu.PopupMenu {
this._maximizeItem = new PopupMenu.PopupMenuItem('');
this._maximizeItem.connect('activate', () => {
if (this._metaWindow.get_maximized() === Meta.MaximizeFlags.BOTH)
this._metaWindow.unmaximize(Meta.MaximizeFlags.BOTH);
if (this._metaWindow.is_maximized())
this._metaWindow.unmaximize();
else
this._metaWindow.maximize(Meta.MaximizeFlags.BOTH);
this._metaWindow.maximize();
});
this.addMenuItem(this._maximizeItem);
@@ -123,9 +123,7 @@ class WindowContextMenu extends PopupMenu.PopupMenu {
}
_updateMaximizeItem() {
let maximized = this._metaWindow.maximized_vertically &&
this._metaWindow.maximized_horizontally;
this._maximizeItem.label.text = maximized
this._maximizeItem.label.text = this._metaWindow.is_maximized()
? _('Unmaximize') : _('Maximize');
}
}
@@ -432,10 +430,12 @@ 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;
@@ -731,7 +731,7 @@ class AppContextMenu extends PopupMenu.PopupMenu {
this._maximizeItem = new PopupMenu.PopupMenuItem(_('Maximize all'));
this._maximizeItem.connect('activate', () => {
this._appButton.getWindowList().forEach(w => {
w.maximize(Meta.MaximizeFlags.BOTH);
w.maximize();
});
});
this.addMenuItem(this._maximizeItem);
@@ -739,7 +739,7 @@ class AppContextMenu extends PopupMenu.PopupMenu {
this._unmaximizeItem = new PopupMenu.PopupMenuItem(_('Unmaximize all'));
this._unmaximizeItem.connect('activate', () => {
this._appButton.getWindowList().forEach(w => {
w.unmaximize(Meta.MaximizeFlags.BOTH);
w.unmaximize();
});
});
this.addMenuItem(this._unmaximizeItem);
@@ -758,10 +758,10 @@ class AppContextMenu extends PopupMenu.PopupMenu {
this._minimizeItem.visible = windows.some(w => !w.minimized);
this._unminimizeItem.visible = windows.some(w => w.minimized);
this._maximizeItem.visible = windows.some(w => {
return w.get_maximized() !== Meta.MaximizeFlags.BOTH;
return !w.is_maximized();
});
this._unmaximizeItem.visible = windows.some(w => {
return w.get_maximized() === Meta.MaximizeFlags.BOTH;
return w.is_maximized();
});
super.open(animate);
@@ -981,20 +981,11 @@ class WindowList extends St.Widget {
() => this._onWorkspaceMenuSet(), this);
this._onWorkspaceMenuSet();
const inOverview = Main.overview.visible ||
(Main.layoutManager._startingUp && Main.sessionMode.hasOverview);
const overviewChromeOptions = {
affectsStruts: true,
};
const chromeOptions = {
...overviewChromeOptions,
affectsStruts: true,
trackFullscreen: true,
};
Main.layoutManager.addChrome(this, inOverview
? overviewChromeOptions
: chromeOptions);
Main.layoutManager.addChrome(this, chromeOptions);
Main.uiGroup.set_child_above_sibling(this, Main.layoutManager.panelBox);
Main.ctrlAltTabManager.addGroup(this, _('Window List'), 'start-here-symbolic');
@@ -1031,17 +1022,20 @@ class WindowList extends St.Widget {
Main.overview.connectObject(
'showing', () => {
this._retrackChrome(overviewChromeOptions);
Main.layoutManager.untrackChrome(this);
this.hide();
this._updateKeyboardAnchor();
},
'hidden', () => {
this._retrackChrome(chromeOptions);
Main.layoutManager.trackChrome(this, 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);
@@ -1107,11 +1101,6 @@ 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

@@ -459,6 +459,8 @@ 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,7 +30,6 @@ 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.3',
version: '49.alpha.0',
meson_version: '>= 1.1.0',
license: 'GPL-2.0-or-later',
)
@@ -90,7 +90,7 @@ if classic_mode_enabled
subdir('data')
if have_x11
meson.add_install_script(
'meson/session-post-install.py',
'build-aux/session-post-install.py',
join_paths(get_option('prefix'), datadir),
)
endif
@@ -101,7 +101,7 @@ subdir('po')
gnome.post_install(glib_compile_schemas: true)
meson.add_dist_script('meson/check-version.py', meson.project_version(), 'NEWS')
meson.add_dist_script('build-aux/check-version.py', meson.project_version(), 'NEWS')
summary_options = {
'extensions': enabled_extensions,

View File

@@ -23,6 +23,6 @@ option('classic_mode',
option('x11',
type: 'boolean',
value: true,
value: false,
description: 'Enable X11 session support.'
)

View File

@@ -9,10 +9,10 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions main\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2025-02-13 00:15+0000\n"
"PO-Revision-Date: 2025-02-14 10:36-0300\n"
"POT-Creation-Date: 2025-05-15 14:23+0000\n"
"PO-Revision-Date: 2025-05-26 20:20-0400\n"
"Last-Translator: Emilio Sepúlveda <emism.translations@gmail.com>\n"
"Language-Team: Interlingua\n"
"Language-Team: Interlingua <softinterlingua@gmail.com>\n"
"Language: ia\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -23,7 +23,7 @@ msgstr ""
"X-DL-Domain: po\n"
"X-DL-State: Translating\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Gtranslator 47.1\n"
"X-Generator: Gtranslator 48.0\n"
#: data/gnome-classic.desktop.in:3
msgid "GNOME Classic"
@@ -42,11 +42,11 @@ msgstr "GNOME Classic sur Wayland"
msgid "GNOME Classic on Xorg"
msgstr "GNOME Classic sur Xorg"
#: extensions/apps-menu/extension.js:125
#: extensions/apps-menu/extension.js:118
msgid "Favorites"
msgstr "Favoritos"
#: extensions/apps-menu/extension.js:399
#: extensions/apps-menu/extension.js:392
msgid "Apps"
msgstr "Applicationes"
@@ -172,7 +172,7 @@ msgstr "Statos del intercambio"
#: extensions/system-monitor/extension.js:336
msgid "Upload stats"
msgstr "Statisticas de carga"
msgstr "Statisticas de incarga"
#: extensions/system-monitor/extension.js:350
msgid "Download stats"
@@ -200,7 +200,7 @@ msgstr "Intercambio"
#: extensions/system-monitor/extension.js:420
msgid "Upload"
msgstr "Carga"
msgstr "Incarga"
#: extensions/system-monitor/extension.js:422
msgid "Download"
@@ -224,7 +224,7 @@ msgstr "Monstrar usage del intercambio"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24
msgid "Show upload"
msgstr "Monstrar carga"
msgstr "Monstrar incarga"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:28
msgid "Show download"
@@ -236,7 +236,7 @@ msgstr "Nomine de thema"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:12
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Le nomine del thema a cargar desde ~/.themes/nomine/gnome-shell"
msgstr "Le nomine del thema a cargar ab ~/.themes/nomine/gnome-shell"
#: extensions/window-list/extension.js:95
msgid "Close"
@@ -250,35 +250,35 @@ msgstr "Disminimisar"
msgid "Minimize"
msgstr "Minimisar"
#: extensions/window-list/extension.js:129
#: extensions/window-list/extension.js:127
msgid "Unmaximize"
msgstr "Dismaximisar"
#: extensions/window-list/extension.js:129
#: extensions/window-list/extension.js:127
msgid "Maximize"
msgstr "Maximisar"
#: extensions/window-list/extension.js:721
#: extensions/window-list/extension.js:719
msgid "Minimize all"
msgstr "Minimisar toto"
#: extensions/window-list/extension.js:727
#: extensions/window-list/extension.js:725
msgid "Unminimize all"
msgstr "Disminimisar toto"
#: extensions/window-list/extension.js:733
#: extensions/window-list/extension.js:731
msgid "Maximize all"
msgstr "Maximisar toto"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:739
msgid "Unmaximize all"
msgstr "Dismaximisar toto"
#: extensions/window-list/extension.js:749
#: extensions/window-list/extension.js:747
msgid "Close all"
msgstr "Clauder toto"
#: extensions/window-list/extension.js:992 extensions/window-list/prefs.js:23
#: extensions/window-list/extension.js:990 extensions/window-list/prefs.js:23
msgid "Window List"
msgstr "Lista de fenestras"