keyboard: Avoid blank space in OSK panel on portrait layouts
We try to make the OSK 1/3rd as big as the monitor. On landscape layouts we usually get away with it as there's plenty of horizontal space to enlarge the OSK while keeping the OSK aspect ratio. In portrait layout, the horizontal space is a lot more scarce so it means we'll still have plenty of space after making the OSK as wide as it can possibly be, which will look as odd blank space in the OSK panel. In order to fix this, let the OSK panel height be less than 1/3rd the monitor size if we are dealing with portrait layouts. Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/2132
This commit is contained in:
parent
5f3f4c3301
commit
9f0ef0044d
@ -1588,7 +1588,17 @@ class Keyboard extends St.BoxLayout {
|
|||||||
|
|
||||||
let maxHeight = monitor.height / 3;
|
let maxHeight = monitor.height / 3;
|
||||||
this.width = monitor.width;
|
this.width = monitor.width;
|
||||||
|
|
||||||
|
if (monitor.width > monitor.height) {
|
||||||
this.height = maxHeight;
|
this.height = maxHeight;
|
||||||
|
} else {
|
||||||
|
/* In portrait mode, lack of horizontal space means we won't be
|
||||||
|
* able to make the OSK that big while keeping size ratio, so
|
||||||
|
* we allow the OSK being smaller than 1/3rd of the monitor height
|
||||||
|
* there.
|
||||||
|
*/
|
||||||
|
this.height = Math.min(maxHeight, this.get_preferred_height(monitor.width));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_onGroupChanged() {
|
_onGroupChanged() {
|
||||||
|
Loading…
Reference in New Issue
Block a user