Community
Participate
Working Groups
My understanding is that Monitor.getBounds() should represent the size of the display while the getClientArea() method is the amount of available space (for example, minus the OS's taskbar). This is not the case on GTK. The implementation is setting the client area to match the overall bounds and is not accounting for the panel along the bottom (assuming it's not set to autohide). Note that maximize does the right thing and makes sure not to extend the window over or behind the panel.
Maximize is easier because you just ask the window manager to maximize. Getting the client area requires that the desktop system (GNOME, KDE, whatever) advertise it in some useful way. The standard for getting this information isn't as reliable as I would like, but definitely we can do better than what we do now. *** This bug has been marked as a duplicate of 33659 ***