diff --git a/NEWS b/NEWS index 41c1f253..01235cf9 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,13 @@ +47.1 +==== +* classic: Add missing top-bar indicators [Florian; !339] +* window-list: Fix window state styling [Florian; !342] +* window-list: Fix "ignore-workspace" setting getting reset [Florian; !341] +* Misc. bug fixes and cleanups [Florian; !337, !338, !345, !347, !349] + +Contributors: + Florian Müllner + 47.0 ==== diff --git a/data/classic.json.in b/data/classic.json.in index ef003e36..cbafdba2 100644 --- a/data/classic.json.in +++ b/data/classic.json.in @@ -5,6 +5,6 @@ "enabledExtensions": [@CLASSIC_EXTENSIONS@], "panel": { "left": ["activities"], "center": [], - "right": ["a11y", "keyboard", "dateMenu", "quickSettings"] + "right": ["screenRecording", "screenSharing", "dwellClick", "a11y", "keyboard", "dateMenu", "quickSettings"] } } diff --git a/export-zips.sh b/export-zips.sh index 2d7383c3..af0cb9a6 100755 --- a/export-zips.sh +++ b/export-zips.sh @@ -8,16 +8,16 @@ srcdir=`dirname $0` srcdir=`(cd $srcdir && pwd)` builddir=`mktemp -p $srcdir -d _build.XXXXXX` || exit 1 -installdir=`mktemp -p $srcdir -d _install.XXXXXX` || exit 1 +destdir=`mktemp -p $srcdir -d _dest.XXXXXX` || exit 1 -meson setup --prefix=$installdir -Dextension_set=all $srcdir $builddir -meson install -C $builddir +meson setup --prefix=/usr -Dextension_set=all $srcdir $builddir +meson install --destdir $destdir -C $builddir rm -rf $srcdir/zip-files mkdir $srcdir/zip-files -extensiondir=$installdir/share/gnome-shell/extensions -schemadir=$installdir/share/glib-2.0/schemas +extensiondir=$destdir/usr/share/gnome-shell/extensions +schemadir=$destdir/usr/share/glib-2.0/schemas for f in $extensiondir/*; do name=`basename ${f%%@*}` @@ -50,4 +50,4 @@ for f in $extensiondir/*; do done rm -rf $builddir -rm -rf $installdir +rm -rf $destdir diff --git a/extensions/auto-move-windows/prefs.js b/extensions/auto-move-windows/prefs.js index 10c14717..683bbdcc 100644 --- a/extensions/auto-move-windows/prefs.js +++ b/extensions/auto-move-windows/prefs.js @@ -45,11 +45,11 @@ class NewItemModel extends GObject.Object { class Rule extends GObject.Object { static [GObject.properties] = { 'app-info': GObject.ParamSpec.object( - 'app-info', 'app-info', 'app-info', + 'app-info', null, null, GObject.ParamFlags.READWRITE, Gio.DesktopAppInfo), 'workspace': GObject.ParamSpec.uint( - 'workspace', 'workspace', 'workspace', + 'workspace', null, null, GObject.ParamFlags.READWRITE, 1, WORKSPACE_MAX, 1), }; @@ -196,7 +196,7 @@ class AutoMoveSettingsWidget extends Adw.PreferencesGroup { class WorkspaceSelector extends Gtk.Widget { static [GObject.properties] = { 'number': GObject.ParamSpec.uint( - 'number', 'number', 'number', + 'number', null, null, GObject.ParamFlags.READWRITE, 1, WORKSPACE_MAX, 1), }; diff --git a/extensions/window-list/extension.js b/extensions/window-list/extension.js index 3edbf8bf..cd0a6d98 100644 --- a/extensions/window-list/extension.js +++ b/extensions/window-list/extension.js @@ -125,10 +125,6 @@ class WindowTitle extends St.BoxLayout { this.label_actor.clutter_text.single_line_mode = true; this.add_child(this.label_actor); - this._textureCache = St.TextureCache.get_default(); - this._textureCache.connectObject('icon-theme-changed', - () => this._updateIcon(), this); - this._metaWindow.connectObject( 'notify::wm-class', () => this._updateIcon(), GObject.ConnectFlags.AFTER, @@ -176,7 +172,7 @@ class BaseButton extends DashItemContainer { GTypeFlags: GObject.TypeFlags.ABSTRACT, Properties: { 'ignore-workspace': GObject.ParamSpec.boolean( - 'ignore-workspace', 'ignore-workspace', 'ignore-workspace', + 'ignore-workspace', null, null, GObject.ParamFlags.READWRITE, false), }, @@ -227,7 +223,7 @@ class BaseButton extends DashItemContainer { } get active() { - return this.has_style_class_name('focused'); + return this._button.has_style_class_name('focused'); } // eslint-disable-next-line camelcase @@ -453,9 +449,9 @@ class WindowButton extends BaseButton { super._updateStyle(); if (this.metaWindow.minimized) - this.add_style_class_name('minimized'); + this._button.add_style_class_name('minimized'); else - this.remove_style_class_name('minimized'); + this._button.remove_style_class_name('minimized'); } _windowEnteredOrLeftMonitor(metaDisplay, monitorIndex, metaWindow) { @@ -591,11 +587,6 @@ class AppButton extends BaseButton { this._appContextMenu.actor.hide(); Main.uiGroup.add_child(this._appContextMenu.actor); - this._textureCache = St.TextureCache.get_default(); - this._textureCache.connectObject('icon-theme-changed', () => { - this._icon.child = app.create_icon_texture(ICON_TEXTURE_SIZE); - }, this); - this.app.connectObject('windows-changed', () => this._windowsChanged(), this); this._windowsChanged(); diff --git a/extensions/window-list/prefs.js b/extensions/window-list/prefs.js index 194d1f9d..0633d590 100644 --- a/extensions/window-list/prefs.js +++ b/extensions/window-list/prefs.js @@ -30,6 +30,8 @@ class WindowListPrefsWidget extends Adw.PreferencesPage { this._settings.create_action('show-on-all-monitors')); this._actionGroup.add_action( this._settings.create_action('display-all-workspaces')); + this._actionGroup.add_action( + this._settings.create_action('embed-previews')); const groupingGroup = new Adw.PreferencesGroup({ title: _('Window Grouping'), @@ -58,41 +60,22 @@ class WindowListPrefsWidget extends Adw.PreferencesPage { const miscGroup = new Adw.PreferencesGroup(); this.add(miscGroup); - let toggle = new Gtk.Switch({ - action_name: 'window-list.show-on-all-monitors', - valign: Gtk.Align.CENTER, - }); - let row = new Adw.ActionRow({ + let row = new Adw.SwitchRow({ title: _('Show on all monitors'), - activatable_widget: toggle, + action_name: 'window-list.show-on-all-monitors', }); - row.add_suffix(toggle); miscGroup.add(row); - toggle = new Gtk.Switch({ - action_name: 'window-list.display-all-workspaces', - valign: Gtk.Align.CENTER, - }); - this._settings.bind('display-all-workspaces', - toggle, 'active', Gio.SettingsBindFlags.DEFAULT); - row = new Adw.ActionRow({ + row = new Adw.SwitchRow({ title: _('Show windows from all workspaces'), - activatable_widget: toggle, + action_name: 'window-list.display-all-workspaces', }); - row.add_suffix(toggle); miscGroup.add(row); - toggle = new Gtk.Switch({ - action_name: 'window-list.embed-previews', - valign: Gtk.Align.CENTER, - }); - this._settings.bind('embed-previews', - toggle, 'active', Gio.SettingsBindFlags.DEFAULT); - row = new Adw.ActionRow({ + row = new Adw.SwitchRow({ title: _('Show workspace previews'), - activatable_widget: toggle, + action_name: 'window-list.embed-previews', }); - row.add_suffix(toggle); miscGroup.add(row); } } diff --git a/extensions/window-list/stylesheet-dark.css b/extensions/window-list/stylesheet-dark.css index b9087971..f02fca60 100644 --- a/extensions/window-list/stylesheet-dark.css +++ b/extensions/window-list/stylesheet-dark.css @@ -81,7 +81,3 @@ width: 24px; height: 24px; } - -.notification { - font-weight: normal; -} diff --git a/extensions/window-list/stylesheet-light.css b/extensions/window-list/stylesheet-light.css index 375fd1bf..f9c51f8e 100644 --- a/extensions/window-list/stylesheet-light.css +++ b/extensions/window-list/stylesheet-light.css @@ -21,21 +21,11 @@ text-shadow: none; } - .bottom-panel .window-button > StWidget { - -st-natural-width: 18.7em; - max-width: 18.75em; - } - .window-button > StWidget { color: #000; background-color: transparent; } -.window-button > StWidget { - -st-natural-width: 18.75em; - max-width: 18.75em; -} - .window-button:hover > StWidget { background-color: st-darken(#eee,5%); } diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js index 20d4caa2..18a8d4e9 100644 --- a/extensions/workspace-indicator/workspaceIndicator.js +++ b/extensions/workspace-indicator/workspaceIndicator.js @@ -113,11 +113,11 @@ class WorkspaceLayout extends Clutter.LayoutManager { class WorkspaceThumbnail extends St.Button { static [GObject.properties] = { 'active': GObject.ParamSpec.boolean( - 'active', '', '', + 'active', null, null, GObject.ParamFlags.READWRITE, false), 'show-label': GObject.ParamSpec.boolean( - 'show-label', '', '', + 'show-label', null, null, GObject.ParamFlags.READWRITE, false), }; @@ -311,7 +311,7 @@ class WorkspaceThumbnail extends St.Button { class WorkspacePreviews extends Clutter.Actor { static [GObject.properties] = { 'show-labels': GObject.ParamSpec.boolean( - 'show-labels', '', '', + 'show-labels', null, null, GObject.ParamFlags.READWRITE | GObject.ParamFlags.CONSTRUCT_ONLY, false), }; diff --git a/meson.build b/meson.build index 46adf6cf..8609d9dd 100644 --- a/meson.build +++ b/meson.build @@ -3,8 +3,8 @@ # SPDX-License-Identifier: GPL-2.0-or-later project('gnome-shell-extensions', - version: '47.0', - meson_version: '>= 0.58.0', + version: '47.1', + meson_version: '>= 1.1.0', license: 'GPL2+' ) diff --git a/meson_options.txt b/meson.options similarity index 100% rename from meson_options.txt rename to meson.options