Esticar a janela sobre dois monitores com “gap” entre

3

Eu tenho uma configuração de monitor duplo com o Compiz como gerenciador de janelas no Ubuntu 14.04. Eu posso redimensionar uma janela para esticar as duas janelas. No entanto, enquanto os painéis de exibição física estão a poucos centímetros de distância, o software, por padrão, pensa que eles estão bem próximos uns dos outros sem um intervalo entre eles. Isto significa, e. uma linha diagonal acaba ficando assim:

+----------+ +----------+
|          | |   /      |
|          | |  /       |
|          | | /        |
|          | |/         |
|         /| |          |
|        / | |          |
+----------+ +----------+

O que eu gostaria de alcançar é algo mais assim:

+----------+ +----------+
|          | | /        |
|          | |/         |
|          | |          |
|          | |          |
|         /| |          |
|        / | |          |
+----------+ +----------+

Isso resultaria em parte da janela sendo ocultada, mas isso é aceitável.

Eu posso fazer X considerar os monitores como tendo um intervalo entre os seguintes:

$ xrandr
Screen 0: minimum 320 x 200, current 2048 x 1280, maximum 32767 x 32767
LVDS1 connected (normal left inverted right x axis y axis)
   1366x768       60.0 +
   1360x768       59.8     60.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
HDMI2 connected primary 1024x1280+0+0 left (normal left inverted right x axis y axis) 376mm x 301mm
   1280x1024      60.0*+   75.0  
   1280x960       60.0  
   1152x864       75.0  
   1024x768       75.1     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        75.0     72.8     66.7     60.0  
   720x400        70.1  
HDMI3 connected 1024x1280+1024+0 right (normal left inverted right x axis y axis) 376mm x 301mm
   1280x1024      60.0*+   75.0  
   1280x960       60.0  
   1152x864       75.0  
   1024x768       75.1     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        75.0     72.8     66.7     60.0  
   720x400        70.1  
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
$ xrandr --fb 2184x1280
$ xrandr --output HDMI3 --pos 1160x0

À primeira vista, isso parece funcionar perfeitamente - quando eu movo o mouse em uma linha diagonal através da abertura entre os monitores, ele desaparece "atrás" do monitor e reaparece onde eu esperaria que a linha diagonal continue.

No entanto, , não consigo mais mover ou redimensionar uma janela para alongar os dois monitores. Nem o mouse nem wmctrl parecem ser capazes de fazer isso.

Existe uma maneira de conseguir o que eu quero?

    
por Thomas W. 31.01.2015 / 15:46

1 resposta

4

Eu encontrei uma pergunta relacionada no Ask Ubuntu que meio que fez o truque para mim. Instruções para todo o processo, incluindo a criação da "lacuna" entre monitores (funciona pelo menos no Ubuntu 14.04):

  • Descubra o tamanho total da tela atual (supondo que não haja intervalo virtual entre os monitores): $ xrandr | grep Screen Screen 0: minimum 320 x 200, current 2048 x 1280 , maximum 32767 x 32767
  • Adicione o tamanho do intervalo desejado em pixels à largura (primeiro valor exibido após current - no meu caso, 2048). Eu escolhi um espaço de 136 pixels, então eu teria uma nova tela de 2184.
  • Defina o novo tamanho de tela:
    xrandr --fb 2184x1280
  • Descubra o nome de exibição do seu monitor direito:
    $ xrandr | grep ^[^\(]*right HDMI3 connected 1024x1280+ 1024 +0 right (normal left inverted right x axis y axis) 376mm x 301mm
  • Praticamente mova o monitor direito para a direita para criar a lacuna. Adicione o tamanho da lacuna ao terceiro número exibido pelo comando acima (destacado em negrito). No meu exemplo, isso é 1024 + 136 = 1160: xrandr --output HDMI3 --pos 1160x0

Agora, faça o Compiz lidar com toda a área como uma única tela

  • Inicie o Gerenciador de configurações do CompizConfig (instalável com sudo apt-get install compizconfig-settings-manager )
  • Ir para o plug-in "Opções gerais" (por exemplo, digite isso na caixa de pesquisa)
  • Selecione a guia "Configurações de exibição"
  • Desmarque a opção "Detectar saídas"
  • Se isso ainda não funcionar, clique com o botão direito em cada linha listada em "Saídas", selecione "Editar" e exclua o conteúdo delas.

Ao maximizar uma janela, ela agora aumentará os dois monitores. A tela cheia também aumentará os dois monitores.

Claramente, isso não é ideal, já que na maioria das vezes é desejável que janelas maximizadas preencham um único monitor. Isso significa que a opção "Detectar Saídas" do Compiz terá que ser verificada e desmarcada dependendo do comportamento desejado no momento.

Uma nota para o usuário com local diferente do inglês: Se você não conseguir encontrar o plugin e a configuração do CompizConfig porque você não sabe como seus nomes foram traduzidos, inicie o CompizConfig da seguinte forma:

LANG=C ccsm
    
por 31.01.2015 / 18:03