0

I am using i3wm on my arch linux laptop and I am very frequently connecting disconnecting external displays.

Is there a way to save on which display workspace was and load it later?

For example: I have workspace 1,2 and 3 on display1, 4,5 and 6 on display2 and 7 on display3.

Thank you for help

1

That can be achieved statically.

First you have to know how are your displays called, you can use xrandr for that. Mine are called eDP-1 and HDMI-1 for example as the output is

xrandr
Screen 0: minimum 320 x 200, current 1920 x 1968, maximum 16384 x 16384
eDP-1 connected primary 1366x768+0+1200 (normal left inverted right x axis y axis) 277mm x 156mm
   1366x768      60.06*+  40.04  
   1280x720      60.00    59.99    59.86    59.74  
   1024x768      60.04    60.00  
   960x720       60.00  
   928x696       60.05  
   896x672       60.01  
   1024x576      59.95    59.96    59.90    59.82  
   960x600       59.93    60.00  
   960x540       59.96    59.99    59.63    59.82  
   800x600       60.00    60.32    56.25  
   840x525       60.01    59.88  
   864x486       59.92    59.57  
   700x525       59.98  
   800x450       59.95    59.82  
   640x512       60.02  
   700x450       59.96    59.88  
   640x480       60.00    59.94  
   720x405       59.51    58.99  
   684x384       59.88    59.85  
   640x400       59.88    59.98  
   640x360       59.86    59.83    59.84    59.32  
   512x384       60.00  
   512x288       60.00    59.92  
   480x270       59.63    59.82  
   400x300       60.32    56.34  
   432x243       59.92    59.57  
   320x240       60.05  
   360x202       59.51    59.13  
   320x180       59.84    59.32  
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm
   1920x1200     59.95*+
   1920x1080     60.00    50.00    59.94    30.00    25.00    24.00    29.97    23.98  
   1920x1080i    60.00    50.00    59.94  
   1600x1200     60.00  
   1280x1024     75.02    60.02  
   1152x864      75.00  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    60.00  
   800x600       75.00    60.32  
   720x576       50.00  
   720x576i      50.00  
   720x480       60.00    59.94  
   720x480i      60.00    59.94  
   640x480       75.00    60.00    59.94  
   720x400       70.08  
DP-2 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)

Then you can put the following in your .config/i3/config

bindsym $mod+1 workspace 1:
bindsym $mod+2 workspace 2:
bindsym $mod+3 workspace 3:
bindsym $mod+a workspace a:

workspace 1: output eDP-1
workspace 2: output eDP-1 
workspace 3: output eDP-1 
workspace a: output HDMI-1

That will allow you to have workspace 1,2 and 3 on display eDP-1 and workspace a on HDMI-1.

But I don't know of a way to do that dynamically unfortunately.

Maybe one way is to create several config files adapted to your use cases and use a symbolic link to a different one when you're in a different situation ?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.