Command Chain Recipes
-
@pesala
you can already add this menu without a command chain
search for perio at the commands section -
@derday Been there, done that, but it does not work. There are no timer settings when the period command is added to the page context menu.
-
@pesala
strange, works for me since "ages" -
-
@luetage I added the âPeriodic Reloadâ command, not the â[Periodic Reload]â submenu. The former does nothing, and should probably not exist in the list of Application Commands.
Anyway, if you create Command Chains for each period that you need, you can customise the subfolder to contain only those commands that you actually use.
It is that time of the month again when the developers need to update a lot of things before the Stable build. The feature request for Right-click menu option for periodic tab reload also needs to be tagged as DONE, which is what led me on this wild-goose-chase.
I reported the bug as:
(VB-82802) Periodic Reload Command Does Nothing
-
I just answered a question here and tought this might be useful for others as well.
I know there is a "Search Engine with Selection" recipe allready but I think I have found a cleaner way of doing it with just a single javascript line and no delays. The ability to add a custom shortcut for every search engine is also a game changer...Result:
Highlight/select Text, Hit a custom shortcut > a new Tab opens with the results of the search engine of your choice.Known Issue:
Currently only suitable for URLs where the search term is at the end of the URL. (could be solved with some more Javascript)
I will use google as an example. To change the engine just replace the URL in the parameter below with your searchengine url.
Here are some working URL examples that you can try.
'https://www.amazon.com/s?k='
'https://maps.google.com/?q='
'https://en.wikipedia.org/wiki/Special:Search/'
'https://www.ebay.com/sch/?_nkw='TIP:
How to find those URLs if you can't google them like for not so popular sites?
Here is what i do: I just do a search with the term "TEST" on the site I want the search URL for. Than i check the URL on the result page.
For example searching TEST on amazon will forward you to:
https://www.amazon.com/s?k=TEST&__mk_de_DE=Ă MĂ Ĺ˝ĂĂ&ref=nb_sb_noss_2
Than I just delete everything behind the keyword, in this case:
https://www.amazon.com/s?k=TEST
Than i hit enter again to check if the shortened URL still gives the expacted result page and in most cases it does.
Now all you need to do is remove the TEST from the URL as well and you have your search engine URL.
https://www.amazon.com/s?k=
But dont forget to add the single quotation marks ' in the parameter!nuff said...
here is the Recipe:Chain Name:
HotkeyHighlightSearchCommand 1:
Open Link in Current Tab (Javascript will take care of opening the result in a NEW tab)Parameter:
javascript:var root = 'https://www.google.com/search?q='; var selection= ''+(window.getSelection?window.getSelection():document.getSelection?document.getSelection():document.selection.createRange().text);var myurl = root+selection;window.open(myurl);
Now go to Settings>Keyboard>Chains (at the very bottom of the keyboard settings)
add Shortcut to "HotkeyHighlightSearch" e.q. CTRL+qBTW instead of selecting/highlighting text and pressing your shortcut you could also highlight the text and then press F2 and type "HotkeyHighlightSearch" and hit Enter.
//MODEDIT: added inline code tags
-
@erazer101 Matter of taste. The delays donât really slow my version down considerably and the upside is you can use existing engines from settings by nickname. Moreover your javascript shows up in the address field and obfuscates the current url. Anyway, itâs good to have the choice.
-
@luetage thanks a lot for the feedback. I agree being able to use existing search engines is a real benefit.
Since I only use a handful of engines itâs still ok to setup for me.I hate the corrupted URLâŚdidnât realize it before you mentioned it.
Seems like Vivaldi opens the script in the current TAB therefore putting the script in the address bar and run it from there.
There would be a simple solution by just using âopen link in new tabâ as Vivaldi command and changing the javascript/parameter to open in same tab.
But it seems like you canât run any javascript function with the âopen link in new tabâ command. All it does is opening a new empty tab.
E.G.: Open link in new tab > Parameter: javascript:window.open("https://www.youraddress.com", "_self") only opens an empty tab for me..Not sure if this is a bug or missing feature but I reported both issues as bug.
-add support for javascript in "open in new tab" command chains VB-82849
-add command type "run javascript" to be able to run scripts in background without address bar, just like clicking a bookmarklet. VB-82850BTW...not sure if any admins read this but the request feature site misses a command chain category.
-
Only an ordinary History Panel
1, History Panel
2, Select All -
@shifte Is the better version of the existing command!
-
New Tab Position:ăAs First Tab
1, New Tab
2, Delay
parameter: 100
3, Pin/Unpin tab
4, Pin/Unpin tabI don't use "Ctrl+t" at all, but...I got an idea.
-
New Stacked Tab
I set this chain to Ctrl+T to always puts the new tab in a stack, either in the existing stack or in a newly created stack if the active tab was a top-level tab. "New Tab" and "New Top Level Tab" already exist as keyboard shortcuts. However, the "New Tab" command has different behavior depending on whether the active tab is a new top-level tab, or already part of a stack.
Change Settings:
- Settings > Tabs > New Tab Position:
After Active Tab
Chain:
- New Tab
- Delay
Parameter:100
- Select Previous Tab
- Stack Tabs
Note it does have some disadvantages. Maybe you guys can find a better workaround? Also see this post and that post.
- Have to set "After Active Tab" in settings, which undesirably changes "New Top Level Tab" command behavior.
- Slows down the entire browser a bit by adding delay to every new tab opening.
- Causes some visually distracting flashing in the tab bar as the chain selects tabs and re-groups them.
- Doesn't change how bookmarks open, as OP notes in that post.
New Top Level Tab at End
The "After Active Tab" setting changes the "New Top Level Tab" command behavior, but with Vivaldi v5.1 we can now restore the desired behavior (albeit with some visually distracting motion in the tab bar). And note this still doesn't fix how bookmarks open.
Chain:
- New Top Level Tab
- Move Tabs to End
- Settings > Tabs > New Tab Position:
-
@ukanuk If you enable:
Include Active Tab in Initial Selection- New Tab
- Stack Tabs
Should stack the new tab with the current tab without any delay, and whatever the new tab position.
-
@Pesala , I only see that option under "Tabs > Tab Features > Tab Selection". Do you see it in a second place? In any case, it was already enabled for all my testing.
Without changing the "New Tab Position" setting, I found that Vivaldi stacks the new tab with whatever tab is to its left -- "Previous" tab apparently means the one to the left of the current tab, not the previous one by recent order.
Without the delay, I found that Vivaldi actually stacked the Previous Tab with the second previous tab -- the just-newly-created tab apparently doesn't appear quite quickly enough to be included as part of the initial selection.
-
New chain Open Selection
This used to be ÂťSearch Engine with SelectionÂŤ. In an update a while ago we got the ability to search any engine with parameter, which made this previous chain obsolete. The difference to the inbuilt command ÂťSearch with SelectionÂŤ is being able to open addresses which arenât hyperlinks.
@ukanuk If youâre happy with your chain, we can include it. I have to admit IÂ forgot about it after seeing it initially.
-
@luetage Yep, I've been using my chain as-is for a month now and don't see anything changing until/unless Vivaldi changes stuff.
-
Figure out the publish date of an article (if hidden):
Open link in current tab with-----> javascript:window.open("https://www.google.com/search?q=inurl:"+encodeURIComponent(location.href)+" "+('&as_qdr=y15'))
This script will search the link on Google, from 15 years ago. The date appears on Google.
-
@aperrizio Nice idea, included.
-
@luetage I discovered that there is no need to define a variable when "restoring" the URL. I believe that adding a delay is not necessary either. Changing the URL with
replaceState
shouldn't affect the execution of the code. If anything, it's added at the end, so it should be the last thing to execute anyway.
For example, I changed this (from your "Dark (Invert)" snippet):
setTimeout(()=>{const t=window.location.href;window.history.replaceState("stateObj","",t)},300)
into:
history.replaceState({},"",location.href)
and it works just as well (or slightly better, since the change of the URL is almost unnoticeable). -
@pafflick Canât recall why I introduced a timeout, itâs been too long. But great if it continues to work for you without it.