Recording a window using the --windowid option, doesn't track the window itself, but the region that it covers. Also when using that option the -x,-y,--width and --height options are relative to the specified window area. An easy way to find out the id of a window, is by using the xwininfo program. Running a command like : xwininfo | awk ´/Window id:/ {print $4}´ will give you only the id of the window(which should look like this: 0x4800005) More conviniently you can put all that in the command that launches recordMyDesktop like this: ~$recordmydesktop --windowid $(xwininfo | awk ´/Window id:/ {print $4}´) Also, the lower quality you select on a video recording ( -v_quality option), the highest CPU-power that you will need. So if you are doing the encoding on the fly ,it's better to start with default values and manipulate the end-result with another program. An excellent converter is the vlc media player, which can perform a variety of transcoding operations, either using the graphical interface, or the commandline for more flexibility. vlc is a complex piece of software, so you should consult it's documentation, before using it. An example follows, which will resize a recording named out.ogv to 512x384: I created a function for my .bashrc file: windowrecord(){ recordmydesktop --windowid `xwininfo | awk '/Window id:/ {print $4}'` } Once you run the function, all you need to do is click on the open window that you want to record and the window ID will be inserted automatically.