Unable to start Google in Firefox from terminal to search Screen's clipboard
-
23-08-2019 - |
Question
Problem: to have a keyboard shortcut to google a current selection in Screen's copy mode from terminal to Firefox
You can copy the sentence to Screen's clipboard in copy-mode by pressing enter
. However, I want to be able to press g
to put the Screen's clipboard to the command below as the first parameter:
#!/bin/sh
q=$1
open "http://www.google.com/search?q=$q"
I do the same at the moment by
- C-a Esc [select the area] enter
- C-z [to put the current window out of the way]
- google C-a ]
How can you put Screen's clipboard to the command?
Solution
Here's a description of how someone modified their .screenrc file to sync it with the X clipboard. You might try modifying it to send the selected text to Firefox instead of xsel.
OTHER TIPS
open "http://www.google.com/search?q=`xclip -o`"
This works on X's copy buffer rather than Screen's but the X clipboard is usually what you want since it is set by simply highlighting text.
I'm still trying to work out the exact syntax but take a look at using 'bind' with 'writebuf' (and possibly 'eval') within your .screenrc file.
EDIT
You can bind keys in the .screenrc file in your home directory. E.g.,
bind g eval 'writebuf' 'exec . /bin/sh/ -c "cp /tmp/screen-exchange ~/foo.txt"'
This runs the eval command when you use the g key in screen. Eval takes any number of arguments and runs them as a Tcl script.
writebuf dumps your screen copy/paste buffer into a file at /tmp/screen-exchange.
The second string starts with exec which will run a program external to the Tcl interpreter. In this case, I choose /bin/sh (a *nix shell) and pass an arbitrary system command. The example above copies the /tmp/screen-exchange file but you might:
open < /tmp/screen-exchange
Once the line has been added to ~/.screenrc, restart screen, copy some text and try
C-a g