[gnome-shell] systemActions: Only do prefix matches
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] systemActions: Only do prefix matches
- Date: Wed, 15 May 2019 17:25:09 +0000 (UTC)
commit 9b379c49ba8fd81f02bd0e32c374db2d2f4a9833
Author: Florian Müllner <fmuellner gnome org>
Date: Mon Nov 5 00:21:26 2018 +0100
systemActions: Only do prefix matches
Our search for system actions is currently inconsistent with searching
for applications: While we match terms anywhere within keywords, GIO
will only match at the beginning of words.
In order to get the same behavior, split keywords into single words
and only match terms at the beginning of a word.
https://gitlab.gnome.org/GNOME/gnome-shell/issues/745
js/misc/systemActions.js | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
---
diff --git a/js/misc/systemActions.js b/js/misc/systemActions.js
index aa79bfe54..0a41964b3 100644
--- a/js/misc/systemActions.js
+++ b/js/misc/systemActions.js
@@ -88,42 +88,42 @@ const SystemActions = GObject.registerClass({
name: C_("search-result", "Power Off"),
iconName: 'system-shutdown-symbolic',
// Translators: A list of keywords that match the power-off action, separated by
semicolons
- keywords: _("power off;shutdown;reboot;restart").split(';'),
+ keywords: _("power off;shutdown;reboot;restart").split(/[; ]/),
available: false });
this._actions.set(LOCK_SCREEN_ACTION_ID,
{ // Translators: The name of the lock screen action in search
name: C_("search-result", "Lock Screen"),
iconName: 'system-lock-screen-symbolic',
// Translators: A list of keywords that match the lock screen action, separated
by semicolons
- keywords: _("lock screen").split(';'),
+ keywords: _("lock screen").split(/[; ]/),
available: false });
this._actions.set(LOGOUT_ACTION_ID,
{ // Translators: The name of the logout action in search
name: C_("search-result", "Log Out"),
iconName: 'application-exit-symbolic',
// Translators: A list of keywords that match the logout action, separated by
semicolons
- keywords: _("logout;sign off").split(';'),
+ keywords: _("logout;log out;sign off").split(/[; ]/),
available: false });
this._actions.set(SUSPEND_ACTION_ID,
{ // Translators: The name of the suspend action in search
name: C_("search-result", "Suspend"),
iconName: 'media-playback-pause-symbolic',
// Translators: A list of keywords that match the suspend action, separated by
semicolons
- keywords: _("suspend;sleep").split(';'),
+ keywords: _("suspend;sleep").split(/[; ]/),
available: false });
this._actions.set(SWITCH_USER_ACTION_ID,
{ // Translators: The name of the switch user action in search
name: C_("search-result", "Switch User"),
iconName: 'system-switch-user-symbolic',
// Translators: A list of keywords that match the switch user action, separated
by semicolons
- keywords: _("switch user").split(';'),
+ keywords: _("switch user").split(/[; ]/),
available: false });
this._actions.set(LOCK_ORIENTATION_ACTION_ID,
{ // Translators: The name of the lock orientation action in search
name: C_("search-result", "Lock Orientation"),
iconName: '',
// Translators: A list of keywords that match the lock orientation action,
separated by semicolons
- keywords: _("lock orientation;screen;rotation").split(';'),
+ keywords: _("lock orientation;screen;rotation").split(/[; ]/),
available: false });
this._loginScreenSettings = new Gio.Settings({ schema_id: LOGIN_SCREEN_SCHEMA });
@@ -262,7 +262,7 @@ const SystemActions = GObject.registerClass({
let results = [];
for (let [key, {available, keywords}] of this._actions)
- if (available && terms.every(t => keywords.some(k => (k.indexOf(t) >= 0))))
+ if (available && terms.every(t => keywords.some(k => k.startsWith(t))))
results.push(key);
return results;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]