Compare commits

...

7 Commits

Author SHA1 Message Date
Florian Müllner
c336e7d70e Bump version to 3.33.90
Update NEWS.
2019-08-10 00:41:55 +02:00
Florian Müllner
f486dfa112 Update sass submodule 2019-08-10 00:40:11 +02:00
Florian Müllner
80de26dc16 cleanup: Stop using Tweener
gnome-shell added convenience API for Clutter animations and replaced
Tweener everywhere; follow suite and do the same.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/87
2019-08-10 00:27:20 +02:00
Florian Müllner
af6f5fea54 window-list: Adjust animation time
gnome-shell changed all animations times to use milliseconds.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/86
2019-08-10 00:25:08 +02:00
Florian Müllner
9743054174 window-list: Don't override existing signal
Since commit b6a6de9bb5 turned WindowPicker into a ClutterActor
subclass, we already have a 'scroll-event' signal and don't need
to define our own.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/86
2019-08-10 00:25:08 +02:00
Florian Müllner
827af154b8 window-list: Support showing windows from all workspaces
gnome-panel's window list applet has such an option, so let's support
it as well.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues/154
2019-08-09 22:20:43 +00:00
Jor Teron
f9b87f9b44 Update Karbi translation 2019-07-25 10:46:02 +00:00
9 changed files with 80 additions and 28 deletions

11
NEWS
View File

@@ -1,3 +1,14 @@
3.33.90
=======
* window-list: Support showing windows from all workspaces [Florian; #154]
* Misc. bug fixes and cleanups [Florian; !86, !87]
Contributors:
Florian Müllner
Translators:
Jor Teron [mjw]
3.33.4
======
* Make GNOME Classic more classic:

View File

@@ -25,7 +25,7 @@ const ExtensionUtils = imports.misc.extensionUtils;
const Main = imports.ui.main;
const Tweener = imports.ui.tweener;
const MESSAGE_FADE_TIME = 2;
const MESSAGE_FADE_TIME = 2000;
let text;
@@ -40,7 +40,7 @@ function flashMessage(message) {
Main.uiGroup.add_actor(text);
}
Tweener.removeTweens(text);
text.remove_all_transitions();
text.text = message;
text.opacity = 255;
@@ -50,11 +50,11 @@ function flashMessage(message) {
monitor.x + Math.floor(monitor.width / 2 - text.width / 2),
monitor.y + Math.floor(monitor.height / 2 - text.height / 2));
Tweener.addTween(text, {
text.ease({
opacity: 0,
time: MESSAGE_FADE_TIME,
transition: 'easeOutQuad',
onComplete: hideMessage
duration: MESSAGE_FADE_TIME,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onComplete: hideMessage,
});
}

View File

@@ -6,7 +6,6 @@ const ExtensionUtils = imports.misc.extensionUtils;
const Main = imports.ui.main;
const Overview = imports.ui.overview;
const PopupMenu = imports.ui.popupMenu;
const Tweener = imports.ui.tweener;
const Me = ExtensionUtils.getCurrentExtension();
const { WindowPicker, WindowPickerToggle } = Me.imports.windowPicker;
@@ -206,11 +205,18 @@ const WindowTitle = GObject.registerClass({
const BaseButton = GObject.registerClass({
GTypeName: 'WindowListBaseButton',
GTypeFlags: GObject.TypeFlags.ABSTRACT
GTypeFlags: GObject.TypeFlags.ABSTRACT,
Properties: {
'ignore-workspace': GObject.ParamSpec.boolean(
'ignore-workspace', 'ignore-workspace', 'ignore-workspace',
GObject.ParamFlags.READWRITE,
false)
}
}, class BaseButton extends St.Button {
_init(perMonitor, monitorIndex) {
this._perMonitor = perMonitor;
this._monitorIndex = monitorIndex;
this._ignoreWorkspace = false;
super._init({
style_class: 'window-button',
@@ -245,6 +251,22 @@ const BaseButton = GObject.registerClass({
return this.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;
this._ignoreWorkspace = ignore;
this.notify('ignore-workspace');
this._updateVisibility();
}
activate() {
if (this.active)
return;
@@ -288,7 +310,7 @@ const BaseButton = GObject.registerClass({
let workspace = global.workspace_manager.get_active_workspace();
return !window.skip_taskbar &&
window.located_on_workspace(workspace) &&
(this._ignoreWorkspace || window.located_on_workspace(workspace)) &&
(!this._perMonitor || window.get_monitor() == this._monitorIndex);
}
@@ -533,7 +555,9 @@ const AppButton = GObject.registerClass({
}
_updateVisibility() {
if (!this._perMonitor) {
if (this._ignoreWorkspace) {
this.visible = true;
} else if (!this._perMonitor) {
// fast path: use ShellApp API to avoid iterating over all windows.
let workspace = global.workspace_manager.get_active_workspace();
this.visible = this.app.is_on_workspace(workspace);
@@ -818,10 +842,10 @@ const WindowList = GObject.registerClass({
_updateWindowListVisibility() {
let visible = !Main.windowPicker.visible;
Tweener.addTween(this._windowList, {
this._windowList.ease({
opacity: visible ? 255 : 0,
transition: 'ease-out-quad',
time: Overview.ANIMATION_TIME
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
duration: Overview.ANIMATION_TIME,
});
this._windowList.reactive = visible;
@@ -917,6 +941,8 @@ const WindowList = GObject.registerClass({
_addApp(app) {
let button = new AppButton(app, this._perMonitor, this._monitor.index);
this._settings.bind('display-all-workspaces',
button, 'ignore-workspace', Gio.SettingsBindFlags.GET);
this._windowList.layout_manager.pack(button,
true, true, true,
Clutter.BoxAlignment.START,
@@ -945,6 +971,8 @@ const WindowList = GObject.registerClass({
return;
let button = new WindowButton(win, this._perMonitor, this._monitor.index);
this._settings.bind('display-all-workspaces',
button, 'ignore-workspace', Gio.SettingsBindFlags.GET);
this._windowList.layout_manager.pack(button,
true, true, true,
Clutter.BoxAlignment.START,

View File

@@ -15,6 +15,13 @@
window list. Possible values are “never”, “auto” and “always”.
</description>
</key>
<key name="display-all-workspaces" type="b">
<default>false</default>
<summary>Show windows from all workspaces</summary>
<description>
Whether to show windows from all workspaces or only the current one.
</description>
</key>
<key name="show-on-all-monitors" type="b">
<default>false</default>
<summary>Show the window list on all monitors</summary>

View File

@@ -77,6 +77,13 @@ class WindowListPrefsWidget extends Gtk.Grid {
});
this._settings.bind('show-on-all-monitors', check, 'active', Gio.SettingsBindFlags.DEFAULT);
this.add(check);
check = new Gtk.CheckButton({
label: _('Show windows from all workspaces'),
margin_top: 6
});
this._settings.bind('display-all-workspaces', check, 'active', Gio.SettingsBindFlags.DEFAULT);
this.add(check);
}
});

View File

@@ -64,8 +64,7 @@ let MyWorkspacesDisplay = class extends WorkspacesDisplay {
var WindowPicker = GObject.registerClass({
GTypeName: 'WindowListWindowPicker',
Signals: {
'open-state-changed': { param_types: [GObject.TYPE_BOOLEAN] },
'scroll-event': { param_types: [Clutter.Event.$gtype] }
'open-state-changed': { param_types: [GObject.TYPE_BOOLEAN] }
}
}, class extends Clutter.Actor {
_init() {
@@ -177,7 +176,7 @@ var WindowPicker = GObject.registerClass({
Main.overview.animationInProgress = true;
GLib.timeout_add(
GLib.PRIORITY_DEFAULT,
Overview.ANIMATION_TIME * 1000,
Overview.ANIMATION_TIME,
() => {
Main.overview.animationInProgress = false;
if (onComplete)

View File

@@ -1,5 +1,5 @@
project('gnome-shell-extensions',
version: '3.33.4',
version: '3.33.90',
meson_version: '>= 0.44.0',
license: 'GPL2+'
)

View File

@@ -8,10 +8,10 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2019-07-14 04:31+0000\n"
"PO-Revision-Date: 2019-07-16 08:19+0530\n"
"POT-Creation-Date: 2019-07-02 19:23+0000\n"
"PO-Revision-Date: 2019-07-25 00:00+0530\n"
"Last-Translator: Jor Teron <jor.teron@gmail.com>\n"
"Language-Team: Karbi <mjw@li.org>\n"
"Language-Team: Karbi <karbi.translation@gmail.com>\n"
"Language: mjw\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -63,14 +63,14 @@ msgstr ""
#: extensions/auto-move-windows/prefs.js:117
msgid "Add"
msgstr ""
msgstr "Kethap"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr ""
msgstr "Drive “%s” patet un-eh:"
#: extensions/drive-menu/extension.js:118
msgid "Removable devices"
@@ -105,12 +105,12 @@ msgstr ""
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
msgid "Places"
msgstr "Places"
msgstr ""
#: extensions/places-menu/placeDisplay.js:46
#, javascript-format
msgid "Failed to launch “%s”"
msgstr "“%s” ingpu un-eh"
msgstr "“%s” Ingpu un-eh"
#: extensions/places-menu/placeDisplay.js:61
#, javascript-format
@@ -128,7 +128,7 @@ msgstr "Home"
#: extensions/places-menu/placeDisplay.js:403
msgid "Browse Network"
msgstr ""
msgstr "Network kelang"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
msgid "Cycle Screenshot Sizes"
@@ -217,7 +217,7 @@ msgstr ""
#: extensions/window-list/prefs.js:25
msgid "Window Grouping"
msgstr "Window muluk"
msgstr "Windows muluk"
#: extensions/window-list/prefs.js:47
msgid "Never group windows"
@@ -241,7 +241,7 @@ msgstr "Workspace amen hai"
#: extensions/workspace-indicator/prefs.js:151
msgid "Name"
msgstr "Amen"
msgstr "Men"
#: extensions/workspace-indicator/prefs.js:191
#, javascript-format