summaryrefslogtreecommitdiff
path: root/program/js/app.js
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2013-05-02 09:53:47 +0200
committerAleksander Machniak <alec@alec.pl>2013-05-02 09:53:47 +0200
commit93580fab12e115bc7b39fa37c7a0bcb208229800 (patch)
treece3c3ff01a8f0d8abf7e7cec994944eb3aa7734c /program/js/app.js
parent4741d17c7777ed64b0d90b9265125a5dc0d69432 (diff)
Fix opened window size on small screens in browsers where height is an innerHeight (eg. Safari)
Diffstat (limited to 'program/js/app.js')
-rw-r--r--program/js/app.js14
1 files changed, 9 insertions, 5 deletions
diff --git a/program/js/app.js b/program/js/app.js
index 87f20679a..962651d17 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -1629,13 +1629,17 @@ function rcube_webmail()
this.open_window = function(url, width, height)
{
- var w = Math.min(width, screen.width - 10),
- h = Math.min(height, screen.height - 100),
- l = (screen.width - w) / 2 + (screen.left || 0),
- t = Math.max(0, (screen.height - h) / 2 + (screen.top || 0) - 20),
+ var dh = (window.outerHeight || 0) - (window.innerHeight || 0),
+ dw = (window.outerWidth || 0) - (window.innerWidth || 0),
+ sh = screen.availHeight || screen.height,
+ sw = screen.availWidth || screen.width,
+ w = Math.min(width, sw),
+ h = Math.min(height, sh),
+ l = Math.max(0, (sw - w) / 2 + (screen.left || 0)),
+ t = Math.max(0, (sh - h) / 2 + (screen.top || 0)),
wname = 'rcmextwin' + new Date().getTime(),
extwin = window.open(url + (url.match(/\?/) ? '&' : '?') + '_extwin=1', wname,
- 'width='+w+',height='+h+',top='+t+',left='+l+',resizable=yes,toolbar=no,status=no,location=no');
+ 'width='+(w-dw)+',height='+(h-dh)+',top='+t+',left='+l+',resizable=yes,toolbar=no,status=no,location=no');
// write loading... message to empty windows
if (!url && extwin.document) {