In Kubuntu 12.04 I use the following command to minimize the active window:
xdotool windowminimize $(xdotool getactivewindow)
I suspect you may replace the $(xdotool getactivewindow)
with a string identifying any window that you need to minimize.
In Lubuntu, you can do exactly what you want: take a screen shot from the command line with the command:
scrot_extended 100 100 400 400
using the script below.
The four arguments are <x>, <y>, <width>, <height>
.
I didn't have the chance (yet) to test it in Lubuntu 12.04
, but it seems unlikely it wouldn't work; it uses python 2
and basic command line tools that exist for a long time already.
Explanation
The script:
- takes a screenshot with
scrot
- saves it into a temporary file
- using
imagemagick
, it creates a new image, cropping the screen shot, with the arguments you ran the script with
- the image is saved into a directory as a numbered file, to prevent overwriting
How to use
The script uses both scrot
and imagemagick
. scrot
should be on your system. To install imagemagick:
sudo apt-get install imagemagick
Copy the script into an empty file
By default, images are saved to ~/scrot_images
, named: outputfile_1.png
, outputfile_2.png
etc. . Change it if you want, as marked in the script. Note that if you change the diretory, you have to use the full path.
Save the file to ~/bin
(create the directory if needed) as scrot_extended
(no extension) and make it executable.
Log out and back in and take your screenshot with the command:
scrot_extended <x> <y> <width> <height>
Example:
scrot_extended 100 100 400 400
outputfile:
The script
#!/usr/bin/env python
import subprocess
import os
import sys
# setting default directories / filenames
home = os.environ["HOME"]
temp = home+"/"+".scrot_images"
img_in = temp+"/in.png"
# if you prefer, you can change the two line below:
output_directory = home+"/"+"scrot_images" # output directory
filename = "outputfile" # filename
# creating needed directories
for dr in [temp, output_directory]:
if not os.path.exists(dr):
os.mkdir(dr)
# creating filename (-number) to prevent overwriting previous shots
n = 1
while True:
img_out = output_directory+"/"+filename+"_"+str(n)+".png"
if os.path.exists(img_out):
n = n+1
else:
break
# reading arguments,arranging commands to perform
coords = sys.argv[1:5]
cmd1 = ["scrot", img_in]
cmd2 = ["convert", img_in, "-crop", coords[2]+"x"+coords[3]+"+"+coords[0]+"+"+coords[1], "+repage", img_out]
# Take screnshot, crop image
for cmd in [cmd1, cmd2]:
subprocess.call(cmd)
Best Answer
Your command,
wmctrl -k on
is respected by Openbox which is the window manager used in LXDE and it works for me (Openbox session of Lubuntu 14.04 LTS).If it doesn't work for some reason, install
xdotool
from the software center and use this command:What this command does is the same as simultaneously pressing Super+d which is the Openbox toggle for minimizing all windows or showing all windows unless you've modified your
lxde-rc.xml
orlubuntu-rc.xml
orrc.xml
, a file normally located in~/.config/openbox
.