![]() Import -window "$activeWinId" /tmp/$(date +%F_%H%M%S_%N).pngĪlternatively, the following should work regardless of EWMH support: To avoid overwriting previous screenshots, the current date is used as the filename.ĪctiveWinLine=$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)") It works with EWMH/NetWM compatible X Window Managers. The following script takes a screenshot of the currently focused window. Import -window root -crop $x$h+$x+$y head_$i.png Xdpyinfo -ext XINERAMA | sed '/^ head #/!d s///' | ![]() As long as Xinerama information is available from the X server, the following will work: In this case, you may want to take screenshot of each physical screen individually. If the physical screens are different in height, you will find dead space in the screenshot. Xinerama-based multi-head setups have only one virtual screen. $ convert +append /tmp/0.png /tmp/1.png screenshot.png $ import -window root -display :0.1 -screen /tmp/1.png $ import -window root -display :0.0 -screen /tmp/0.png If you run twinview or dualhead, simply take the screenshot twice and use imagemagick to paste them together: Note: If you prefer graphicsmagick alternative, just prepend "gm", e.g. With -pause you can specify a delay in which you can, for example, lower some windows. Running import without the -window option allows selecting a window or an arbitrary region interactively. Is harder to use when the correlation between quality and storage size is not clear.Īn easy way to take a screenshot of your current system is using the import(1) command: $ convert image.jpg -quality 85% image_small.jpg Hopefully, this will shorten the transmission time. $ convert image.jpg -define jpeg:extent=3000KB image_small.jpg To achieve reasonable quality for a given storage size: $ magick frame_red.gif -gravity South -chop 0x10 chop_bottom.gif Which is easier as less numbers, or trial and error, is involved. One can also -chop to cut of a single edge from an image, using gravity to select that edge. Where WIDTH and HEIGHT is the cropped output image size, and X and Y is the offset from the input image size. $ mogrify -crop WIDTHx HEIGHT+ X+ Y -format jpg *.png To crop part of multiple images and convert them to another format: ![]() $ convert -append input.pngs output.png Crop, chop ![]() The basic usage of this facility is to specify the existing, and desired, image formats as the filename extension. Opposite operations can be performed by using a plus instead of a minus. Note: The sign before an option is important. ![]()
0 Comments
Leave a Reply. |