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
10 changed files with 69 additions and 43 deletions

13
NEWS
View File

@@ -1,3 +1,16 @@
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, Florian Müllner, Jordan Petridis
Translators:
Emilio Sepúlveda [ia]
48.1
====

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)

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')
@@ -18,10 +23,10 @@ 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 = xsessiondir
session_instdir = wlsessiondir
#session_instdir = [ xesssiondir, wlsessiondir ]
endif
i18n.merge_file(

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');
}
}
@@ -733,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);
@@ -741,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);
@@ -760,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);

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

@@ -4,7 +4,7 @@
project(
'gnome-shell-extensions',
version: '48.1',
version: '49.alpha.0',
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(
'build-aux/session-post-install.py',
join_paths(get_option('prefix'), datadir),
)
endif
endif
subdir('extensions')
@@ -97,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

@@ -20,3 +20,9 @@ option('classic_mode',
value: false,
description: 'Enable installing data files for classic mode.'
)
option('x11',
type: 'boolean',
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"