• Community
    • Community
    • Vivaldi Social
    • Blogs
  • Forum
    • Vivaldi Forum
    • Categories
    • Recent
    • Popular
  • Themes
    • Vivaldi Themes
    • My Themes
    • FAQ
  • Contribute
    • Contribute
    • Volunteer
    • Donate
  • Browser
    • Vivaldi Browser
    • Latest News
    • Snapshots
    • Help
Register Login

Vivaldi

  • Community
  • Themes
  • Contribute
  • Browser

Navigation

    • Home
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    1. Home
    2. Let's talk about Vivaldi
    3. Tips & Tricks
    4. Command Chain Recipes

    Command Chain Recipes

    Scheduled Pinned Locked Moved Tips & Tricks
    235 Posts 45 Posters 86.0k Views 34 Watching
    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.
    • luetage
      L
      luetage Supporters Soprano @jumpsq
      last edited by luetage

      @jumpsq The other way around, I think it’s a bug it works as command chain. I would assume the issue is the command can be triggered on a window where m3 is supposed to be unreachable.

      github ◊ vfm

      jumpsq
      J
      1 Reply Last reply
      Reply Quote 0
    • jumpsq
      J
      jumpsq @luetage
      last edited by jumpsq

      @luetage Well, it's not an issue, though as it works without issues to compose messages in other windows. But we're derailing - it would need a Gwen now to offer us to split threads ... 😢

      arch linux. swaywm. vivaldi-snapshot. m3.

      luetage
      L
      1 Reply Last reply
      Reply Quote 1
    • luetage
      L
      luetage Supporters Soprano @jumpsq
      last edited by

      @jumpsq It’s about command chains. Moreover I will link all shared command chains from OP at some point. I see no issue discussing something like this here.

      github ◊ vfm

      1 Reply Last reply Reply Quote 2
    • ChimeraLove
      C
      ChimeraLove @luetage
      last edited by ChimeraLove

      Thanks you @luetage for "Search Engine with Selection"!

      This one is for Selected text to be searched in two search engines and tile the result as shown in the gif.
      (In reality it's not as smooth because the new tab command opens "Start page" for a moment so it's more flickering..)

      alt text

      Search engines url:
      Translate - https://translate.google.com/?sl=auto&tl=en&text=%s &op=translate
      Nickname: t
      Etymology - https://www.google.com/search?q=%s etymology
      Nickname: e

      Commands:

      1
      Open Link in Current Tab
      Parameter:
      javascript:(()=>{const c=window.getSelection();const s=e ${c};navigator.clipboard.writeText(s);setTimeout(()=>{const t=window.location.href;window.history.replaceState("stateObj","",t)},50)})();

      2
      Delay 200

      3
      New Tab

      4
      Delay 400

      5
      focus Address Field

      6
      Paste and Go

      7
      Previous Tab (Recent)

      8
      Delay 100

      9
      Open Link in Current Tab
      Parameter:
      javascript:(()=>{const c=window.getSelection();const s=t ${c};navigator.clipboard.writeText(s);setTimeout(()=>{const t=window.location.href;window.history.replaceState("stateObj","",t)},50)})();

      10
      Delay 200

      11
      New Tab

      12
      Delay 400

      13
      Focus Address Field

      14
      Paste and Go

      15
      Select Current Tab

      16
      Delay 100

      17
      Select Previous Tab

      18
      Delay 100

      19
      Tile Vertically

      20
      Delay 200

      21
      Stack Tabs

      .

      .
      *In my case I used google search for etymology so there is a lot of empty space on left side so I used "Stylus" chrome extension with this code.

      More instructions here:
      https://www.reddit.com/r/vivaldibrowser/comments/fk4cf5/how_to_remove_empty_left_side_of_google_search/

      #cnt #center_col,
      .mw #center_col {
          margin-left: 5px !important
      }
      
      #hdtb-msb-vis {
          margin-left: 5px !important
      }
      
      .MUFPAc {
          margin-left: 5px !important
      }
      
      .WE0UJf {
          margin-left: 5px !important
      }
      
      .A8SBwf {
          margin-left: 5px !important
      }
      
      /*Border color for dark mode*/
      .RNNXgb {
          border: 2px solid #adb735 !important;
          margin-left: -25px;
      }
      
      .srp #searchform {
          top: 9px;
          margin-top: 0px;
      }
      
      .dodTBe {
          height: 50px;
      }
      
      /*Something above search*/
      .J1hqV {
          display: none;
      }
      
      luetage
      L
      1 Reply Last reply
      Reply Quote 5
    • luetage
      L
      luetage Supporters Soprano @ChimeraLove
      last edited by

      @chimeralove In both instances you are using the search engine nickname e. Otherwise great job.

      github ◊ vfm

      barbudo2005
      B
      1 Reply Last reply
      Reply Quote 1
    • ChimeraLove
      C
      ChimeraLove
      last edited by pafflick

      Thanks to @shifte here is an alternative to Selected text to be searched in two search engines and tile the result which is faster and less flickering.

      Use '+encodeURIComponent(b)+' instead of %S.

      1
      Open Link in Current Tab
      Parameter:
      javascript:(function(){var b=((window.getSelection&&window.getSelection())||(document.getSelection&&document.getSelection())||(document.selection&&document.selection.createRange&&document.selection.createRange().text));if(b!=''){window.open('https://www.google.com/search?q='+encodeURIComponent(b)+'%20etymology');}else{alert('You have not selected text.');}})();

      2
      Delay 100

      3
      Previous Tab (Recent)

      4
      Delay 100

      5
      Open Link in Current Tab
      Parameter:
      javascript:(function(){var b=((window.getSelection&&window.getSelection())||(document.getSelection&&document.getSelection())||(document.selection&&document.selection.createRange&&document.selection.createRange().text));if(b!=''){window.open('https://translate.google.com/?sl=auto&tl=iw&text='+encodeURIComponent(b)+'&op=translate');}else{alert('You have not selected text.');}})();

      6
      Delay 100

      7
      Select Current Tab

      8
      Delay 100

      9
      Select Previous Tab

      10
      Delay 100

      11
      Tile Vertically

      12
      Delay 100

      13
      Stack Tabs

      //MODEDIT: added inline code tags

      barbudo2005
      B
      1 Reply Last reply
      Reply Quote 4
    • barbudo2005
      B
      barbudo2005 @ChimeraLove
      last edited by

      Some suggestions for increasing the power of Command Chain Recipes from the extension "AutoControl: Custom shortcuts, Mouse gestures":

      1.- ACTIONS

      BASIC ACTIONS:

      66339620-29be-401b-964a-e2d2f1a8f28b-image.png

      ADVANCED ACTIONS:

      Tab Actions

      6bfe6e4b-2f00-41ed-8f49-91fbd65abc8a-image.png
      ece54656-e044-4be2-a57e-0fb0e5013e29-image.png

      Window Actions

      e953f1e8-5e18-430b-a3bd-8c3fd07080c1-image.png

      Bookmark Actions

      792cf09b-4e86-4cf0-9eca-9ecd18ce3795-image.png

      Menu Actions

      289958dd-f1ba-4141-87ba-84600a1037be-image.png

      Clipboard Actions

      7ff79265-58a4-4544-8a32-5a3e81688887-image.png

      OTHER

      6bf8e374-d868-49e3-a731-38cb53611260-image.png

      Synthesize Input

      969132cc-b6ef-424a-a31e-0566482febef-image.png

      61413603-08d4-4a0e-9364-8ea5aac8213f-image.png

      05257617-a35c-497f-b401-54d61b4eb209-image.png

      2.- TRIGGERS

      3f315f3a-117a-42b6-b517-4d1147f27811-image.png

      9cf5a6ae-1dad-4a59-8f1e-201d0f00b6cb-image.png

      b727d378-b907-43e2-8a7e-dc9c29145aae-image.png

      75a4e958-5434-43cf-bd81-86c79ead1c9b-image.png

      1 Reply Last reply Reply Quote 0
    • mfolkes
      M
      mfolkes
      last edited by mfolkes

      For Close Active Panel:

      1. Panel
      1 Reply Last reply Reply Quote 0
    • kyu3a
      K
      kyu3a Ambassador
      last edited by

      By this chain, You will be able to capture and tweet quickly!

      1. Capture Area to Clipboard (or Capture page to Clipboard)
      2. Open Link in Current Tab

      Parameter:

      javascript:window.open("https://twitter.com/intent/tweet?text="+encodeURIComponent(document.title)+" "+encodeURIComponent(location.href))
      
      1. Delay (Parameter:1000)
      2. Paste

      alt text

      P.S.
      I use Vivaldi snapshot 4.1.2369.10 (arm64) on macOS BigSur 11.5.1 of M1 Macbook Air. This version has the issue. When I set Status-bar to Overlay or Hide, Capture Area feature is not working. If I set Status-bar to Show, this feature is working.

      Pesala
      P
      WildEnte
      W
      Andrecon
      A
      3 Replies Last reply
      Reply Quote 5
    • Pesala
      P
      Pesala Ambassador @kyu3a
      last edited by

      @kyu3a Drag the camera icon to the address bar, then you can hide the status bar.

      Blog • Vivaldi Review • Server Status
      Win 10 64-bit build 19045.2486 • Snapshot 7.5.3735.34 (64-bit)

      kyu3a
      K
      1 Reply Last reply
      Reply Quote 2
    • kyu3a
      K
      kyu3a Ambassador @Pesala
      last edited by

      @pesala Thank you for replying! I could caputre without showing Status-bar.

      1 Reply Last reply Reply Quote 1
    • kyu3a
      K
      kyu3a Ambassador
      last edited by

      Funny command chains were introduced in Makeuseof.com. It is "Netflix Mode". This chains will change Vivaldi to the mode watching Netflix for a hour intently.

      1. Open Link in New Tab (Command Parameter: netflix.com)
      2. Fullscreen Mode
      3. Delay (Command Parameter: 5000)
      4. Mute Other Tabs
      5. Delay (Command Parameter: 3600000) (For 1 Hour)
      6. Unmute Other Tabs
      7. Fullscreen Mode
      8. Close Tab

      Source:
      How to Use Vivaldi Command Chains to Simplify Your Workflow
      https://www.makeuseof.com/how-to-use-vivaldi-commands/

      1 Reply Last reply Reply Quote 3
    • derDay
      D
      derDay Supporters
      last edited by

      general question:
      is it possible, to adress the guestwindow?
      at the moment, we can't give the URL of a tab (or a link) to guest window (links only to other profiles). with the command chain it would be possible, but I encountered, that I can't give the adress to a (new) guest window

      any hints or tricks?

      luetage
      L
      1 Reply Last reply
      Reply Quote 0
    • luetage
      L
      luetage Supporters Soprano @derDay
      last edited by

      @derday Window commands of any kind are excluded from command chains, because a command chain runs as a process of the current window. I hope there will be a solution or workaround to this at some point.

      github ◊ vfm

      1 Reply Last reply Reply Quote 1
    • luetage
      L
      luetage Supporters Soprano
      last edited by luetage

      These command chains had been featured in OP previously. Moved to collect links to all command chains instead.

      Inspect UI

      Opens DevTools for the user interface.

      1. Open Link in New Tab
        Paramenter: vivaldi://experiments
      2. Delay
        Parameter: 50
      3. Developer Tools
      4. Close Tab
      {"category":"CATEGORY_COMMAND_CHAIN","chain":[{"defaultValue":"https://vivaldi.com","key":"f57b8092-9426-4bc8-8e39-fcf3e315b065","label":"Open Link in New Tab","name":"COMMAND_OPEN_LINK_DEFAULT","param":"vivaldi://experiments"},{"defaultValue":1000,"key":"2eb81004-6703-46db-9933-6afcfde924e4","label":"Delay","name":"COMMAND_CHAINED_SLEEP","param":50},{"key":"e6a1c7d5-21ad-4195-bc9e-95ebcb6ee2eb","label":"Toggle Developer Tools","name":"COMMAND_DEVTOOLS_INSPECTOR"},{"key":"f0a3a628-6977-4812-ab11-96a1d1fbc08d","label":"Close Tab","name":"COMMAND_CLOSE_TAB"}],"key":"cl12fs5mr00i42z5wtv7rvu1b","label":"Inspect UI","name":"COMMAND_cl12fs5mr00i42z5wtv7rvu1b"}
      

      Copy Page Address

      Copies current URL to the clipboard. Already available native as mouse gesture and from menu, but not as keyboard shortcut or quick command.

      1. Focus Address Field
      2. Delay
        Parameter: 100
      3. Select All
      4. Copy
      5. Delay
        Parameter: 500
      6. Focus Page
      {"category":"CATEGORY_COMMAND_CHAIN","chain":[{"key":"96a396d8-d485-4f61-926b-bdab1eddaf94","label":"Focus Address Field","name":"COMMAND_FOCUS_ADDRESSFIELD"},{"defaultValue":1000,"key":"2eb81004-6703-46db-9933-6afcfde924e4","label":"Delay","name":"COMMAND_CHAINED_SLEEP","param":100},{"key":"ce41214f-6878-42ef-b120-3deb06cfcf2e","label":"Select All","name":"COMMAND_CLIPBOARD_SELECT_ALL"},{"key":"6dae1e1a-695b-41c5-9ca9-deb1fabe9cc9","label":"Copy","name":"COMMAND_CLIPBOARD_COPY"},{"defaultValue":1000,"key":"2eb81004-6703-46db-9933-6afcfde924e4","label":"Delay","name":"COMMAND_CHAINED_SLEEP","param":500},{"key":"f71373d5-f966-4603-b7c5-a4a1722b3989","label":"Focus Page","name":"COMMAND_FOCUS_WEBVIEW"}],"key":"cl12ftdyo00i52z5wyg8ux8vy","label":"Copy Page Address","name":"COMMAND_cl12ftdyo00i52z5wyg8ux8vy"}
      

      Tab Scroll

      Scrolls to top of the current page and scrolls back to initial position when toggled again. This is an existing browser modification, but works very well as command chain when assigning a shortcut to it. I’m using Shift-PageDown.

      1. Open Link in Current Tab
        Parameter: javascript:(()=>{let o=window.pageYOffset;if(o>0){window.sessionStorage.setItem("tabOffset",o);window.scrollTo(0,0)}else{window.scrollTo(0,window.sessionStorage.getItem("tabOffset")||0)}history.replaceState({},"",location.href)})();
      {"category":"CATEGORY_COMMAND_CHAIN","chain":[{"defaultValue":"https://vivaldi.com","key":"0b01337b-4c13-4197-90c8-179c5c91cfff","label":"Open Link in Current Tab","name":"COMMAND_OPEN_LINK_CURRENT","param":"javascript:(()=>{let o=window.pageYOffset;if(o>0){window.sessionStorage.setItem(\"tabOffset\",o);window.scrollTo(0,0)}else{window.scrollTo(0,window.sessionStorage.getItem(\"tabOffset\")||0)}history.replaceState({},\"\",location.href)})();"}],"key":"cl12fv64y00i62z5wbv0ecyiy","label":"Tab Scroll","name":"COMMAND_cl12fv64y00i62z5wbv0ecyiy"}
      

      github ◊ vfm

      Granite1
      G
      1 Reply Last reply
      Reply Quote 2
    • luetage
      L
      luetage Supporters Soprano
      last edited by

      Close Tab Move Left

      1. Previous Tab (by Order)
      2. Delay
        Parameter: 100
      3. Select Next Tab
      4. Close Tab

      Close Tab Move Right

      1. Next Tab (by Order)
      2. Delay
        Parameter: 100
      3. Select Previous Tab
      4. Close Tab

      Control which tab gets activated after closing a tab. I personally use alt-, and alt-. to operate. Currently the only downside is you gotta disable »include active tab in initial selection« in vivaldi://settings/tabs, or both your tabs will be deleted.

      github ◊ vfm

      A
      D
      2 Replies Last reply
      Reply Quote 2
    • luetage
      L
      luetage Supporters Soprano
      last edited by luetage

      Close Stack

      1. Select Current Tab
      2. Close Tab

      There is no keyboard shortcut to close a tab stack, this simple command chain creates it. Works only if your active tab is part of the stack.

      Open Clipboard in New Tab

      1. New Tab
      2. Delay
        Parameter: 300
      3. Focus Address Field
      4. Paste and Go

      Whenever you copy a link by clicking on a dedicated webpage button, or you copied it in another application, this is the way to open the link in a new tab painlessly.

      github ◊ vfm

      neltherion
      N
      H
      2 Replies Last reply
      Reply Quote 8
    • luetage
      L
      luetage Supporters Soprano
      last edited by luetage

      For me personally command chains have replaced bookmarklets. There is no good reason (other than sync) for saving Javascript code as a bookmark when using Vivaldi.

      DeepL

      1. Open Link in Current Tab
        Parameter: javascript:(function%20translate()%7Bfunction%20se(d)%20%7Breturn%20d.selection%20?%20d.selection.createRange().text%20:%20d.getSelection()%20%7Ds%20=%20se(document);for%20(i=0;%20i%3Cframes.length%20&&%20!s;%20i++)s%20=%20se(frames%5Bi%5D.document);if%20(!s%20%7C%7C%20s=='')%20s%20=%20prompt('Enter%20text%20to%20translate%20with%20DeepL','');open('https://www.deepl.com/translator#'+document.documentElement.lang+'/en/'%20+%20(s%20?%20encodeURIComponent(s)%20:%20'')).focus();%7D)();

      Grabs your current selection and sends it to DeepL for translation.

      Dark (Invert)

      1. Open Link in Current Tab
        Parameter: javascript:(d=>{var css=`:root{background-color:#fefefe;filter:invert(100%)}*{background-color:inherit}img:not([src*=".svg"]),video{filter: invert(100%)}`,style,id="dark-theme-snippet",ee=d.getElementById(id);if(null!=ee){ee.parentNode.removeChild(ee)}else{style=d.createElement('style');style.type="text/css";style.id=id;if(style.styleSheet){style.styleSheet.cssText=css}else{style.appendChild(d.createTextNode(css))}(d.head||d.querySelector('head')).appendChild(style)}setTimeout(()=>{const t=window.location.href;window.history.replaceState("stateObj","",t)},300)})(document);

      Similar to the invert filter in page actions. The difference is it tries to leave images alone and it doesn’t reload the page when toggled. See https://gist.github.com/frontdevops/8aea1e0252dd826488dad63319e3ec88

      github ◊ vfm

      pafflick
      P
      luetage
      L
      Granite1
      G
      4 Replies Last reply
      Reply Quote 12
    • luetage
      L
      luetage Supporters Soprano @luetage
      last edited by luetage

      OP contains a collection of all command chains now, for an easier overview going forward.

      github ◊ vfm

      1 Reply Last reply Reply Quote 6
    • luetage
      L
      luetage Supporters Soprano
      last edited by

      @legobuilder26 This requires the exact opposite setting, good find. I dream of selection commands being independent from the setting when called from a command chain.

      github ◊ vfm

      1 Reply Last reply Reply Quote 1
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    • 1
    • 2
    • 3
    • 4
    • 5
    • 11
    • 12
    • 2 / 12
    • First post
      Last post

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