diff --git a/atom/browser/native_window.cc b/atom/browser/native_window.cc index 20400437fce6..98b3d725a9ab 100644 --- a/atom/browser/native_window.cc +++ b/atom/browser/native_window.cc @@ -115,6 +115,12 @@ void NativeWindow::InitFromOptions(const mate::Dictionary& options) { } else { SetSizeConstraints(size_constraints); } +#if defined(USE_X11) + bool resizable; + if (options.Get(options::kResizable, &resizable)) { + SetResizable(resizable); + } +#endif #if defined(OS_WIN) || defined(USE_X11) bool closable; if (options.Get(options::kClosable, &closable)) { diff --git a/spec/api-browser-window-spec.js b/spec/api-browser-window-spec.js index 25e92382ccaf..731ae1cb86fc 100644 --- a/spec/api-browser-window-spec.js +++ b/spec/api-browser-window-spec.js @@ -528,6 +528,24 @@ describe('browser-window module', function() { }); describe('window states', function() { + describe('resizable state', function() { + it('can be changed with resizable option', function() { + w.destroy(); + w = new BrowserWindow({show: false, resizable: false}); + assert.equal(w.isResizable(), false); + }); + + it('can be changed with setResizable method', function() { + assert.equal(w.isResizable(), true); + w.setResizable(false); + assert.equal(w.isResizable(), false); + w.setResizable(true); + assert.equal(w.isResizable(), true); + }); + }); + }); + + describe('window states (excluding Linux)', function() { // Not implemented on Linux. if (process.platform == 'linux') return; @@ -625,22 +643,6 @@ describe('browser-window module', function() { }); }); - describe('resizable state', function() { - it('can be changed with resizable option', function() { - w.destroy(); - w = new BrowserWindow({show: false, resizable: false}); - assert.equal(w.isResizable(), false); - }); - - it('can be changed with setResizable method', function() { - assert.equal(w.isResizable(), true); - w.setResizable(false); - assert.equal(w.isResizable(), false); - w.setResizable(true); - assert.equal(w.isResizable(), true); - }); - }); - describe('hasShadow state', function() { // On Window there is no shadow by default and it can not be changed // dynamically.