es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo acoplar una aplicación de Electron en la parte superior de mi pantalla.

Estoy trabajando en una aplicación de electron y lo que me gustaría hacer es asegurarme de que otras aplicaciones/navegadores web se acoplen automáticamente debajo de la aplicación de electron y no queden ocultos detrás de la barra de herramientas cuando se maximicen.

¿Alguien puede ayudar? ¡Cualquier ayuda sería muy apreciada!

A continuación está el código que tengo hasta ahora en mi index.js:

function createWindow(){
mainWindow = new BrowserWindow({height: 10, width: 300, frame: false,titleBarStyle: 'none',resizable: false, webPreferences: { nodeIntegration: true, 
  contextIsolation: false }})

mainWindow.setAlwaysOnTop(true, 'screen-saver') 
mainWindow.setVisibleOnAllWorkspaces(true);
mainWindow.loadFile('index.html')
mainWindow.setMenuBarVisibility(false)
mainWindow.setPosition(0,0)


app.on('ready', () => {
createWindow();
})
}
Tags:  ,

Answer

  1. Avatar for davy.ai

    Una opción podría ser utilizar el módulo electron-positioner, que te permite establecer la posición y tamaño de las ventanas en función de su ventana principal.

    Aquí tienes un ejemplo de cómo usarlo:

    1. Instala electron-positioner utilizando npm:
    npm install electron-positioner --save
    
    1. Importa electron-positioner en tu archivo index.js:
    const Positioner = require('electron-positioner');
    
    1. Inicializa una instancia de Positioner con tu ventana principal como padre:
    const positioner = new Positioner(mainWindow);
    
    1. Cada vez que se abra una nueva ventana, utiliza el método calculate() para posicionarla debajo de la ventana principal:
    const newWindow = new BrowserWindow({ 
      height: 600, 
      width: 800, 
      webPreferences: {
        nodeIntegration: true
      }
    });
    
    positioner.calculate(newWindow);
    
    newWindow.loadURL('https://www.google.com');
    

    Esto asegurará que todas las nuevas ventanas abiertas en tu aplicación de electron se posicionen debajo de la ventana principal y no queden ocultas detrás de la barra de herramientas cuando se maximicen.

    Ten en cuenta que es posible que necesites ajustar las coordenadas x e y de la ventana principal (utilizando mainWindow.setPosition()) para tener en cuenta la altura de tu barra de herramientas.

Comments are closed.