คำสั่ง Shell เพื่อนำหน้าต่างโปรแกรมมาอยู่หน้าหน้าต่างอื่น?


12

คำสั่ง shell มีอยู่เพื่อนำโปรแกรมที่เริ่มต้นแล้วไปใช้ใน gnome ต่อหน้าโปรแกรมอื่น

เช่น:

Gedit และ Nautilus เริ่มต้นแล้ว Nautilus อยู่ในพื้นหลังและ Gedit อยู่เบื้องหน้า

ฉันจะนำ Nautilus ไว้ด้านหน้าด้วยคำสั่ง shell ได้อย่างไร


คำตอบ:


14
  • ติดตั้งwmctrl ติดตั้ง wmctrl

    wmctrl -a <name>

  • คุณยังสามารถใช้xdotool ติดตั้ง xdotool

บันทึก:

  • ข้อมูลเพิ่มเติมเกี่ยวกับ xdotool สามารถพบได้ที่นี่

แน่ใจว่าแก้ไขโพสต์ของคุณในขณะที่ฉันกำลังเขียนของฉัน ... :()
frabjous

คุณสามารถค้นหาชื่อหน้าต่างของคุณด้วย wmctrl -l ชื่อคือข้อความหลังจากเส้นประสุดท้าย: <window ID> <desktop ID> <เครื่องไคลเอนต์> <ชื่อเครื่องไคลเอนต์> <ชื่อหน้าต่าง>
jorfus

8

ตัวเลือกอื่นคือxdotool :

xdotool search --class Nautilus windowactivate


2
ล้มเหลวสำหรับฉันด้วยXGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)
Tino

อาจเป็นข้อผิดพลาดที่นี่ - จากประสบการณ์ของฉัน - ชื่อคลาสหรือ - ชื่อ (ถ้าทราบ) บางครั้งทำงานเมื่อ - ระดับไม่
frabjous

ในกรณีของฉันมันเป็นไปได้ที่จะยกระดับหน้าต่างโดยใช้ ID จากxwininfoและออกxdotoolคำสั่งที่แตกต่างกันหลายคำสั่งเพิ่มเติม(ซึ่งฉันจำไม่ได้อีกแล้ว) เมื่อฉันพยายามทำให้เป็นแบบอัตโนมัติ (เพื่อกำจัดxwininfo) ฉันได้สิ่งประดิษฐ์ที่มองเห็นเนื่องจากหน้าต่างที่ซ่อนอยู่ซึ่งถูกเลือกด้วยเช่นกัน ฉันไม่พบวิธีทั่วไปในการจัดการกับหน้าต่างใด ๆ หลังจากเปลี่ยนเป็นwmctrl -aทุกอย่างทำงานได้อย่างไร้ที่ติทันทีโดยไม่มีการปรับแต่งใด ๆ เพิ่มเติม โปรดทราบว่าฉันชอบxdotoolแต่ดูเหมือนจะยากที่จะยกระดับหน้าต่างที่ถูกต้องด้วย
Tino

2

เมื่อใช้xdotoolงานดูเหมือนว่าเป็นการยากที่จะนำหน้าwindows ทั้งหมดสำหรับแอปพลิเคชันหรือคลาสที่กำหนดโดยใช้คำสั่งเดียว ฉันจบลงด้วยการได้ผลลัพธ์ที่ดีขึ้นโดยการพันในforระดับเปลือก ใช้ Bash:

for WINDOW in $(xdotool search --desktop 0 Firefox); do
   xdotool windowactivate ${WINDOW}
done

หมายเหตุน้อย:

  • โดยค่าเริ่มต้นxdotool searchจะค้นหารูปแบบ (ที่นี่Firefox) ในชื่อหน้าต่างคลาสและชื่อคลาส หากคุณต้องการที่จะ จำกัด พื้นที่การค้นหาของคุณใช้ที่เกี่ยวข้อง--class, --nameหรือ--classnameตัวเลือก
  • --desktop 0ตัวเลือก จำกัด การค้นหาเพื่อสก์ท็อปเป็นครั้งแรก ดูเหมือนว่าจะเป็นการหลีกเลี่ยงปัญหาXGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)ดังกล่าวในบางความคิดเห็น
  • ในช่วงเวลาของการเขียนนี้xdotoolโครงการจะหยุดชะงักตั้งแต่ปี 2015 มันยังคงเป็นเครื่องมือของฉันที่เลือก ด้วยเหตุผลส่วนตัว Jordan Sissel (ผู้เขียนต้นฉบับ) ไม่กระตือรือร้นเหมือนเดิมดังนั้นอย่าลังเลที่จะมีส่วนร่วมในโครงการ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.