Tôi đã bật i3 trên máy tính xách tay Linux của mình. Tôi thường chỉ sử dụng màn hình bên trong của máy tính xách tay (màn hình eDP1
), nhưng khi tôi làm việc, tôi có xu hướng kết nối màn hình phụ với cổng HDMI (màn hình HDMI2
) của máy tính . Cho đến nay, tôi đã làm cho công việc này hoạt động tốt bằng cách thêm các lệnh này vào tệp cấu hình i3 của mình:
# 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
Nói cách khác, khi tôi kết nối màn hình HDMI của mình, tôi chỉ cần nhấn Mod+ Mđể i3 phát hiện ra nó, đặt nó bên phải màn hình chính của tôi và ủy nhiệm 5 không gian làm việc được đặt tên (6-10) cho nó.
Đây là vấn đề: Ở nhà, tôi có một màn hình khác mà tôi có thể kết nối với VGA (màn hình DP2
). Tôi cũng có thể chạy xrandr
lệnh ở trên để đặt màn hình này ở bên phải màn hình chính của mình, nhưng tôi không thể lấy các không gian làm việc được gán cho màn hình này theo mặc định, trừ khi tôi thay thế các quy tắc tôi đã có cho màn hình HDMI của mình. Tôi muốn cả hai không gian làm việc này hoạt động như nhau cho dù tôi sử dụng màn hình nào, vì vậy đây không phải là một tùy chọn.
TL; DR Có cách nào để gán không gian làm việc cho hai màn hình khác nhau, tùy thuộc vào màn hình nào được kết nối (giả sử chúng sẽ không bao giờ được kết nối cùng một lúc)?