Atribuir áreas de trabalho no i3 para vários monitores

8

Eu mudei usando o i3 no meu laptop Linux. Normalmente, estou usando apenas o monitor interno do laptop (exibição eDP1 ), mas quando estou no trabalho tento conectar um monitor secundário à porta HDMI do meu computador (exibição HDMI2 ). Até agora, eu fiz este trabalho bem adicionando esses comandos ao meu arquivo de configuração do i3:

# use workspaces on different monitors
workspace "1: P1" output eDP1
workspace "2: P2" output eDP1
workspace "3: P3" output eDP1
workspace "4: P4" output eDP1
workspace "5: P5" output eDP1
workspace "6: S1" output HDMI2 
workspace "7: S2" output HDMI2
workspace "8: S3" output HDMI2
workspace "9: S4" output HDMI2
workspace "10: S5" output HDMI2

# add HDMI monitor when connected
exec --no-startup-id xrandr --output HDMI2 --right-of eDP1
bindsym $mod+m exec --no-startup-id xrandr --output HDMI2 --auto --right-of eDP1

Em outras palavras, quando eu conecto meu monitor HDMI, simplesmente pressiono Mod + M para que o i3 detecte, coloque-o à direita da minha tela principal e delegue 5 espaços de trabalho nomeados (6-10) para ele.

Aqui está o problema: Em casa, eu tenho outro monitor que eu posso conectar com VGA (exibir DP2 ). Eu posso executar o comando xrandr acima para colocar essa exibição à direita da minha tela principal também, mas não consigo que os espaços de trabalho sejam atribuídos a essa exibição por padrão, a menos que eu substitua as regras que eu já tenho para o meu monitor HDMI. Eu gostaria que ambos os espaços de trabalho trabalhassem o mesmo, não importando qual monitor eu usasse, então isso não é uma opção.

TL; DR Existe uma maneira de atribuir espaços de trabalho a dois monitores diferentes, dependendo de qual monitor está conectado (assumindo que eles nunca serão conectados ao mesmo tempo)?

    
por Frxstrem 12.02.2017 / 03:36

2 respostas

9

Você não pode atribuir várias saídas a um único espaço de trabalho, consulte: link

Portanto, a única maneira é alterar a configuração do i3 dinamicamente. Você pode atribuir ao script de atalho que fará duas coisas: alterar as saídas do monitor com xrandr e mover espaços de trabalho com i3-msg :

xrandr --output DP2 --auto --right-of eDP1
i3-msg "workspace 6, move workspace to output DP2"
...
i3-msg "workspace 10, move workspace to output DP2"

Com o script acima, você moverá de 6 a 10 espaços de trabalho para o DP2 e acabará ficando no espaço de trabalho 10.

    
por 14.02.2017 / 20:19
0

De acordo com a sintaxe do guia do usuário :

workspace 1 output eDP1
...
workspace 6 output HDMI2 VGA

deve funcionar.

Ou você pode definir saídas primárias e secundárias em suas máquinas, se não configuradas ( xrandr --output <output> --primary ), e usar essa sintaxe:

workspace 1 output primary
...
workspace 6 output secondary
    
por 23.11.2018 / 23:31

Tags