Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Change Windows Size in Electron

Tags:

electron

i'm very new to electron, but loving it. However, i am stuck on one thing, so after some guidance if possible.

i have a small test app, that i will be using for users to login in to a page.

in my main.js file i set the mainWindow properties as below:

function createWindow() {

  mainWindow = new BrowserWindow({frame:false,
    width: 1024,
    height: 565,
    minWidth: 1024,
    minHeight: 565,
    frame: false,
    resizable: false,
    show: false,
    center: true,
    backgroundColor: '#312450',
    icon: path.join(__dirname, 'assets/icons/png/64x64.png')
  })

  mainWindow.loadURL(`file://${__dirname}/login.html`)

    mainWindow.once('ready-to-show', () => {
      mainWindow.show()
    })

    //mainWindow.webContents.openDevTools({detach: true})

    mainWindow.on('closed', function() {
      mainWindow = null
    })
  }

and then launch this in the app.on event.

This is all good so far.

I also add an eventlistener to a button in the login.html page as follows:

btnSignIn.addEventListener('click', function(){

const email = txtEmail.value;
const pass = txtPassword.value;

firebase.auth().signInWithEmailAndPassword(email, pass).then(function(){
    document.location.href = 'loggedin.html';
}).catch(function(error){
    if(error != null){
        alert(error.message);
        return;
    }
})

},false);

This is all working perfectly well. The only issue i have is that i'd like the second page (loggedin.html) to be a different size.

I presume i have to change the mainWindow options specified previously, but i am unable to acheive it.

any pointers are greatly appreciated.

Regards

J

like image 670
user1176737 Avatar asked Oct 06 '17 12:10

user1176737


People also ask

How do you make an Electron window full screen?

To make an Electron app run in full-screen mode when it's started, pass the following configuration option when creating the BrowserWindow instance: mainWindow = new BrowserWindow({fullscreen: true});

What is Electron BrowserWindow?

The BrowserWindow class exposes various ways to modify the look and behavior of your app's windows.

What is Electron kiosk mode?

Kiosk mode is a common way to lock down a Windows device when that device is used for a specific task or used in a public setting. So in electron kiosk mode, we'd have the ability to lock down our application to a point that users are restricted to the actions that we want them to perform.


1 Answers

In your renderer process (js script loaded from login.html) you should be able to load Electron and Node modules.

const {ipcRenderer} = require('electron');

// Right after the line where you changed the document.location
ipcRenderer.send('resize-me-please')

In main.js

const {ipcMain} = require('electron')
ipcMain.on('resize-me-please', (event, arg) => {
  mainWindow.setSize(width,height)
})
like image 150
Leonardo Buscemi Avatar answered Oct 04 '22 17:10

Leonardo Buscemi