i3wm: cómo hacer que múltiples monitores cambien espacios de trabajo en una sola encuadernación

Con Unity, mis dos monitores siempre están en el mismo espacio de trabajo. Si comienzo en el espacio de trabajo 1 y luego presiono ctrl + alt + derecha, ambos monitores se desplazan al nuevo espacio de trabajo a la derecha. Este comportamiento es importante para mi flujo de trabajo.

Me gustaría cambiar a i3, pero parece que los 2 monitores no siempre están obligados a apuntar al mismo espacio de trabajo. ¿Hay alguna manera de cambiar este comportamiento para que, en i3, cuando presiono $ mod + Shift + num, AMBAS pantallas cambien en lugar de solo la que tiene foco?

Es (algo) posible emular esta "característica" (para mí, el comportamiento del espacio de trabajo de i3 es una de las características principales, así que no recomiendo hacer esto a less que realmente no se pueda trabajar sin espacios de trabajo que abarquen todos los monitores mientras aún se necesita para usar i3 ).

Puede vincular varios commands a accesos directos, por lo que solo puede cambiar los espacios de trabajo en ambos monitores a la vez. Por ejemplo:

 # Default modifier key set $mod Mod4 # variables for left and right monitor # (assuming names DP-1 and DP-3 with DP-1 being left of DP-3) set $monL DP-1 set $monR DP-3 # variables for workpacenames; set $ws1L 1:A set $ws1R 11:A set $ws2L 2:B set $ws2R 12:B set $ws3L 3:C set $ws3R 13:C # assign workspaces to specific outputs workspace $ws1L output $monL workspace $ws1R output $monR workspace $ws2L output $monL workspace $ws2R output $monR workspace $ws3L output $monL workspace $ws3R output $monR # do not toggle automatically between the current and previous # workspace on repeated calls to `workspace NAME` (with identical NAME) workspace_auto_back_and_forth no # Toggle between both monitors # (focus output left wraps from the leftmost to the rightmost output) bindsym $mod+Tab focus output left # switch two workspaces at once (the need to be on different outputs) bindsym $mod+1 workspace $ws1L, workspace $ws1R bindsym $mod+2 workspace $ws2L, workspace $ws2R bindsym $mod+3 workspace $ws3L, workspace $ws3R # move a window to a specific workpace; # $mod+Shift for left side, $mod+Control for right side bindsym $mod+Shift+1 move workspace $ws1L bindsym $mod+Control+1 move workspace $ws1R bindsym $mod+Shift+2 move workspace $ws2L bindsym $mod+Control+2 move workspace $ws2R bindsym $mod+Shift+3 move workspace $ws3L bindsym $mod+Control+3 move workspace $ws3R bar { # [...] # Do not show workspace numbers (optional) strip_workspace_numbers yes } 

Utiliza variables para mantener el espacio de trabajo y los nombres de salida consistentes. Los nombres del espacio de trabajo para el monitor izquierdo y derecho deben ser diferentes. En este caso, elegí usar diferentes numbers porque pueden ocultarse, si así lo desean. Con estas configuraciones, Super + 1 cambiará al área de trabajo 1:A en el monitor izquierdo y 11:A en el monitor derecho. workspace_auto_back_and_forth debe estar deshabilitado para evitar comportamientos posiblemente confusos y no deseados.

Advertencias:

  • Esto funciona solo para los atajos de keyboard, si hace clic en un button de espacio de trabajo en i3bar, solo cambiará el espacio de trabajo en un monitor y no será su acompañante.
  • Cualquier command que enfoque una window en un espacio de trabajo actualmente no visible ( [criteria] focus ) solo enfocará ese espacio de trabajo sin el uno en el otro.
  • Al cambiar dos espacios de trabajo con un enlace, el segundo espacio de trabajo siempre será el centrado (en el ejemplo anterior, el derecho).
  • El enfoque y el movimiento a través de los bordes de la pantalla pueden requerir diferentes commands / combinaciones de teclas en algunos casos. (Si bien este es también el caso con espacios de trabajo no sincronizados, puede ser más notorio / disruptivo cuando se espera un gran espacio de trabajo)

Algunas, si no todas, las advertencias probablemente podrían resolverse utilizando la interfaz IPC, por ejemplo para cambiar automáticamente al espacio de trabajo complementario.


Personalmente, sugiero que al less adopte un enfoque híbrido: utilice espacios de trabajo sincronizados donde los necesite absolutamente para su flujo de trabajo, pero utilice el enfoque de visualización única pnetworkingeterminado (para i3 ) en cualquier otro lugar. De lo contrario, si necesita / desea absolutamente espacios de trabajo sincronizados todo el time, es posible que i3 simplemente no sea el administrador de windows que está buscando.