Limitando o tamanho da área de trabalho no Linux

0

Eu tenho uma tela e a borda mais à direita do meu monitor está quebrada! Então, para que isso funcione, estou tentando de alguma forma restringir minha área de trabalho aos pixels que realmente funcionam.

Isso significaria:

  • O ponteiro não deve entrar na região negra nunca
  • O Windows, se maximizado, deve ocupar apenas os pixels que funcionam.

Eu uso o Ubuntu 13.10! Qualquer termo que eu possa pesquisar seria ótimo!

    
por Utkarsh Sinha 20.02.2014 / 18:26

1 resposta

1

Nós usaremos duas ferramentas para alcançar nosso objetivo. O primeiro é cvt e o segundo é xrandr.

PRIMEIRO, você precisa saber quanto espaço deseja cortar e de que lado da tela. No meu caso, eu tinha pixels mortos no topo da tela do meu laptop, ocupando cerca de 20 pixels (guestimate), então eu queria reduzir o tamanho da tela no topo da minha tela e eles e não tê-los cobrir o topo das barras de título . Eu vou orientá-lo sobre como eu fiz isso, você pode adotá-lo para se adequar à sua situação.

Então comecei a rodar o xrandr para ver o tamanho da minha exibição

$ xrandr 
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 32767 x 32767
LVDS1 connected primary 1280x800+0+0 (normal left inverted right x axis y axis) 331mm x 207mm
   1280x800       60.0*+   50.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        60.0     59.9  
VGA1 disconnected (normal left inverted right x axis y axis)
TV1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

O tamanho da tela é 1280x800

Como minha estimativa é de que os pixels ocuparam 20 pixels na parte superior da tela, o novo valor será de 1280x780.

SECOND: werun cvt para que possamos obter os 'valores mágicos' para esse tamanho:

 $ cvt 1280 770
# 1280x770 59.91 Hz (CVT) hsync: 47.93 kHz; pclk: 79.75 MHz                                                                 
Modeline "1280x770_60.00"   79.75  1280 1344 1472 1664  770 773 783 800 -hsync +vsync

A parte importante é aquela que começa com "Modeline" - os valores dados nesta linha são os que você precisará passar para o xrandr para que a tela exiba o novo tamanho. Xrandr faz isso usando algo chamado "modo".

TERCEIRO: É hora de fazer um novo modo usando os valores que obtivemos da cvt.

O comando que nos permite fazer isso (usando os valores que eu obtive acima) é assim:

$ xrandr --newmode 1280x770   79.75  1280 1344 1472 1664  770 773 783 800 -hsync +vsync

QUARTO: adicionamos esse novo modo aos que estão disponíveis no xrandr. Isso é feito usando o comando "--addmode" no xrandr. No meu caso particular, eu estava adicionando ao LVDS1.

Então o comando vai ser:

$ xrandr --addmode LVDS1 1280x770

QUINTA: Verificamos se o novo modo foi adicionado ao xrandr. Isso é feito usando:

$ xrandr -q

Eu tenho:

    $ xrandr -q
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 32767 x 32767
LVDS1 connected primary 1280x800+0+0 (normal left inverted right x axis y axis) 331mm x 207mm
   1280x800       60.0*+   50.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        60.0     59.9  
   1280x770       59.9
VGA1 disconnected (normal left inverted right x axis y axis)
TV1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

Você pode ver que ele foi adicionado e agora está listado na parte inferior - 1280x770 59.9

Então, agora é hora de executar o novo modo! Fazemos isso executando:

$ xrandr --output LVDS1 --mode 1280x770

A tela deve sair e voltar com o novo modo aplicado e o tamanho da tela reduzido.

O resultado é uma barra preta na parte superior da tela, com o mouse e os aplicativos usando isso como limite da tela.

Então, agora, o último passo é fazer com que o comando seja executado no login, para que eu não tenha que lidar com isso. A maneira de fazer isso depende da sua área de trabalho e está além do escopo desta resposta.

    
por 06.10.2015 / 11:18