简体   繁体   中英

Getting a Chrome app window to open at the bottom right of screen

I would like my Chrome app to open so it's touching the task bar and just offset from the right of the screen.

My current code:

chrome.app.runtime.onLaunched.addListener(function() {
  chrome.app.window.create('window.html', {
    'bounds': {
      'width': 300,
      'height': 325
    },
    'resizable': false,
    frame: 'none'
  });      
});

If you're okay with setting the outer bounds, that is, the full window size (and the content is potentially smaller), then it's simple:

chrome.app.runtime.onLaunched.addListener(function() {
  var windowWidth = 300;
  var windowHeight = 325;
  chrome.app.window.create('window.html', {
    outerBounds: { // 'bounds' is deprecated, and you want full window size
      width: windowWidth,
      height: windowHeight,
      left: screen.availWidth - windowWidth,
      top: screen.availHeight - windowHeight,
    },
    resizable: false,
    frame: 'none'
  });      
});

If you want to set inner bounds, that is the exact size of the window content, then you can't predict the size of the window accurately. You'll have to first create it and then reposition it in the callback:

chrome.app.runtime.onLaunched.addListener(function() {
  var windowWidth = 300;
  var windowHeight = 325;
  chrome.app.window.create(
    'window.html',
    {
      innerBounds: {
        width: windowWidth,
        height: windowHeight
      },
      resizable: false,
      frame: 'none'
    },
    function(win) {
      win.outerBounds.setPosition(
        screen.availWidth - win.outerBounds.width, // left
        screen.availHeight - win.outerBounds.height // top
      );
    }
  );      
});

All in all, it'a a good idea to review the actual documentation of chrome.app.window API .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM