Como posso fazer o XScreenTV xscreensaver preencher minha tela?

1

Eu instalei recentemente o xscreensaver, bem como os protetores de tela extras / adicionais. Muitos dos OpenGL funcionam corretamente, indo fullscreen como esperado. No entanto, por algum motivo, o protetor de tela XAnalogTV deixa dois pontos "em branco" nas bordas da tela.

Se eu lançar manualmente o XAnalogTV, ele exibirá uma janela preenchida corretamente. Quando eu maximizo a janela, o mesmo efeito ocorre: a janela maximiza, mas as duas bordas da tela são literalmente "transparentes". Esse efeito também ocorre quando o protetor de tela está configurado para tela inteira.

Por esses motivos, acredito que o problema pode estar relacionado à proporção da tela. As bordas da tela são literalmente "ignoradas", sem que nada seja desenhado ali. Especificamente, observe a transição entre as capturas de tela maximizadas e de tela inteira (com o espaço em branco não desenhado diminuindo à medida que a altura vertical foi aumentada).

Para referência, estou executando o Xubuntu 12.04 em um Dell Vostro 1520 (Intel P8600, Nvidia 9300M) com um display 1440 x 900 (16:10). Eu também defini a preferência GetViewPortIsFullOfLies para true.

Existe alguma maneira de forçar a XAnalogTV a preencher minha tela inteira? Alternativamente, como acredito que o problema esteja relacionado à proporção de aspecto, existe alguma maneira de obter o protetor de tela para renderizar maior do que meu monitor e simplesmente descartar os pixels extras?

Capturas de tela relevantes (com janelas, maximizadas e tela inteira, respectivamente):

Você pode ver nos dois últimos que a barra de rolagem do Firefox está claramente visível, mesmo que seja um protetor de tela em tela cheia.

    
por Breakthrough 07.09.2012 / 16:28

1 resposta

4

Depois de alguma deliberação, decidi resolver o problema sozinho. Eu escrevi um post no meu blog aqui , que detalha as etapas que tomei para corrigir o problema. O processo básico a seguir é:

  1. Faça o download do código-fonte do XScreenSaver.
  2. Obtenha todas as dependências de construção e execute ./configure em seu sistema.
  3. Na distribuição de origem, localize o arquivo analogtv.c do arquivo no diretório hacks . Nesse arquivo, comente (exclua) as linhas 328 e 338. Essas linhas incluem o código wlim = hlim * max_ratio e hlim = wlim / min_ratio , respectivamente, que são responsáveis por evitar que o protetor de tela se estenda muito longe de um típico display analógico 4: 3.
  4. Execute make para criar XScreenSaver e XAnalogTV.
  5. Substitua o binário XAnalogTV (encontrado no diretório /usr/lib/xscreensaver/ no meu sistema) pelo que acabou de ser construído. Faça um backup do arquivo antigo primeiro.

Agora você deve ter um protetor de tela XAnalogTV funcional após reiniciar o daemon XScreenSaver:

Paramaisdetalhes,incluindocomandosespecíficos,consulte meu post aqui .

    
por 10.09.2012 / 17:47