มีคำสั่งให้ใช้พื้นที่ทำงานเฉพาะหรือไม่?


22

ฉันกำลังพยายามสร้างรายการด่วนบนตัวเรียกใช้งานพื้นที่ทำงานของ Switcher ที่ช่วยให้สามารถสลับไปยังพื้นที่ทำงานได้อย่างรวดเร็ว (บางครั้งเพื่อนของฉันใช้คอมพิวเตอร์ของฉันและไม่สนุกกับแป้นพิมพ์ลัดดังนั้นฉันจึงต้องการช่วยเขาออกมา)

ดังนั้นมีคำสั่งอย่างใดอย่างหนึ่งสามารถพิมพ์ในเทอร์มินัลที่จะบังคับพื้นที่ทำงานบางอย่างจะเน้น


นอกจากนี้ยังมีความเป็นไปได้ในการตั้งค่าแป้นพิมพ์ลัดบน systemettings5 สำหรับ kwin (สลับเดสก์ท็อปหรืออย่างอื่น) หรือผู้จัดการการตั้งค่าเดสก์ทอปอื่น ๆ จากนั้นใช้ xdotool เพื่อจำลองปุ่มลัดเช่น xdotool คีย์ ctrl + alt + b;
intika

คำตอบ:


34

คุณสามารถใช้wmctrl

คำสั่งพื้นฐาน:
wmctrl -dเพื่อแสดงพื้นที่ทำงานทั้งหมดของคุณ
wmctrl -s <workspace_name>เพื่อเปลี่ยนเป็นพื้นที่ทำงานเฉพาะ

หากคุณกำลังใช้งาน Compiz คุณจะต้องทำเคล็ดลับเพราะ "พื้นที่ทำงาน" ของ Compiz เป็นวิวเวอร์ของเวิร์กสเปซเดียว

คำแนะนำเคล็ดลับ

ตรวจสอบผลลัพธ์ของwmctrl -dตัวอย่างเช่น Mine คือ:

0  * DG: 4098x2304  VP: 1366,0  WA: 0,23 1366x745  N/A  

ซึ่งหมายความว่าจริง ๆ แล้วฉันมีหนึ่งพื้นที่ทำงานของ 4098 x 2304 แทนสิ่งที่ฉัน "คิดว่า" ฉันมี (เก้า "พื้นที่ทำงาน", 3 x 3)
ฉันอยู่ที่สิ่งที่ควรจะเป็น "พื้นที่ทำงาน" 2 แต่จริงๆแล้วฉันอยู่ที่วิวพอร์ต (VP) 1366,0 (4098/3 = 1366) ตามที่แสดงโดยเอาท์พุทข้างต้น

นี่คือวิธีการทำงาน: เราใช้พื้นที่ทำงานทั้งหมดและหารจำนวน "พื้นที่ทำงาน" ที่เรา "คิด" ที่เรามี ในกรณีของฉัน: 4098/3 = 1366 และ 2304/3 = 768

ถ้าฉันต้องการไปที่ "พื้นที่ทำงาน" ของฉัน 1 คำสั่งคือ:

wmctrl -o 0,0

จากนั้นถ้าฉันต้องการไปที่ "พื้นที่ทำงาน" ของฉัน 4 คำสั่งคือ:

wmctrl -o 0,768

ถ้าฉันต้องการไปที่ "workspace" 8 ของฉันคำสั่งคือ:

wmctrl -o 1366,1536

ถ้าฉันต้องการไปที่ "workspace" 9 คำสั่งคือ:

wmctrl -o 2732,1536

เข้าใจแล้วใช่ไหม ;-)

การ-oตั้งค่าสถานะ "ตัด" ค่าของพวกเขา กล่าวอีกนัยหนึ่งมันเปลี่ยน "เวิร์กสเปซ" ที่มีพิกเซลจริงอยู่ สิ่งต่อไปนี้เทียบเท่า:

wmctrl -o 0,0
wmctrl -o 1365,767

1
มีวิธีไปที่ "เดสก์ท็อปปัจจุบัน + 1" หรือไม่
xjcl

9

มันง่ายมากที่จะบรรลุสิ่งที่คุณต้องการxdotoolซึ่งมีหลายตัวเลือกสำหรับการจัดการพื้นที่ทำงานที่แตกต่างกัน (หรือที่เรียกว่า 'เดสก์ท็อป' ภายในเอกสารประกอบของโปรแกรม) ฉันคิดว่ามันน่าสนใจมากและมีความคิดสร้างสรรค์ในการรวมคำสั่งจากman xdotool; คำสั่งที่ฉันกำหนดไว้ด้านล่างอาจมีประโยชน์ในสคริปต์

หมายเหตุ:ด้วยการจัดการหน้าต่างบางส่วนหรือถ้าคุณกำลังใช้compizคุณอาจจำเป็นต้องใช้xdotoolคำสั่งเช่นและset_desktop_viewport get_desktop_viewportคุณอาจต้องระบุคำสั่งในลักษณะที่ต่างออกไปตามที่desguaแนะนำไว้ข้างต้น แต่สำหรับฉันset_desktopแล้วset_desktop_for_windowคำสั่งและคำสั่งที่พิสูจน์แล้วมีประโยชน์มากที่สุดในระบบที่ไม่ใช้คอมแพค)

( โซลูชันมีประโยชน์มากที่สุดสำหรับผู้ใช้ Xubuntu / Lubuntu หรือผู้ที่ไม่ได้ใช้งาน compiz ฯลฯ )

หากต้องการแสดงจำนวนพื้นที่ใช้งานปัจจุบันให้ป้อน

xdotool get_num_desktops

คำสั่งต่อไปนี้จะใช้งานได้หากคุณมีพื้นที่ทำงานอย่างน้อย 1 แห่ง

หากต้องการเปลี่ยนโฟกัสไปยังพื้นที่ทำงานของคุณ 1 เพียงแค่ป้อน

xdotool set_desktop 1 

จากนั้นเพื่อกลับไปที่เวิร์กสเปซดีฟอลต์ให้ป้อน

xdotool set_desktop 0

เวิร์กสเปซต้องถูกระบุเป็นค่าสุดท้ายในคำสั่ง (1 หรือ 2 หรือ 3 เป็นต้น)

หากต้องการค้นหาจำนวนพื้นที่ใช้งานที่คุณเปิดอยู่คุณสามารถใช้

xdotool get_desktop

คำสั่งเหล่านี้สามารถใช้ในสคริปต์และควรมีประโยชน์มากสำหรับการบรรลุสิ่งที่คุณทำ

สำหรับวิธีสลับแอปพลิเคชันไปยังเดสก์ท็อปโดยเฉพาะดูคำตอบของฉันที่นี่:

สำหรับตัวเลือกที่มีประโยชน์อื่น ๆ man xdotoolอีกมากมายพร้อมใช้งานสำหรับการสลับพื้นที่ทำงานให้คำปรึกษา


ฉันชอบคำตอบนี้ดีกว่าคำตอบที่ได้รับขอบคุณ ฉันใช้สิ่งนี้เพื่อตั้งค่ามุมร้อนสองจุดเพื่อสลับระหว่างสองพื้นที่ทำงานได้อย่างง่ายดาย
กำหนดเวลา

มีประโยชน์ด้วย: สลับไปยังเดสก์ท็อปถัดไปไปทางซ้าย / ขวาโดยใช้การตั้งค่าสถานะสัมพัทธ์:xdotool set_desktop --relative -- -1
xjcl

1

ฉันใช้สคริปต์ที่ทำในสิ่งที่คุณต้องการ นี่คือ: https://github.com/norswap/wmov/blob/master/wmov.sh

มันใช้งานได้จริงตามที่อธิบายไว้ในโพสต์ของ desgua นอกจากนี้ยังมีความสามารถในการส่งหน้าต่างไปยังพื้นที่ทำงานอื่น ๆ


1
หมายเหตุ: ไม่สามารถใช้งานกับการนับบนเดสก์ท็อปเสมือน> 9.
j6m8

0

มีสคริปต์ที่เรียกว่าcompiz-send.pyบนcompiz wikiที่อยู่คำถามของคุณบางส่วน: ไม่ใช่พื้นที่ทำงานเฉพาะ แต่คุณสามารถไปที่หน้าถัดไปได้

ด้วยวิธีนี้คุณสามารถออกคำสั่ง
./compiz-dbus-send.py put put_viewport_left_key
./compiz-dbus-send.py put put_viewport_right_key
และมีวิวพอร์ตไป 1 ทางซ้ายหรือไปทางขวา


0

การไปยังพื้นที่ทำงานและการดำเนินการเฉพาะนั้นสามารถนำไปใช้กับ Python และpyautogui ของไลบรารีซึ่งทำให้สคริปต์ของ Python ทำการคลิกเมาส์กดแป้นและอื่น ๆ

ฉันเขียนบทแนะนำสั้น ๆในฟอรัมสำหรับ Peppermint OS เกี่ยวกับการเริ่มต้นแอพในที่ทำงานเฉพาะ

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