# How can I crop a 1920x1200 monitor to 1920x1080?

I have a 1920x1200 monitor, and have some situations where I want to force the output to the more common 1920x1080. However, I don't want to distort the output, and would prefer a "cropping" black bar at the bottom.

Using xrandr --output DP1 --mode 1920x1200 --fb 1920x1080 doesn't work correctly. The bottom 120 pixels are indeed removed, but the KDE panel at the bottom of the screen is missing. Then, after alt-tabbing, my windows become vertically squashed, and my mouse-clicks correspond to different (unsquashed) positions.

Some have suggested using xrandr fb and transform in the general case, but I cannot understand how transform works. Is this approach suitable for my case, and if so, what command would I use?

From man xrandr

--transform a,b,c,d,e,f,g,h,i
Specifies a transformation matrix to apply on the  output.  Automati‐
cally  a  bilinear  filter is selected.  The mathematical form corre‐
sponds to:
a b c
d e f
g h i
The transformation is based on homogeneous  coordinates.  The  matrix
multiplied  by  the  coordinate vector of a pixel of the output gives
the transformed coordinate vector of a pixel in the  graphic  buffer.
More precisely, the vector (x y) of the output pixel is extended to 3
values (x y w), with 1 as the w coordinate and multiplied against the
matrix. The final device coordinates of the pixel are then calculated
with the so-called homogenic division by the  transformed  w  coordi‐
nate.   In  other words, the device coordinates (x' y') of the trans‐
formed pixel are:
x' = (ax + by + c) / w'   and
y' = (dx + ey + f) / w'   ,
with  w' = (gx + hy + i)  .
Typically, a and e corresponds to the scaling on the X and Y axes,  c
and  f  corresponds to the translation on those axes, and g, h, and i
are respectively 0, 0 and 1. The matrix can also be used  to  express
more  complex  transformations  such as keystone correction, or rota‐
tion.  For a rotation of an angle T, this formula can be used:
cos T  -sin T   0
sin T   cos T   0
0       0      1
As a special argument, instead of passing a matrix, one can pass  the
string none, in which case the default values are used (a unit matrix
without filter).

N.B. I have asked this previously at Unix & Linux StackExchange, but received no answer. I'll remove the dupe if I get an answer at either site.

-