Electron: As opções de min-width e min-height do BrowserWindow não funcionam porque são nomes de javascript inválidos

Criado em 6 mai. 2015  ·  14Comentários  ·  Fonte: electron/electron

De acordo com a documentação:

https://github.com/atom/electron/blob/master/docs/api/browser-window.md

Largura e altura mínimas podem ser passadas em opções para o BrowserWindow como largura mínima e altura mínima, mas essas opções não funcionam porque são nomes de javascript inválidos:

https://mothereff.in/js-variables#min -width

setMinimumSize () funciona conforme o esperado.

Comentários muito úteis

@sbruchmann , o código fornecido por você não está funcionando. mas isso funcionou para mim

new BrowserWindow({
  'minHeight': 300,
  'minWidth': 300
})

Todos 14 comentários

Olá @hzeroo ,

você deve colocar suas chaves entre aspas se elas contiverem caracteres inválidos:

new BrowserWindow({
  'min-height': 300,
  'min-width': 300
})

Pode ser fechado, não sabia ^^.

@sbruchmann , o código fornecido por você não está funcionando. mas isso funcionou para mim

new BrowserWindow({
  'minHeight': 300,
  'minWidth': 300
})

@bansalvks O código que forneci não funciona _anymore_. Em versões anteriores, essas chaves tinham que ser escritas com travessões, mas foram substituídas por camelCase.

@bansalvks Já chega:

new BrowserWindow({
  minHeight: 300,
  minWidth: 300
})

Definir minHeight, minWidth não funcionou para mim. Tive que definir o tamanho inicial da janela e, em seguida, definir os tamanhos mínimos:

new BrowserWindow({
  height: 300,
  width: 300,
  minHeight: 300,
  minWidth: 300
})

Eu gostaria de acrescentar que tanto minWidth quanto minHeight devem ser especificados . Eu precisava que a janela ficasse acima da largura mínima, mas não me importei com a altura mínima .. Não funcionou assim. Portanto, sempre defina ambos.

Além disso, certifique-se de não colocar decimais, eu tinha decimais lá e estragou. Tentar ser exato nem sempre é bom se não funcionar. Aproximado em vez de decimais.

isso não funcionou para mim

new BrowserWindow({
      width: 800, height: 600,
      'minWidth':400,// even 'min-width' or minWidth
      frame:false
})

funcionou para mim apenas depois de definir a altura mínima como:

new BrowserWindow({
  width: 800, height: 600,
  minHeight: 300,
  minWidth: 300,
  frame:false
})

No meu caso, tentei definir o tamanho da janela para ser relativo ao tamanho da tela.
Certifique-se de passar inteiros

const screenElectron = electron.screen;
const display = screenElectron.getPrimaryDisplay();
const dimensions = display.workAreaSize;
mainWindow = new BrowserWindow({
    width: parseInt(dimensions.width * 0.8),
    height: parseInt(dimensions.height * 0.8),
    minWidth: parseInt(dimensions.width * 0.8),
    minHeight: parseInt(dimensions.height * 0.8),
    maxWidth: dimensions.width,
    maxHeight: dimensions.height,
    icon: `${__dirname}/assets/icon.ico`
  });

Todos os itens acima não funcionam no Windows 10, testado no elétron 7 e 8. O BrowserWindow pode ser sempre minimizado em 30-40 pixels.

@Celebes , isso está funcionando para mim no Windows 10. Estou usando a versão Electron 9.0.2 .

new BrowserWindow({
  width: 800,
  height: 600,
  minWidth: 900,
  minHeight: 600,
})

@Celebes , isso está funcionando para mim no Windows 10. Estou usando a versão Electron 9.0.2 .

new BrowserWindow({
  width: 800,
  height: 600,
  minWidth: 900,
  minHeight: 600,
})

sua configuração está funcionando, mas width e height parecem desnecessários.

Eu uso win10 e electron 9.1.0.

@Celebes , isso está funcionando para mim no Windows 10. Estou usando a versão Electron 9.0.2 .

new BrowserWindow({
  width: 800,
  height: 600,
  minWidth: 900,
  minHeight: 600,
})

sua configuração está funcionando, mas width e height parecem desnecessários.

Eu uso win10 e electron 9.1.0.

O que definir a largura inicial menor do que a largura mínima significa afinal?

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

rhnorskov picture rhnorskov  ·  3Comentários

dangan-ronpa picture dangan-ronpa  ·  3Comentários

EladBezalel picture EladBezalel  ·  3Comentários

jviotti picture jviotti  ·  3Comentários

feross picture feross  ·  3Comentários