Posts Tagged ‘screen’

screen copy mode can be used to copy/paste

Thursday, July 10th, 2008

I’m aware of many people that use GNU Screen’s copy mode to scroll back through terminal history but don’t actually use copy mode for copying text for later pasting. I was one of those people myself for some time. Screen supports some pretty nifty copy/paste tricks but a few basic key strokes will get you started.

Entering Copy Mode and Scrolling

By default, enter copy mode with

CTRL+a

then

ESCAPE

. You can use vi like commands to navigate through the scollback buffer. The arrows and

PAGE UP/DOWN

should work as well. A few useful commands some may be unfamiliar with:

  • M

    - jumps to the middle visible line

  • NN%

    - jumps to the specified percentage in the buffer (0 – start, 100 – end

  • g

    - jumps to the beginning of the buffer

  • G

    - jumps to the end of the buffer

These keys are even useful when you aren’t using copy mode to copy/paste text.

Copying Text

Once the cursor is at the beginning location, press

SPACEBAR

to set your first mark. Next navigate to the ending position and hit it again. The second

SPACEBAR

will set your end mark and exit copy mode. One neat and often useful feature is selecting a rectangle on the screen rather than full lines. Use

c

and

C

to set the left and right column margins to the cursor’s current location.

Pasting

Pasting is easy, just hit

CTRL+a

to activate screen then

]

to paste.

There’s More!

There are loads more options such as multiple copy buffers, the ability to append marked text to the buffer rather than replacing it, etc. Check out the man page for more screen goodness.

Rotate through Screen Windows

Thursday, June 26th, 2008

A new command in screen version 4.00 is the

idle

command.

idle time command

Executes screen command,

command

when idle for

time

seconds. E.g. to rotate through screen windows with a 3 second interval:

idle 3 next

To cancel,

idle 0

Weather in Screen Statusbar

Thursday, June 5th, 2008


Caspar Clemens Mierau recently wrote about a nifty Debian package named

weather-util

and his method for embedding the current temperature into the screen status bar. Quite nifty. I did the same with one small exception, including the predicted probability of precipitation if it exists.

My one liner that runs from cron (split to multiple lines for readability):

 weather -iKACY -f | head -n 9  | \
     awk '/Temperature/ { print $2 "F" }
          /Relative/ { print $3 }
          /precipitation/ { sub (/ chance of.+$/, ""); print "POP " $NF }' | \
     xargs echo > /home/michael/.weather

More details on the full implementation in the original post over at Caspar Clemens Mierau’s blog. And yes, I stole his loadavg stuff too ;)

UPDATE:

Silly me, upon further investigation, two things to note. First, the -i option applies only to current conditions and not to the forecast. In my case I actually want

weather -f ACY

and

/etc/weatherrc

takes care of the rest. Secondly, the field number for the precipitation percentage changes, oops. I’ve correctly accounted for this in the updated awk script above.

After making these changes I decided the awk script was getting a bit long for a single line so I went all out creating

~/bin/weather.awk

:

#!/usr/bin/awk -f

/Temperature/       { temp = $2 }
/Relative Humidity/ { rh = $3   }
/precipitation/     { sub (/ chance of.+$/, "");
                      precip = $NF;
                      exit
                   }

END{ print temp "F " rh " POP " precip }

My crontab entry now looks like:

*/5 * * * *     weather -f ACY | /home/michael/bin/weather.awk > /home/michael/.weather

Much simpler.