是否可以在 GNOME Shell 活动概览显示中重新排列搜索提供程序?

The*_*o61 5 gnome search 11.10

我在目录中添加了其他搜索提供程序(例如,AskUbuntu、Wolfram、YouTube)/usr/share/gnome-shell/search_providers。这些工作得很好。但是,它们出现在“活动概览”上的顺序不合逻辑。

是否可以更改搜索提供程序的显示顺序?

奖励:如何将其中一个设为默认值?

fos*_*dom 8

11.10

还有是在GNOME壳搜索代码,使您可以指定搜索提供商应该里面提到的关键显示...

通过更改逻辑,您可以将其更改为搜索顺序列表 - 例如

gsettings set org.gnome.shell disabled-open-search-providers "['duckduckgo.xml', 'google.xml', 'wikipedia.xml']"
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

gsettings set org.gnome.shell disabled-open-search-providers "['wikipedia.xml', 'duckduckgo.xml', 'google.xml']"
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

如何

首先制作搜索脚本的备份副本:

sudo cp /usr/share/gnome-shell/js/ui/search.js /usr/share/gnome-shell/js/ui/search.js.backup
Run Code Online (Sandbox Code Playgroud)

现在编辑搜索脚本:

gksudo gedit /usr/share/gnome-shell/js/ui/search.js
Run Code Online (Sandbox Code Playgroud)

查找包含以下代码的函数(它可能从第 325 行开始):

 _refresh: function() {
        this._providers = []; 
        let names = global.settings.get_strv(DISABLED_OPEN_SEARCH_PROVIDERS_KEY);
        let file = Gio.file_new_for_path(global.datadir + '/search_providers');
        FileUtils.listDirAsync(file, Lang.bind(this, function(files) {
            for (let i = 0; i < files.length; i++) {
                let enabled = true; 
                let name = files[i].get_name();
                for (let k = 0; k < names.length; k++)
                    if (names[k] == name)
                        enabled = false;
                if (enabled)
                    this._addProvider(name);
            }           
        }));    
    }
Run Code Online (Sandbox Code Playgroud)

将此函数更改为:

_refresh: function() {
        this._providers = [];
        let names = global.settings.get_strv(DISABLED_OPEN_SEARCH_PROVIDERS_KEY);
        let file = Gio.file_new_for_path(global.datadir + '/search_providers');
        FileUtils.listDirAsync(file, Lang.bind(this, function(files) {
            for (let i = 0; i < names.length; i++) {
                for (let k = 0; k < files.length; k++) 
                    if (names[i] == files[k].get_name())
                        this._addProvider(names[i])
            }               
        }));    
    }
Run Code Online (Sandbox Code Playgroud)

按 Alt+F2,键入“r”并按 Enter。这应该重新启动 Gnome-shell)。或者,注销并登录。

信用


相关问题:

  1. 是否可以在 GNOME Shell 中自定义搜索引擎按钮?
  2. 是否可以在 GNOME Shell 的破折号中删除或替换 Google 搜索?