• Browser
  • Mail
  • News
  • Community
  • About
Register Login
HomeBlogsForumThemesSocial

Vivaldi

  • Browser
  • Mail
  • News
  • Community
  • About

Navigation

    • Home
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    1. Home
    2. Desktop
    3. Customizations & Extensions
    4. Modifications
    5. Backup Search Engines

    Backup Search Engines

    Modifications
    modding javascript
    28
    143
    8507
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • luetageL
      luetage
      last edited by luetage

      This modification backs up and restores your search engines, by adding a backup button and a restore input field in vivaldi://settings/search. Caution: Works only when you check “Open Settings in a Tab” in vivaldi://settings/appearance/.

      Meanwhile Vivaldi has added search engine sync. You might still want to use this mod, because it

      • acts as a backup when you lose your sync data
      • gives you the ability to migrate search engines to other sync accounts, profiles without sync
      • lets you change/fix search engine favicons from the backup (be careful while editing the JSON data)
      • lets you share engines with other users

      Screenshot-2022-03-31,13-12-33.png


      • Backup: Click the Backup button. This will copy the data to your clipboard. From there paste it to your notes panel, or a dedicated file.
      • Restore: Copy the backup data and paste or drag&drop it into the Restore Backup input field. This will restore your backup, but you will lose all search engines you have added since your last backup.

      Create a Javascript (.js) file and copy/paste following code. See pinned topics on this forum board for instructions.

      // Backup Search Engines
      // version 2022.4.0
      // https://forum.vivaldi.net/post/277594
      // Adds functionality to backup and restore search engines in
      // vivaldi://settings/search.
      
      (function backupSearchEngines() {
        function msg(print) {
          clearTimeout(msgTimeout);
          if (print === "backup") {
            info.innerText = "Backup copied to clipboard";
          } else if (print === "restore") {
            info.innerText = "Search engines restored";
          } else {
            info.innerText = "Code error, aborted";
          }
          msgTimeout = setTimeout(() => (info.innerText = ""), 5000);
        }
      
        function bringingItAllBackHome(remains, defaultsArray) {
          vivaldi.searchEngines.getTemplateUrls((engines) => {
            const getKeys = engines.templateUrls.map((e) => e.keyword);
            for (let i = 0; i < defaultsArray.length; i++) {
              const index = getKeys.lastIndexOf(defaultsArray[i][0]);
              const id = engines.templateUrls[index].id.toString();
              const ds = defaultsArray[i][1];
              vivaldi.searchEngines.setDefault(ds, id);
            }
            remains.forEach((remove) => {
              vivaldi.searchEngines.removeTemplateUrl(remove);
            });
            msg("restore");
          });
        }
      
        function exec(collection) {
          vivaldi.searchEngines.getTemplateUrls((engines) => {
            const oldDefaults = [
              engines.defaultImage,
              engines.defaultPrivate,
              engines.defaultSearch,
            ];
            const newDefaults = [
              collection.defaultImage,
              collection.defaultPrivate,
              collection.defaultSearch,
              collection.defaultSearchField,
              collection.defaultSearchFieldPrivate,
              collection.defaultSpeeddials,
              collection.defaultSpeeddialsPrivate,
            ];
            engines.templateUrls.forEach((engine) => {
              if (oldDefaults.indexOf(engine.id) === -1) {
                vivaldi.searchEngines.removeTemplateUrl(engine.id);
              }
            });
            console.info("restoring search engines...");
            const defaultsArray = [];
            collection.templateUrls.forEach((collect) => {
              vivaldi.searchEngines.addTemplateUrl(collect, () => {
                console.info(` \u2022 ${collect.name}`);
                if (newDefaults.indexOf(collect.id) > -1) {
                  const indeces = newDefaults
                    .map((e, i) => (e === collect.id ? i : ""))
                    .filter(String);
                  indeces.forEach((index) => {
                    let ds;
                    if (index === 0) {
                      ds = vivaldi.searchEngines.DefaultType.DEFAULT_IMAGE;
                    } else if (index === 1) {
                      ds = vivaldi.searchEngines.DefaultType.DEFAULT_PRIVATE;
                    } else if (index === 2) {
                      ds = vivaldi.searchEngines.DefaultType.DEFAULT_SEARCH;
                    } else if (index === 3) {
                      ds = vivaldi.searchEngines.DefaultType.DEFAULT_SEARCH_FIELD;
                    } else if (index === 4) {
                      ds = vivaldi.searchEngines.DefaultType.DEFAULT_SEARCH_FIELD_PRIVATE;
                    } else if (index === 5) {
                      ds = vivaldi.searchEngines.DefaultType.DEFAULT_SPEEDDIALS;
                    } else {
                      ds = vivaldi.searchEngines.DefaultType.DEFAULT_SPEEDDIALS_PRIVATE;
                    }
                    const tunnel = [collect.keyword, ds];
                    defaultsArray.push(tunnel);
                  });
                }
              });
            });
            const remains = [...new Set(oldDefaults)];
            bringingItAllBackHome(remains, defaultsArray);
          });
        }
      
        function restore(e) {
          e.preventDefault();
          e.stopPropagation();
          let backupCode;
          let collection;
          if (e.type === "paste") {
            const clipboardData = e.clipboardData;
            backupCode = clipboardData.getData("text");
          } else {
            backupCode = e.dataTransfer.getData("text");
          }
          try {
            collection = JSON.parse(backupCode);
          } catch (err) {
            msg("error");
            return;
          }
          if (
            "defaultImage" in collection &&
            "defaultPrivate" in collection &&
            "defaultSearch" in collection
          ) {
            exec(collection);
          } else {
            msg("error");
          }
        }
      
        function backup() {
          vivaldi.searchEngines.getTemplateUrls((engines) => {
            const backupCode = JSON.stringify(engines, null, 2);
            navigator.clipboard.writeText(backupCode);
            msg("backup");
          });
        }
      
        function ui() {
          const check = document.getElementById("vm-bse-backup");
          if (!check) {
            const place = document.querySelector(
              ".setting-section > div > .setting-group.unlimited > .setting-single"
            );
            const btn = document.createElement("input");
            btn.setAttribute("type", "button");
            btn.setAttribute("value", "Backup");
            btn.classList.add("vm-bse-backup");
            place.insertBefore(btn, place.lastChild);
            btn.addEventListener("click", backup);
            const input = document.createElement("input");
            input.setAttribute("type", "text");
            input.setAttribute("placeholder", "Restore Backup");
            input.classList.add("vm-bse-restore");
            place.insertBefore(input, place.lastChild);
            input.addEventListener("paste", restore);
            input.addEventListener("drop", restore);
            info = document.createElement("span");
            info.classList.add("vm-bse-msg");
            place.insertBefore(info, place.lastChild);
          }
        }
      
        const css = `
          .vm-bse-restore {
            width: 130px;
            margin-left: 6px;
            margin-top: 6px;
          }
          .vm-bse-restore::-webkit-input-placeholder {
            opacity: 1;
            color: var(--colorHighlightBg);
            text-align: center;
          }
          .vm-bse-msg {
            margin-left: 12px;
          }
        `;
      
        let msgTimeout;
        const settingsUrl =
          "chrome-extension://mpognobbkildjkofajifpdfhcoklimli/components/settings/settings.html?path=";
        chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => {
          if (changeInfo.url === `${settingsUrl}search`) {
            setTimeout(ui, 100);
            const check = document.getElementById("vm-bse-css");
            if (!check) {
              const style = document.createElement("style");
              style.id = "vm-bse-css";
              style.innerHTML = css;
              document.getElementsByTagName("head")[0].appendChild(style);
            }
          }
        });
      })();
      

      History

      • 2021.9.0 Clear removed engines, reset history IDs
      • 2022.3.3 Complete rewrite for new backend
      • 2022.3.4 Better handling of default search restoration
      • 2022.4.0 Restore all defaults (search field, speed dial, private sf/sd), clean up code

      Bonus

      • Backup search engines from a profile without the modification: Open devtools for the user interface, visit the console tab and execute following code, copy the output and save to file.

        vivaldi.searchEngines.getTemplateUrls((engines) => {
          console.info(JSON.stringify(engines, null, 2));
        });
        
      • Use an emoji as search engine favicon: Visit https://favicon.io/emoji-favicons/ and pick an emoji. Download the zip archive and extract. Visit https://dopiaza.org/tools/datauri/index.php, upload either the 32px or the 16px version of the image and generate data uri. Copy code and paste as faviconURL of the target engine in the search engines backup. Restore backup.

      github ◊ vfm

      stardeppS hlehyaricH C 4 Replies Last reply Reply Quote 48
      • luetageL
        luetage
        last edited by

        While testing this mod I noticed problems with Vivaldi's native/existing option to restore defaults. If you restore defaults and tick the option to keep custom searches, default searches you have edited will be doubled now (default + edited custom). When selected they will share the same name and the same keyword and in case one of them is the default for private search, this will be doubled too. It's quite a mess really, is this a known problem or will someone have to report this?

        github ◊ vfm

        ukanukU 1 Reply Last reply Reply Quote 1
        • stardeppS
          stardepp Translator
          last edited by stardepp

          Ok, not bad, your idea. But I have something simpler.
          I use 'ContextSearch web-ext' from the Google Web Store:

          https://chrome.google.com/webstore/detail/contextsearch-web-ext/ddippghibegbgpjcaaijbacfhjjeafjh

          With this extension, you can easily sync your search engine with all browsers and make a local backup on your hard drive.

          0_1552487160982_2019-03-13 15_20_49-Window.jpg

          🍀 Before you ask, use Vivaldi Help (F1)🍀Ambassador🍀Search Engine Collection🍀My Themes🍀Windows11 22H2*Samsung A54 Android13🍀

          1 Reply Last reply Reply Quote 2
          • LonML
            LonM Moderator
            last edited by

            I always find it quite odd that vivaldi decided to re-implement their own storage of search engines.

            If they just extended chrome://settings/searchEngines then not only would that be (I imagine) less duplication of work, but it would by default get synced through the normal chrome sync interface.

            💻 Windows 10 64-bit Sopranos Builds • en-GB • 🗳 vote for features • 🕵️‍♀️ Code of Conduct • 🐞 Report bugs

            luetageL 1 Reply Last reply Reply Quote 10
            • iAN CooGI
              iAN CooG
              last edited by iAN CooG

              Fantastic! To test after backup (copied on notes), I've deleted all but DDG, and then restored everything from the backup perfectly, even setting Google as default for normal searches and DDG for private searches.
              Remember to push Save button too after restoring, I've noticed that the search field list of engines isn't refreshed if you don't.

              http://iancoog.altervista.org/
              --=[]=-----------------------------------------------------------------------=[]=--
              Windows10 64bits - 8core i9-9900K @ 3.60GHz - 16Gb RAM - nVidia GT1030

              luetageL 1 Reply Last reply Reply Quote 4
              • stardeppS
                stardepp Translator @luetage
                last edited by

                @luetage said in Backup Search Engines:

                A companion mod to Import and Export Themes. Makes a backup of all your search engines, which is something that still hasn't been implemented to native Vivaldi Sync. Just recently I reset my profile and was surprised that I had to input all my custom searches again. Quite annoying, so here we go…

                The mod adds a backup button and a restore input field to vivaldi://settings/search.


                0_1552486216104_Screenshot 2019-03-13 15.09.58.png


                • Backup: Click the Backup button. This will copy the data to your clipboard. From there paste it to your notes panel, or anywhere really, but Vivaldi Notes have native Sync, so that's a plus.
                • Restore: Copy the backup data and paste or drag&drop it into the Restore Backup input field. This will restore your backup, but you will lose all search engines you have added since your last backup.

                Copy and paste following code into a custom.js file. See pinned topics on this forum board for instructions.

                /* Backup Search Engines */
                
                function _msgSearch(pnt) {
                    clearTimeout(_msgTimeout);
                    if (pnt === 'backup') {
                        _infoSearch.innerText = 'Search engines backup copied to clipboard.';
                    }
                    else if (pnt === 'restore') {
                        _infoSearch.innerText = 'Search engines restored.';
                    }
                    else {
                        _infoSearch.innerText = 'Search engines code error.'
                    }
                    _msgTimeout = setTimeout(function() {
                        _infoSearch.innerText = '';
                    }, 50000);
                };
                
                
                function _restoreSearch() {
                    event.preventDefault();
                    event.stopPropagation();
                    if (_eventSearch === 'paste') {
                        var clipboardData = event.clipboardData || window.clipboardData;
                        var engineCode = clipboardData.getData('text');
                    }
                    else {
                        var engineCode = event.dataTransfer.getData('text');
                    }
                    try {
                        engines = JSON.parse(engineCode);
                    }
                    catch(err) {
                        _msgSearch('error');
                        return;
                    }
                    if (Object.keys(engines)[0] === 'context') {
                        chrome.storage.local.set({'SEARCH_ENGINE_COLLECTION': engines}, function() {
                            _msgSearch('restore');
                        });
                    }
                    else {
                        _msgSearch('error');
                    }
                };
                
                function _backupSearch() {
                    chrome.storage.local.get({'SEARCH_ENGINE_COLLECTION': ''}, function(back) {
                        const engines = back.SEARCH_ENGINE_COLLECTION;
                        const engineCode = JSON.stringify(engines);
                        navigator.clipboard.writeText(engineCode);
                        _msgSearch('backup');
                    });
                };
                
                function searchEngines() {
                    const search = document.querySelector('.setting-search-engine');
                    const check = document.getElementById('backupSearch');
                    if (search && !check) {
                        const place = document.querySelector('.setting-section .setting-group.unlimited .setting-single');
                        const style = document.createElement('style');
                        style.type = 'text/css';
                        style.innerHTML = '#backupSearch, #restoreSearch {margin-left: var(--padding);}#restoreSearch{width: 130px;margin-top: var(--padding);}#restoreSearch::-webkit-input-placeholder {opacity: 1;color: var(--colorHighlightBg);text-align: center;}';
                        document.getElementsByTagName('head')[0].appendChild(style);
                        const backupBtn = document.createElement('input');
                        backupBtn.setAttribute('type', 'button');
                        backupBtn.setAttribute('value', 'Backup');
                        backupBtn.id = 'backupSearch';
                        place.insertBefore(backupBtn, place.lastChild);
                        const restoreInput = document.createElement('input');
                        restoreInput.setAttribute('type', 'text');
                        restoreInput.setAttribute('placeholder', 'Restore Backup');
                        restoreInput.id = 'restoreSearch';
                        place.insertBefore(restoreInput, place.lastChild);
                        _infoSearch = document.createElement('span');
                        _infoSearch.id = 'msgConfirm';
                        place.insertBefore(_infoSearch, place.lastChild);
                        document.getElementById('backupSearch').addEventListener('click', _backupSearch);
                        const restoreSearch = document.getElementById('restoreSearch');
                        restoreSearch.addEventListener('paste', function() {
                            _eventSearch = 'paste';
                            _restoreSearch(event);
                        });
                        restoreSearch.addEventListener('drop', function() {
                            _eventSearch = 'drop';
                            _restoreSearch(event);
                        });
                        _msgTimeout = {};
                    }
                };
                
                // Loop waiting for the browser to load the UI. You can call all functions from just one instance.
                
                setTimeout(function wait() {
                    const browser = document.getElementById('browser');
                    if (browser) {
                        document.body.addEventListener('click', function() {
                            setTimeout(searchEngines, 50);
                        });
                    }
                    else {
                        setTimeout(wait, 300);
                    }
                }, 300);
                
                

                Funktioniert bei mir nicht.

                🍀 Before you ask, use Vivaldi Help (F1)🍀Ambassador🍀Search Engine Collection🍀My Themes🍀Windows11 22H2*Samsung A54 Android13🍀

                luetageL 1 Reply Last reply Reply Quote 0
                • luetageL
                  luetage @LonM
                  last edited by

                  @LonM Yeah, for example the exception list for cookies is synced – that's classic chromium storage. But on the other hand I don't see the issue to just sync all custom engines while retaining the defaults per installation. Someone just has to find the time to do it.

                  github ◊ vfm

                  1 Reply Last reply Reply Quote 0
                  • luetageL
                    luetage @iAN CooG
                    last edited by

                    @iAN-CooG Good point, I didn't notice. Seems like the address bar switches automatically, but the list and the active search engine in the search field stays on the old values. I just updated the mod to trigger the click on the save button automatically after a backup has been restored (don't want anyone to get a cramp in their fingers :P). There was also an issue that messages were displayed for too long, fixed that too.

                    github ◊ vfm

                    vivabV 1 Reply Last reply Reply Quote 2
                    • luetageL
                      luetage @stardepp
                      last edited by

                      @stardepp We are not on the German forum board, please write English. And it's hard to tell what goes wrong for you. Have you created a file called custom.js and did you edit browser.html to refer to this file? Does any other modification work? Did you restart Vivaldi after you made the change to the application, or did you at least open a new window?

                      github ◊ vfm

                      stardeppS 1 Reply Last reply Reply Quote 1
                      • stardeppS
                        stardepp Translator @luetage
                        last edited by

                        @luetage ok, sorry.

                        🍀 Before you ask, use Vivaldi Help (F1)🍀Ambassador🍀Search Engine Collection🍀My Themes🍀Windows11 22H2*Samsung A54 Android13🍀

                        1 Reply Last reply Reply Quote 0
                        • hlehyaricH
                          hlehyaric @luetage
                          last edited by

                          @luetage Amazing! Thanks to you, it will be more hasslefree to refresh a profile.

                          1 Reply Last reply Reply Quote 2
                          • Folgore101F
                            Folgore101 Moderator
                            last edited by

                            I tested it and it works well, but i had no doubt.

                            @luetage you're great, you did two very useful js.

                            "Non è tanto chi sei quanto quello che fai che ti qualifica" - "Il coraggio non è la mancanza di paura ma bensì la consapevolezza che qualcosa sia più importante della paura stessa" - Vivaldi il browser che si adatta all'utente

                            1 Reply Last reply Reply Quote 1
                            • vivabV
                              vivab @luetage
                              last edited by vivab

                              @luetage said in Backup Search Engines:

                              ... I just updated the mod to trigger the click on the save button automatically after a backup has been restored (don't want anyone to get a cramp in their fingers :P). There was also an issue that messages were displayed for too long, fixed that too.

                              Thank you so much, very helpfull mod indeed!

                              Works ok with Vivaldi 2.4.1488.35 on both Win10-1809_x64, Lmint19.1_x64 and Lmint19.1_i686 (tested also with snapshot 2.5.1497.4 on Lmint19.1_x64). 👍

                              1 Reply Last reply Reply Quote 2
                              • AltCodeA
                                AltCode
                                last edited by

                                I can't seem to get the restore backup to work. Every time I try to paste/drag&drop the data into the input field, I receive the message "Search engines code error".

                                I tried it both inside the stable and the snapshot versions.

                                When life gives you lemons, don't make lemonade. Make life take the lemons back! Get mad!

                                luetageL 1 Reply Last reply Reply Quote 1
                                • luetageL
                                  luetage @AltCode
                                  last edited by

                                  @AltCode This means your backup is faulty. The input field throws an error when the json file is invalid. I just tested the code resetting search engines to default and restoring from backup on snapshot and it works.

                                  Well, give me your search engines code and I'll take a look at it, maybe it's salvageable.

                                  github ◊ vfm

                                  AltCodeA 1 Reply Last reply Reply Quote 0
                                  • AltCodeA
                                    AltCode @luetage
                                    last edited by AltCode

                                    @luetage

                                    Code

                                    {"customOrder":false,"default":"cj3trn97f00003o5l5z6o68tl","defaultPrivate":"cj3trn97g00033o5lj3x9hg2j","engines":[{"custom":false,"faviconUrl":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABR1BMVEUAgnIAgnEAfWwAf28AgXEIhnZAoZUVjH0Ae2oAfGsAgHAMiXnp9PPo9PKbzcdQp5wOiHgLiHji8O7////I5OAIhnXh8O7n8/EMiHgAe2sAfm4JhndHpJkmlYdltKr3+/q93tpls6kYjH0HhnYIhXbo9PPr9fSz2dRWq6AQiHkAeWiSycPj8e+l0sxJpJkKhXYwmo3J5OEMh3cCgXCt1tHt9vYQiXoAgXACgXFKpZq229bx+Pfn8/IPiXoAdGMdjX/D4t4NhnZ1u7Ls9vXs9fUQintaraLX6+nU6ucLhXbe7+xCopa02tX6/fyYzMUdjn8AgG/5/Py43Nc7nZAAemkAf27i8O/W6+hdrqMAfm0AfGwKh3ft9vV2u7INh3cAemoBgHBFopbB4d3+//8jkYMDgnJgr6XZ7eq939pAn5MSiXp8v7Zjs6nfb/V1AAAAAWJLR0QTDLtclgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAP9JREFUOMtjYKAWYGRixivPwsrGzsHJhVsBFzcPLx+/AAtuBYJCwsLCIqIsuBWIARWIS3DhVyAmSAcFklKMeBVIy8hKcTDjUcAiJ6+gqMQkyYVLgbKKqrCwmrqGJid6qMLcoKUtDAI6unr6LFgVcBgIQ4GhERc2BczGJlAFpmZYFXCZW1haWYMU2NhiV8DAbGfvgEcBM4ejkzPYChdXbAoYmNzcoW7w8GTBVODl7QOV9vXzD8DizUCYH4OCQ0LRAypMGA7CIyKjMII62gYmHRMbF48l5SUkJoGlk/1SQrAnCs7UtHRh4YxMSSlcaYYlJCs7x4KTAQ8I4OBkYRgAAADZQSnp408zDAAAAABJRU5ErkJggg==","historyId":1,"id":"cj3trn97f00003o5l5z6o68tl","keyword":"b","name":"Bing","post":false,"removed":false,"suggestUrl":"https://www.bing.com/osjson.aspx?query=%s","url":"https://www.bing.com/search?FORM=INCOH2&PC=IFJ1&PTAG=ICO-c9d0fc87&q=%s"},{"custom":true,"faviconUrl":"data:image/png;base64,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","historyId":2,"id":"cj3trn97g00013o5ljema6csh","keyword":"y","name":"Yahoo!","post":false,"removed":false,"suggestUrl":"","url":"https://us.search.yahoo.com/yhs/search?hspart=iry&hsimp=yhs-fullyhosted_009&type=dpp_vvldnu_00_00&param1=1&param2=pa%3Ddowncoll&p=%s"},{"custom":false,"faviconUrl":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAEbAAABGwGN907lAAABEElEQVRYCe2XPU/CQByHn146iAsSNwyJK5OTCxOLO18C5ibyMRxwcGEjfgFmJr8CSyMYwgIFFi2FJm5nrjmCMbGJkust90z3ktzzu5c0/XtSSjpdLoAe0ALKmGULDIGg/0Dste+lkr8AN4bFPxkDTaF3XrQc7ewJfey2aIkC7jyPsrAoz3ABXAAXwAVwAfzGLVxW4LwEtepxonYFpTOz8ukM1A+JNKvJxze18D79ZPIW/Tofrd6J1h/5AZbRhsVyk7XD1xlJss/ayS7N+gfU+Pf+X/Afn56Pgl160mL/wbuu31l9A+474AK4AELXarbYCl0o2mKoAgS6UCwa5QzEPBzFqkoFBgVdh3IoV3MejuIvl1JVBn5AFIAAAAAASUVORK5CYII=","historyId":3,"id":"cj3trn97g00023o5ls9d8wvgb","keyword":"s","name":"Startpage.com","post":false,"removed":false,"suggestUrl":"https://www.startpage.com/cgi-bin/csuggest?query=%s&limit=10&lang=english&format=json","url":"https://www.startpage.com/rvd/search?query=%s&language=auto"},{"custom":false,"faviconUrl":"data:image/png;base64,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","historyId":4,"id":"cj3trn97g00033o5lj3x9hg2j","keyword":"d","name":"DuckDuckGo","post":false,"removed":false,"suggestUrl":"https://ac.duckduckgo.com/ac/?q=%s&type=list","url":"https://duckduckgo.com/?q=%s&t=vivaldi"},{"custom":false,"faviconUrl":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAYFBMVEX////99vP+2s/+wK3+sZr+oob/kW//elH/glz9zb/+6uT5+fn29eXq8/TU6uu43uGk19l9x85Vt8E2qrbr77zJ35h0vYJgt5NLsaXa4FnS2THW2i6qzVO/00KQxmvh5n7jXP3sAAAEA0lEQVR4AYzPxQ3EUBRD0Tym/P7LHQzz2V9L7k4AILGomrmqcCRU9xxkiLstuTI+3QBktyNKWU9ysYHP7M856zb3IVahwASAxGBRHyYoL3vyxeOlPnjYUITTPuWfS0DtJf0nnE4WCvUsH/Sk9sXHN/690pC31t6EVod6szoMLTN7QmXHK+//lhcd5IuN3e9Xd4kOZ8gi98da99stslgDGs7Vfty+lfb78/WeYr1fj/uK0YBEBQH9iAlc518ipaVdMASirSOc137Qv80fs5R1aspKIFar+6b0X/rvT2dQTk95vZ8JQtdk+W/9j7fy1hjvHe36QQIIoNumBrC3A/c3j/ekluYQSO6vl9ojwIfxnBswttw/h6WFaGtRgbkojVKKwswImNjuEicIAk58YTYu5ww5xjKl4Lyx1nyvfKOeW84pAQiYPz5xTiutgzVrWRt/A4L0JARYwPU3EKV3d8FZU9TciAih0AAMAZDe0bemUh+2AV09XGgjgft7p792+ygCFMaGCfRC4PbM+3UwfxVTOHMQLRQggpIAYZyM/YvCIAPNCsYrOzDlxQE4ZFe6wK8/QQNnIApetQlwRMHXgzivOTQDLykoqDloHYXg6ho4hxMsQAaPegLWGufrGtj9/qcBkX0GMoGoqo3RhOEHSjCF6RTp6gjYPMiWXfzB92YB+Bqn/gHgfeoiAI4AGJjBxxivqhJQ8JOAYJMYDhlAssQIxy8tzwQRqY8HqgTwISJocs75DUIuaW9NUGEFuBYAGJxtG6h0hESeY5baRQ8EYLzAROjzVM3CijqF6+S3FBDjAtcwAFfYHQeTPyOUBswcD4MMEtYhassSVkoFlZ8zHzfCsJ3mq3g1FQDgnwP8f567dZ/00UXrs5cGAQg7APq9Yqnh6XI6xFGEgNqJsGHKS9/hIY7z6mILEziiAgDJqNyD140P43Fd7FgI0PBF1iWAJ3K5iAfWsjycLh00MAWayq0GAcFkl96s4CQKRENXLjUMzDoCivYEkAEUYK+DQrHVMIoymoUDJ9nqXG2kcHlOu1JBRmgvoBECKPwxnqsitC76IaADgfL9xb1AmP6rvIxyBARhICpIG2mXKNz/sLsWnERDQ3b+p3GIH+9NMSeyNd6EsysurPqBPozTESWvL7TT+ukAZWHEAzlarub2q+1X679JMWRc8D+iXUZYHen51befASu0nHVaL4rvxwMgkoDahsq1TesqvZ91m14ALWu5cbu2O/UCrz9KkGfKMFCeoQsFUdA+u9KCl/SNQ4ZvcFRXuXgo0y76SYiJjzFy8yOwLtrjD9qSE5v72cKl98EamSglIvoru9bnnJiHzTvXCfZa3xyUl3VEQ1+NUIoStn9FTXp7JPji/guQdMgZW2jIGAAAAABJRU5ErkJggg==","historyId":5,"id":"cj3trn97g00043o5l8swtsbjo","keyword":"e","name":"Ecosia","post":false,"removed":false,"suggestUrl":"","url":"https://www.ecosia.org/search?tt=vivaldi&q=%s"},{"custom":false,"faviconUrl":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAHdElNRQfhBAwKMAfiL115AAACxklEQVRIx6WVX2jVZRjHP7/T8c9pg2nhv2yDXWg4gqGsQGci68J/FRhq4IUohISpiQpeRoi48DJML0yCukpEiV0oIuaIqTSmUtREFCdhjTTFnTPP9Jz308X57efZ2aJ19vyu3ud9ns/zfX/P+ycKANN4mxZ2MH77gm7O8wgIhEzoClbxdYVMgDA3XKwq3WC4GOamaGHZ/5A+0pbRkmJx1ekAi6PghACkyUU11aebS0OWIhleAOAZQ2QYJEMagCcEppBnKmngCTKJPLVEQI4UNaQjTnGYQWYSUeAeb/Iph7jCS6R4Ro4NtPEZfzCNPJNZSyu7GaSOAaayk/chZPP2+KGIuNc7Fu33c1Piy54ya8FeV4jLvWzWor+6VFxjjwVDlpBVzbtWrPWaw7ZVnGlvPNrpfG8lc3t81b9US4BgUM9YJx4qudVuZ4j7VP3TBR5TS5EDtnkwjisD5HxXbPBxDNBPxDpvqvtsNZcATjrPO/EoAQT1WxGPJoE91op77LPe7xNvcIXbLA5v5nLAY5vFRQ4kGraI9ba5wacJ4Lr1/jRcvxwQ1HYx8rskuMuM+KJXE49ud/Xw+kcDbtsovmUh0bBRnG5vAvjdVzz3PN2QTZVtSxpZBXTxQzyGVuAhXwIRAF8zv/LwPlcQ1J+dJG52KO7MEueIc/xF1Uc2eby8/kgFAK/zDtDBb0TAV8gxaujnGwBOIB9UnqdyBUHtdIq4S+23yQ51vTjLG+pCj4ysP/InlgBDrhIb/NuDvmdBvWBaPOBZm73/X4CgnhbxIxf5o6Vzsk58zTfcX5k+NuCBzSJ+bDFu52kz4mzvjg+gh8V6byXdH3SluLd8A/1bF0rdX0MDm2jE2JNhI9NZH89WdmHUba8FO+wrq6b3PWF+dH2DhPaxEJViHUu+wdCe5tIYd+04PLFdStFNZ9W3eifdE35co4k+7/8AeaKDkPxRJzsAAAAASUVORK5CYII=","historyId":6,"id":"cj3trn97g00053o5lye6a3670","keyword":"w","name":"Wikipedia","post":false,"removed":false,"suggestUrl":"https://en.wikipedia.org/w/api.php?action=opensearch&search=%s","url":"https://en.wikipedia.org/wiki/Special:Search?search=%s"},{"custom":true,"faviconUrl":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAFZklEQVRYR71Xe2yTVRT/3fOxtuvWlY3XeAlOFDYhQ6YiD8nCokPFF/gAjBFkIgoRECQzZiASkIWQsIiJbhAi4aExwUQjQYgjcYEMh8KCYhA3mITHGK/B2nVdv3PNLf3a7+u6tSOL96/2O6/fPed37zlXIMElpUwDMJ2Zp0opc4UQWQBcIfNbUsqzQohaIvoZwI9CiFuJuBbxlKSUI5m5GMAsInLE01dyZm4FsIeINgghznRl0ykAKaWTmdcCWEJEWiKBo3WYOQBgMxGtEkIoUB1WTABSygeY+TsiyrmbwDGAnCSiGUKIf6JlHQBIKccx809E1DdaWb90AW2HDqD9+DEEGurBzTcBKUFpbmjDsmDLHQd7wTRog4d2wM3MTUT0pBDihFloARDa+eHo4Prli/CUf4a2qspgwC6XELBPykfKwiXQMgdZVEMgJpozEQYgpUxh5l+j0+47uA8tZaWQvpgl7BSLSHbCtfwj2POfiAahyjHe4EQYgK7rm4jofbO29+uv4Nn6+V3TwFE4Ha4PVsUqx0ZN01YqQRBA6Kj9aWa72vnt0o9jBu+VNQK2RydCGzgYEAL6xQvw1xxBoC5y4hzPvAjX0uKgPNbpIKJsVYqgVNf17UQ011BUZLtRNBuyzWexVQFTlxbDljc+JjD/sWrc3rQO9sn5SF20vMvMMfM2TdOKhJTSzcyXzZeMp+w9eH+otjhIyh4N9/oyCJdx+cX2L70eCGdK3LIxs5eIMhWAOQB2GRaytR56VQ68lQPRdqxf8DNl9EF6xW6QOz2u424qzBK6rm8lovmGIZ/7FFy3OvjX/1dvePcNQ+qS1VCE6unFzOUiEAjUaJr2cLj+vxdC3jgUjsW3hsD27N9Ar149HV9x76jKwDUiyjC8B6qGAv7GcDAx4CVoo3d3GrxgvSdhYCUv2JGfE9mIupgUAD8RJYUBVDoAyWGnNLwYdN8nPQJgfr4NcyaGQ6mu6f9fAbw+OQlzp9gi5Q0BuEpEfTotQf+Z0Mbs6ZEMLCyw4eXxlgw0dSTh8WmQ1yvDARtt2eg/6TckUfdIeLaJUVRh7R+rZ9gxZVTEj0HCqGNYCq4rCQLY3zYEpbdzseKRxXg+qyBhsinFb6rbUV7pt9jsWuREpjtyNQePoZRyNoAwzWXrOfiO5GBzSw72+oYHHWQ43NhduAl9HL0TAtHik5j3ZSuueyKt+56+hO0LkqPtX1UA0kJXcVi6uXotdjXUWpRHpWdhS34J3Laur+J2HSj51oeaet1i/3aBDa9Y66+u4gFGM9pGRG8aFpc8TZi1fxm8AWszynT2xcq8t/D4oLyYmThzswGlv1Tj7B9PAYiMkRkpAjveSUayzZL+Ck3TFhjt+H5mPkUUYdr+hiqUVJfFDDQ8bTAmZD6EoamZEELgSus1HL9yCrVXT0NCQvONgLNxMUTgTu9YM9OBySMjgJi5PdSO68wDyUYiWmGOuPP09yg7sSOhukcrCd2F5MZ3MS8v13L2lR4zb9A07UP12zySqTH8KBGNNjs78O9hrKv5At5A90YyTWgoyn4NRWOes2BjZvV4eUwIEaxv9FA6gpmPENGdPhxal71XsaV2Jw6ePwyON5QCyOv/IJaOfQOKuObFzI1EpIbSeuN7rLF8LDMfiAahDBQ5FYiaxpOoaz6PG23NwSHZbXdhmGsQxvYbhYIhEzAy/d4OZQsFL1TPN7Ows4eJysReIhpzVwSIMgqlXT1MwjvvNAOGQEqZzMxrACwzn47uAFJsB6Cm7TVGzTuQNZ5DKaXKhnqcziYiZzz9EMu9aswjolIhRF1XNnFfx6aMqCvw6ajnuTskb5ZS1pue5/uEEC2JgP0PiMlsM6t9TgAAAAAASUVORK5CYII=","historyId":7,"id":"cj3trn97g00063o5lbhkdv3av","keyword":"g","name":"Google","post":false,"removed":false,"suggestUrl":"https://www.google.com/complete/search?q=%s","url":"https://www.google.com/search?q=%s"},{"custom":false,"faviconUrl":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gcDBi8651D+ugAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAMaSURBVDjLVZNdaJtlFMd/z/N+5Ttt0lbTj6xrXcUIVYpTOzZQUOY2Lzq80KLghTcy0apXil6MKaxeqXWKDoYoggiCA6udIJWtggw2dFVR00Cp61fStEnffDR5k/d9vDCWeuBcHf4//pzzP4I9pRpDCCONUxlN4bOO4amUQO0UGmam7nqf9IVnC2s7j5DwX9rViL2AWnpgSJriazSG8JnIgI8aFiUiuEoBTPcYc+OT5dOVV+OvqP8BtmeSJ6xefXrHE5SbUPQEOaAZ8CMjYWKWQdPq4rI70thUgT4Dsm/GJ9A/nIjz8EGjRxNM56/Bps+l5pNrtuGdqQp+sFIhy/PUiXzNOTOXt7XtNmFELRa4eDEKKAFQ+qrverXCiL3gYyG2M3d8YvkJoAnYQB1QP6/59ffXTi5frXHLQ4MpfFr0nbMdz78ksh8lk76oWtpa0smuUrz/3cWjgAbkW10Cmp9nTjH+xVPhUFfa1vwe5vAdbAyPChlu9x5z1xV1W+fHxerHQAKIAx1ABDABMX7bB/DaoZJmVy54dRddKm6dv3K31N9jnzblIf9SfJ+p/gJYQBhoawECgA7QdvptqDd/EmUH1WiiYFhqW6CbAstWBIs4gNsSBIH2FsQChJvPghQNUXbwl2G/TCAlLBpSEHAVY0QGBZRbCzT3OAkBZuncJKAecCsGA6EkbdJ/QyKZ0TWBvlThSCh4SsEKUAFUy347EEXIoO/xF6Kq5Hs6lujF8FtcSvXekOLX5XTx7/zvpUwWo1jovjqw/3UgBzita4QRIi4CZszo3nfFdVyZvOsAyvPOAYjVf4N4J/CbA1j9vczKk5lvtuc/m7Xnl3ONYtVDFSJPTj3XPHD4US+UJDYaImI2Un8eDP+xG+VVOFal49sl8xD1/hE2GtsU3QpvrX/57KqzVQBWup75btLpGTxcu7cPETQJm9wn/wN0w8w1Xr6n5PRvbqezWDVJQLMQiEbrKp25C0dfNNdvfpoo2Ax2QiLOitz7jX5y18eY6mjijRXXNs6X8/ZlD1XaHUNn7vyDb9QzN882q1tHwrez8g9MsT4v9P+2wgAAAABJRU5ErkJggg==","historyId":8,"id":"cj4trn97g0006c0c35c091be5","keyword":"q","name":"Qwant","post":false,"removed":false,"suggestUrl":"https://api.qwant.com/api/suggest/?q=%s&client=opensearch&lang=en_gb","url":"https://www.qwant.com/?client=brz-vivaldi&q=%s"},{"custom":true,"faviconUrl":"data:image/png;base64,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","historyId":9,"id":"cjtyovrku001t3y5zkxj0umxf","keyword":"r","name":"Reddit","post":false,"removed":false,"suggestUrl":"","url":"https://www.reddit.com/r/%s"},{"custom":true,"faviconUrl":"","historyId":10,"id":"cjtyowbme001u3y5zuka8l8l5","keyword":"l","name":"LEO.org","post":false,"removed":false,"suggestUrl":"","url":"https://dict.leo.org/german-english/?search=%s"},{"custom":true,"faviconUrl":"data:image/png;base64,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","historyId":11,"id":"cjtyowypf001v3y5za3u427i4","keyword":"ig","name":"IGDB","post":false,"removed":false,"suggestUrl":"","url":"https://www.igdb.com/search?utf8=%E2%9C%93&type=1&q=%s"},{"custom":true,"faviconUrl":"data:image/png;base64,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","historyId":12,"id":"cjtyoxkkp001w3y5zwu7eluic","keyword":"im","name":"IMDb","post":false,"removed":false,"suggestUrl":"","url":"https://www.imdb.com/find?ref_=nv_sr_fn&q=%s&s=all"},{"custom":true,"faviconUrl":"data:image/png;base64,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","historyId":13,"id":"cjtyoy8yr001x3y5zlwc32yrq","keyword":"m","name":"Metacritic","post":false,"removed":false,"suggestUrl":"","url":"http://www.metacritic.com/search/game/%s/results"}],"nextHistoryId":14,"version":"3"}
                                    

                                    When life gives you lemons, don't make lemonade. Make life take the lemons back! Get mad!

                                    tam710562T 1 Reply Last reply Reply Quote 0
                                    • tam710562T
                                      tam710562 @AltCode
                                      last edited by

                                      @AltCode I think it is due to this test line

                                      if (Object.keys(engines)[0] === 'context') {
                                      

                                      can change to

                                      if (Object.keys(engines)[0] === 'customOrder') {
                                      

                                      or

                                      if (Array.isArray(engines.engines)) {
                                      
                                      1 Reply Last reply Reply Quote 3
                                      • luetageL
                                        luetage
                                        last edited by

                                        @AltCode The json is valid, we have another problem here.

                                        @tam710562 NIce ninja, just wanted to post. Yeah, that's the problem, I thought every backup starts with the word "context" but apparently not. When changing context to customOrder it works.

                                        github ◊ vfm

                                        1 Reply Last reply Reply Quote 3
                                        • luetageL
                                          luetage
                                          last edited by

                                          The array is array thing doesn't work for me and I don't think it would make much sense, because I want to make sure no one pastes a theme code into the search import. I thought every search backup starts with context, but apparently not – don't know what we could do here. The logical thing would be to include "customOrder" and make it an additional possibility, but then again I don't if that's enough, could be there are other arrays out there that start with something else entirely… hmm

                                          github ◊ vfm

                                          tam710562T 1 Reply Last reply Reply Quote 0
                                          • AltCodeA
                                            AltCode
                                            last edited by

                                            @luetage @tam710562 That seems to have worked, thanks. As an added bonus, it allowed me to add a favicon to a search engine that refused to load one.

                                            When life gives you lemons, don't make lemonade. Make life take the lemons back! Get mad!

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 7
                                            • 8
                                            • 1 / 8
                                            • First post
                                              Last post

                                            Looks like your connection to Vivaldi Forum was lost, please wait while we try to reconnect.

                                            Copyright © Vivaldi Technologies™ — All rights reserved. Privacy Policy | Code of conduct | Terms of use | Vivaldi Status