i3ไม่ได้โดดสนับสนุนลำดับที่สำคัญเช่นที่เป็นกลุ่ม การโยงคีย์ใด ๆ ประกอบด้วยคีย์เดี่ยวนำหน้าด้วยรายการตัวเลือกการShift+Shift
ปรับเปลี่ยนที่แตกต่างกัน (ดังนั้นไม่) และตัวดัดแปลงทั้งหมดจะต้องกดลงในเวลาที่กดปุ่มหลัก
ที่ถูกกล่าวว่ามีสองวิธีหลักในการมีพื้นที่ทำงานจำนวนมากโดยไม่ต้องผูกไว้กับรายการตัวปรับเปลี่ยนแบบยาว:
1. สร้างและเข้าถึงพื้นที่ทำงานด้วยโปรแกรมภายนอกแบบไดนามิก
คุณไม่จำเป็นต้องกำหนดทางลัดสำหรับทุก ๆ เวิร์กสเปซเดียวคุณสามารถสร้างมันขึ้นมาได้ทันทีโดยส่ง a workspace NEW_WS
ไปยังi3ตัวอย่างด้วยi3-msg
โปรแกรม:
i3-msg workspace NEW_WS
i3-msg move container to workspace NEW_WS
i3ยังมาพร้อมกับi3-input
คำสั่งซึ่งเปิดฟิลด์อินพุตขนาดเล็กจากนั้นรันคำสั่งด้วยอินพุตที่กำหนดเป็นพารามิเตอร์
i3-input -F 'workspace %s' -P 'go to workspace: '
i3-input -F 'move container to workspace %s' -P 'move to workspace: '
ผูกทั้งสองคำสั่งเหล่านี้ไปยังทางลัดและคุณสามารถเข้าถึงจำนวนพื้นที่ทำงานโดยพลการเพียงแค่กดทางลัดแล้วป้อนชื่อ (หรือหมายเลข) ของพื้นที่ทำงานที่คุณต้องการ (หากคุณทำงานกับพื้นที่ทำงานที่มีหมายเลขคุณอาจต้องการใช้workspace number %s
แทนการใช้เพียงworkspace %s
)
2. เชื่อมโยงพื้นที่ทำงานกับทางลัดอย่างง่ายภายในโหมดการเชื่อมโยงคีย์
อีกวิธีหนึ่งสำหรับวิธีคงที่มากขึ้นคุณสามารถใช้โหมดในการกำหนดค่าi3ของคุณ คุณสามารถมีโหมดแยกต่างหากสำหรับการโฟกัสและการย้ายไปยังพื้นที่ทำงาน:
set $mode_workspace "goto_ws"
mode $mode_workspace {
bindsym 1 workspace 1; mode "default"
bindsym 2 workspace 2; mode "default"
# […]
bindsym a workspace a; mode "default"
bindsym b workspace b; mode "default"
# […]
bindsym Escape mode "default"
}
bindsym $mod+w mode $mode_workspace
set $mode_move_to_workspace "moveto_ws"
mode $mode_move_to_workspace {
bindsym 1 move container to workspace 1; mode "default"
bindsym 2 move container to workspace 2; mode "default"
# […]
bindsym a move container to workspace a; mode "default"
bindsym b move container to workspace b; mode "default"
# […]
bindsym Escape mode "default"
}
bindsym $mod+shift+w mode $mode_move_to_workspace
หรือคุณอาจมีการผูกแยกต่างหากสำหรับการโฟกัสและการเคลื่อนที่ภายในโหมดเดียว:
set $mode_ws "workspaces"
mode $mode_ws {
bindsym 1 workspace 1; mode "default"
bindsym Shift+1 move container to workspace 1; mode "default"
bindsym 2 workspace 2; mode "default"
bindsym Shift+2 move container to workspace 2; mode "default"
# […]
bindsym a workspace a; mode "default"
bindsym Shift+a move container to workspace a; mode "default"
bindsym b workspace b; mode "default"
bindsym Shift+b move container to workspace b; mode "default"
# […]
bindsym Escape mode "default"
}
bindsym $mod+shift+w mode $mode_move_to_workspace
ในตัวอย่างทั้งสองคำสั่งworkspace
หรือmove
คำสั่งถูกโยงด้วยmode "default"
ดังนั้นi3จะส่งคืนกลับไปที่แผนผังการโยงคีย์เริ่มต้นโดยอัตโนมัติหลังจากแต่ละคำสั่ง