ฉันจะทำให้ i3wm ผูกท่าทางมัลติทัชเพื่อเปลี่ยนเดสก์ท็อปได้อย่างไร


16

ฟีเจอร์เดียวที่ฉันพลาดได้จาก OSX คือรูปแบบการสัมผัสแบบมัลติทัชสำหรับการเปลี่ยนเดสก์ท็อป ปัดสามนิ้วในทิศทางใดทิศทางหนึ่งให้ฉันไปที่แอปเต็มหน้าจอถัดไปหรือก่อนหน้าหรือเดสก์ท็อป ฉันอยากจะมีคุณสมบัติเดียวกันใน linux พร้อมกับตัวจัดการหน้าต่างเรียงต่อกัน ฉันใช้ i3wm อยู่ในขณะนี้ แต่ฉันยินดีที่จะเปลี่ยนหากมีคนให้เหตุผลที่น่าสนใจ

ใน.config/i3/configไฟล์ของฉันฉันมีบรรทัดต่อไปนี้ :

# multitouch gestures
bindsym --whole-window $mod+button10 workspace prev_on_output
bindsym --whole-window $mod+button11 workspace next_on_output

ตามที่xevฉันมี button10 / button11 ตั้งค่าอย่างถูกต้องด้วยทัชแพดของฉัน การ--whole-windowตั้งค่าสถานะ ( ตามเอกสาร ) และเท่าที่ฉันสามารถบอกได้ควรอนุญาตให้ฉันใช้การเชื่อมโยงนี้ที่ใดก็ได้บนหน้าจอ แต่การรวมจะใช้งานได้ก็ต่อเมื่อเมาส์ของฉันลอยอยู่เหนือแถบชื่อเรื่องของหน้าต่าง

ฉันทำสิ่งผิดปกติในการกำหนดค่าของฉันหรือไม่? หรือมีวิธีอื่นในการรับคุณลักษณะนี้หรือไม่

แก้ไข: ฉันใช้งาน v 4.10.3

$ i3 -v
> i3 version 4.10.3 (2015-07-30, branch "4.10.3") © 2009-2014 Michael Stapelberg and contributors

แนวคิดที่น่าสนใจอย่างที่ฉันเคยใช้ i3wm มากับฮาร์ดแวร์ของ mac และพลาด 3 นิ้วแบบนี้ ฉันไม่คิดว่าคุณต้องการพารามิเตอร์ "ทั้งหน้าต่าง" - bindsym ควรทำงานโดยไม่คำนึงถึง ฉันไม่สามารถทดสอบได้ในขณะนี้ แต่คุณได้ลองfocus_follows_mouse noดูว่ามันมีผลกระทบหรือไม่?
Eric Duncan

1
ฉันยังคงมองหาวิธีแก้ปัญหานี้ในปี 2019
Gabriel Ziegler

@ GabrielZiegler ตรวจสอบคำตอบของฉัน
Enetheru

คำตอบ:


2

i3-wm ไม่รองรับท่าทางมัลติทัชตามค่าเริ่มต้นดังนั้นจึงต้องใช้เครื่องมือภายนอกที่สามารถตรวจจับได้จากนั้นจึงต้องใช้คำสั่งดับเพลิง

ฉันอ่าน archwiki อย่างรวดเร็วสำหรับ libinput: https://wiki.archlinux.org/index.php/Libinput

  1. ติดตั้ง libinput-gestures จาก aur
  2. เพิ่มตัวคุณเองในฐานะสมาชิกของกลุ่มอินพุตเพื่อรับสิทธิ์ในการอ่านอุปกรณ์ทัชแพด: sudo gpasswd -a $USER input
  3. เพิ่มสองบรรทัดเหล่านี้หรือชุดรูปแบบของมันลงใน~/.config/libinput-gestures.confไฟล์:
gesture swipe up 3 i3-msg workspace prev
gesture swipe down 3 i3-msg workspace next
  1. ออกจากระบบของเซสชั่นของคุณอย่างสมบูรณ์หรือเพียงแค่เริ่มต้นใหม่
  2. เริ่ม libinput daemon:
libinput-gestures-setup autostart
libinput-gestures-setup start

ไม่สามารถจัดการให้มันทำงานได้ คิดว่าไดรเวอร์และการตั้งค่า Xorg อาจปิดเล็กน้อยเมื่อเทียบกับของคุณ มีวิธีทดสอบท่าทางเพื่อดูว่าท่าทาง libinput จดจำพวกเขาหรือไม่?
Gabriel Ziegler

@GabrielZiegler ส่งรายงานข้อผิดพลาดใน repo GitHub ดูว่านักพัฒนาเองยินดีที่จะช่วยgithub.com/bulletmark/libinput-gestures
Enetheru

มันทำงานได้! ต้องรันขั้นตอนการกำหนดค่าบางอย่างหลังจากติดตั้ง! ขอขอบคุณ!
Gabriel Ziegler

ขั้นตอนอะไร หากคุณจำได้ว่าใส่ไว้ที่นี่ในความคิดเห็นใครบางคนอาจแก้ไขคำตอบของฉันเพื่อเพิ่มพวกเขาใน
Enetheru
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.