Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

213
Visualizações
La posición de la ventana de la extensión de Chrome devuelta por las API de chrome.windows está desactivada (alrededor de 8 px)

Tengo problemas para determinar en qué monitor (físico) se encuentra una ventana de Chrome. Esta es mi solución actual:

 // This is just for shorter alias type ChrDispInfo = chrome.system.display.DisplayInfo; private async getActiveMonitorAsync(monitors: ChrDispInfo[]) { const currWin = await chrome.windows.getCurrent(); for (let monitor of monitors) { const a = monitor.workArea; if (currWin.left >= a.left && currWin.left <= a.left + a.width && currWin.top >= a.top && currWin.top <= a.top + a.height) { return monitor; } } return monitors.find(q => q.isPrimary) || monitors[0]; }

Sin embargo, noto que no siempre funciona, especialmente cuando una ventana está maximizada o cuando la muevo manualmente cerca del borde superior izquierdo. El valor está fuera de aproximadamente 8px. Por ejemplo, esto es cuando lo coloco en un monitor de 1080x1920 a la izquierda del monitor principal:

 [currWin.left, currWin.top, currWin.width, currWin.height] value: [-1088, -460, 1096, 1888] monitor.workArea value: {height: 1872, left: -1080, top: -452, width: 1080}

Como puede ver, el valor está "apagado" en aproximadamente 8 px. Supongo que esto se debe al borde de la ventana. Estoy ejecutando en Windows 11 Pro.

¿Es una buena solución poner un desplazamiento de 8px? ¿El valor es diferente en diferentes sistemas operativos? ¿Hay alguna buena solución en general?


Actualización: me parece interesante que luego se incluya el número en width y height . Por ejemplo, si quiero configurar una ventana a un cierto tamaño, tengo que poner el desplazamiento de ancho y alto dos veces :

 const BorderSize = 8; async updateWinAsync(window: ChrWin, monArea: chrome.system.display.Bounds, winSetting: Rect) { await chrome.windows.update(window.id, { left: winSetting[0] * monArea.width + monArea.left - BorderSize, top: winSetting[1] * monArea.height + monArea.top - BorderSize, width: winSetting[2] * monArea.width + BorderSize * 2, height: winSetting[3] * monArea.height + BorderSize * 2, state: "normal", }); }
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda