Compare commits
10 Commits
upstream/4
...
47.6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aa8c38a1d1 | ||
|
|
f6f867a8c9 | ||
|
|
57dde50df3 | ||
|
|
62dfc2c415 | ||
|
|
4be569660b | ||
|
|
bc136c600d | ||
|
|
c501931155 | ||
|
|
f53c8fd4bc | ||
|
|
d7db924424 | ||
|
|
71e78265d5 |
14
NEWS
14
NEWS
@@ -1,3 +1,17 @@
|
||||
47.6
|
||||
====
|
||||
* Misc. bug fixes and cleanups [Florian; !409, !411, !405, !413]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
47.5
|
||||
====
|
||||
* Allow disabling the X11 session [Neal; !396, !400]
|
||||
|
||||
Contributors:
|
||||
Neal Gompa
|
||||
|
||||
47.4
|
||||
====
|
||||
* window-list: Fix regression in chrome tracking [Florian; !379]
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -495,7 +495,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);
|
||||
|
||||
@@ -226,12 +226,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;
|
||||
@@ -772,11 +770,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');
|
||||
|
||||
@@ -813,20 +820,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);
|
||||
|
||||
@@ -881,6 +885,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') ||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -30,6 +30,7 @@ rules:
|
||||
- error
|
||||
- arrays: always-multiline
|
||||
objects: always-multiline
|
||||
imports: always-multiline
|
||||
functions: never
|
||||
comma-spacing:
|
||||
- error
|
||||
|
||||
14
meson.build
14
meson.build
@@ -4,7 +4,7 @@
|
||||
|
||||
project(
|
||||
'gnome-shell-extensions',
|
||||
version: '47.4',
|
||||
version: '47.6',
|
||||
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')
|
||||
|
||||
@@ -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.'
|
||||
)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user