Gán các không gian làm việc trên i3 cho nhiều màn hình


15

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 xrandrlệ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)?

Câu trả lời:


20

Bạn không thể chỉ định nhiều đầu ra cho một không gian làm việc, xem: https://github.com/i3/i3/issues/555

Vì vậy, cách duy nhất là thay đổi cấu hình i3 một cách linh hoạt. Bạn có thể gán cho tập lệnh hotkey sẽ thực hiện 2 việc: thay đổi đầu ra màn hình bằng xrandrvà di chuyển không gian làm việc bằng 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"

Với đoạn script trên, bạn sẽ chuyển 6-10 không gian làm việc sang DP2 và kết thúc ở không gian làm việc 10.

Cập nhật 2019: Nhiều nhiệm vụ đầu ra đã được triển khai bắt đầu từ v4.16, xem https://i3wm.org/docs/userguide.html#workspace_screen . Bây giờ bạn có thể sử dụng chúng như thế:

workspace "6: S1" output HDMI2 VGA

2

Theo hướng dẫn của người dùng , cú pháp:

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

nên làm việc.

Hoặc bạn có thể xác định đầu ra chính trên máy của mình, nếu không được đặt ( xrandr --output <output> --primary) và sử dụng cú pháp này:

workspace 1 output primary
...
workspace 6 output secondary
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.