Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2dd9ae80ca | |||
| 00b30c1a47 | |||
| 5f68dd5645 | |||
| 752ed054fe | |||
| 88c420f8f2 | |||
| 0e31708227 | |||
| 5ec6daa8e5 | |||
| f1e2121b5e | |||
| 27c86490c2 | |||
| 64900f4a2e | |||
| bf84e5d58f |
@@ -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
|
48.1
|
||||||
====
|
====
|
||||||
|
|
||||||
|
|||||||
+7
-2
@@ -2,14 +2,19 @@
|
|||||||
#
|
#
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
have_x11 = get_option('x11')
|
||||||
|
|
||||||
session_desktop_base = 'gnome-classic'
|
session_desktop_base = 'gnome-classic'
|
||||||
|
|
||||||
session_desktops = [
|
session_desktops = [
|
||||||
session_desktop_base,
|
session_desktop_base,
|
||||||
session_desktop_base + '-xorg',
|
|
||||||
session_desktop_base + '-wayland',
|
session_desktop_base + '-wayland',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
if have_x11
|
||||||
|
session_desktops += [session_desktop_base + '-xorg']
|
||||||
|
endif
|
||||||
|
|
||||||
foreach name : session_desktops
|
foreach name : session_desktops
|
||||||
session_desktop = name + '.desktop'
|
session_desktop = name + '.desktop'
|
||||||
if name.endswith('-xorg')
|
if name.endswith('-xorg')
|
||||||
@@ -21,7 +26,7 @@ foreach name : session_desktops
|
|||||||
# There is a workaround in meson/session-post-install.py until proper
|
# There is a workaround in meson/session-post-install.py until proper
|
||||||
# solution arises:
|
# solution arises:
|
||||||
# https://github.com/mesonbuild/meson/issues/2416
|
# https://github.com/mesonbuild/meson/issues/2416
|
||||||
session_instdir = xsessiondir
|
session_instdir = wlsessiondir
|
||||||
#session_instdir = [ xesssiondir, wlsessiondir ]
|
#session_instdir = [ xesssiondir, wlsessiondir ]
|
||||||
endif
|
endif
|
||||||
i18n.merge_file(
|
i18n.merge_file(
|
||||||
|
|||||||
@@ -488,7 +488,7 @@ class ApplicationsButton extends PanelMenu.Button {
|
|||||||
let id;
|
let id;
|
||||||
try {
|
try {
|
||||||
id = entry.get_desktop_file_id(); // catch non-UTF8 filenames
|
id = entry.get_desktop_file_id(); // catch non-UTF8 filenames
|
||||||
} catch (e) {
|
} catch {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
let app = appSys.lookup_app(id);
|
let app = appSys.lookup_app(id);
|
||||||
|
|||||||
@@ -432,12 +432,10 @@ class BaseButton extends DashItemContainer {
|
|||||||
return this._button.has_style_class_name('focused');
|
return this._button.has_style_class_name('focused');
|
||||||
}
|
}
|
||||||
|
|
||||||
// eslint-disable-next-line camelcase
|
|
||||||
get ignore_workspace() {
|
get ignore_workspace() {
|
||||||
return this._ignoreWorkspace;
|
return this._ignoreWorkspace;
|
||||||
}
|
}
|
||||||
|
|
||||||
// eslint-disable-next-line camelcase
|
|
||||||
set ignore_workspace(ignore) {
|
set ignore_workspace(ignore) {
|
||||||
if (this._ignoreWorkspace === ignore)
|
if (this._ignoreWorkspace === ignore)
|
||||||
return;
|
return;
|
||||||
@@ -983,11 +981,20 @@ class WindowList extends St.Widget {
|
|||||||
() => this._onWorkspaceMenuSet(), this);
|
() => this._onWorkspaceMenuSet(), this);
|
||||||
this._onWorkspaceMenuSet();
|
this._onWorkspaceMenuSet();
|
||||||
|
|
||||||
const chromeOptions = {
|
const inOverview = Main.overview.visible ||
|
||||||
|
(Main.layoutManager._startingUp && Main.sessionMode.hasOverview);
|
||||||
|
|
||||||
|
const overviewChromeOptions = {
|
||||||
affectsStruts: true,
|
affectsStruts: true,
|
||||||
|
};
|
||||||
|
const chromeOptions = {
|
||||||
|
...overviewChromeOptions,
|
||||||
trackFullscreen: true,
|
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.uiGroup.set_child_above_sibling(this, Main.layoutManager.panelBox);
|
||||||
Main.ctrlAltTabManager.addGroup(this, _('Window List'), 'start-here-symbolic');
|
Main.ctrlAltTabManager.addGroup(this, _('Window List'), 'start-here-symbolic');
|
||||||
|
|
||||||
@@ -1024,20 +1031,17 @@ class WindowList extends St.Widget {
|
|||||||
|
|
||||||
Main.overview.connectObject(
|
Main.overview.connectObject(
|
||||||
'showing', () => {
|
'showing', () => {
|
||||||
Main.layoutManager.untrackChrome(this);
|
this._retrackChrome(overviewChromeOptions);
|
||||||
this.hide();
|
this.hide();
|
||||||
this._updateKeyboardAnchor();
|
this._updateKeyboardAnchor();
|
||||||
},
|
},
|
||||||
'hidden', () => {
|
'hidden', () => {
|
||||||
Main.layoutManager.trackChrome(this, chromeOptions);
|
this._retrackChrome(chromeOptions);
|
||||||
this.visible = !this._monitor.inFullscreen;
|
this.visible = !this._monitor.inFullscreen;
|
||||||
this._updateKeyboardAnchor();
|
this._updateKeyboardAnchor();
|
||||||
}, this);
|
}, this);
|
||||||
|
|
||||||
global.display.connectObject('in-fullscreen-changed', () => {
|
global.display.connectObject('in-fullscreen-changed', () => {
|
||||||
// Work-around for initial change from unknown to !fullscreen
|
|
||||||
if (Main.overview.visible)
|
|
||||||
this.hide();
|
|
||||||
this._updateKeyboardAnchor();
|
this._updateKeyboardAnchor();
|
||||||
}, this);
|
}, this);
|
||||||
|
|
||||||
@@ -1103,6 +1107,11 @@ class WindowList extends St.Widget {
|
|||||||
this._monitor.y + this._monitor.height - this.height);
|
this._monitor.y + this._monitor.height - this.height);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_retrackChrome(options) {
|
||||||
|
Main.layoutManager.untrackChrome(this);
|
||||||
|
Main.layoutManager.trackChrome(this, options);
|
||||||
|
}
|
||||||
|
|
||||||
_updateWorkspaceIndicatorVisibility() {
|
_updateWorkspaceIndicatorVisibility() {
|
||||||
let workspaceManager = global.workspace_manager;
|
let workspaceManager = global.workspace_manager;
|
||||||
let hasWorkspaces = this._mutterSettings.get_boolean('dynamic-workspaces') ||
|
let hasWorkspaces = this._mutterSettings.get_boolean('dynamic-workspaces') ||
|
||||||
|
|||||||
@@ -173,7 +173,7 @@ export default class Extension {
|
|||||||
this._injectionManager.overrideMethod(viewProto, '_hideTooltips', () => {
|
this._injectionManager.overrideMethod(viewProto, '_hideTooltips', () => {
|
||||||
/* eslint-disable no-invalid-this */
|
/* eslint-disable no-invalid-this */
|
||||||
return function () {
|
return function () {
|
||||||
if (global.stage.get_key_focus() === global.stage)
|
if (global.stage.get_key_focus() === null)
|
||||||
global.stage.set_key_focus(this._prevFocusActor);
|
global.stage.set_key_focus(this._prevFocusActor);
|
||||||
this._pickWindow = false;
|
this._pickWindow = false;
|
||||||
for (let i = 0; i < this._workspaces.length; i++)
|
for (let i = 0; i < this._workspaces.length; i++)
|
||||||
@@ -235,7 +235,7 @@ export default class Extension {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (global.stage.get_key_focus() !== global.stage)
|
if (global.stage.get_key_focus() !== null)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// ignore shift presses, they're required to get numerals in azerty keyboards
|
// ignore shift presses, they're required to get numerals in azerty keyboards
|
||||||
|
|||||||
@@ -459,8 +459,6 @@ export class WorkspaceIndicator extends PanelMenu.Button {
|
|||||||
this._thumbnails = new WorkspacePreviews();
|
this._thumbnails = new WorkspacePreviews();
|
||||||
container.add_child(this._thumbnails);
|
container.add_child(this._thumbnails);
|
||||||
|
|
||||||
this._workspacesItems = [];
|
|
||||||
|
|
||||||
workspaceManager.connectObject(
|
workspaceManager.connectObject(
|
||||||
'workspace-switched', this._onWorkspaceSwitched.bind(this), GObject.ConnectFlags.AFTER,
|
'workspace-switched', this._onWorkspaceSwitched.bind(this), GObject.ConnectFlags.AFTER,
|
||||||
this);
|
this);
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ rules:
|
|||||||
- error
|
- error
|
||||||
- arrays: always-multiline
|
- arrays: always-multiline
|
||||||
objects: always-multiline
|
objects: always-multiline
|
||||||
|
imports: always-multiline
|
||||||
functions: never
|
functions: never
|
||||||
comma-spacing:
|
comma-spacing:
|
||||||
- error
|
- error
|
||||||
|
|||||||
+9
-5
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
project(
|
project(
|
||||||
'gnome-shell-extensions',
|
'gnome-shell-extensions',
|
||||||
version: '48.1',
|
version: '48.3',
|
||||||
meson_version: '>= 1.1.0',
|
meson_version: '>= 1.1.0',
|
||||||
license: 'GPL-2.0-or-later',
|
license: 'GPL-2.0-or-later',
|
||||||
)
|
)
|
||||||
@@ -31,6 +31,8 @@ shell_version = ver_arr[0]
|
|||||||
|
|
||||||
uuid_suffix = '@gnome-shell-extensions.gcampax.github.com'
|
uuid_suffix = '@gnome-shell-extensions.gcampax.github.com'
|
||||||
|
|
||||||
|
have_x11 = get_option('x11')
|
||||||
|
|
||||||
classic_extensions = [
|
classic_extensions = [
|
||||||
'apps-menu',
|
'apps-menu',
|
||||||
'places-menu',
|
'places-menu',
|
||||||
@@ -86,10 +88,12 @@ endforeach
|
|||||||
|
|
||||||
if classic_mode_enabled
|
if classic_mode_enabled
|
||||||
subdir('data')
|
subdir('data')
|
||||||
meson.add_install_script(
|
if have_x11
|
||||||
'meson/session-post-install.py',
|
meson.add_install_script(
|
||||||
join_paths(get_option('prefix'), datadir),
|
'meson/session-post-install.py',
|
||||||
)
|
join_paths(get_option('prefix'), datadir),
|
||||||
|
)
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
subdir('extensions')
|
subdir('extensions')
|
||||||
|
|||||||
@@ -20,3 +20,9 @@ option('classic_mode',
|
|||||||
value: false,
|
value: false,
|
||||||
description: 'Enable installing data files for classic mode.'
|
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:
|
# FIXME: Meson is unable to copy a generated target file:
|
||||||
# https://groups.google.com/forum/#!topic/mesonbuild/3iIoYPrN4P0
|
# 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):
|
if not os.path.exists(dst_dir):
|
||||||
os.makedirs(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')
|
dst = os.path.join(dst_dir, 'gnome-classic.desktop')
|
||||||
shutil.copyfile(src, dst)
|
shutil.copyfile(src, dst)
|
||||||
|
|||||||
Reference in New Issue
Block a user