जवाबों:
मार्को के लिए धन्यवाद, मैंने इसका उपयोग करने का एक तरीका निकाला है wmctrl।
क्योंकि compiz कार्यस्थान वास्तव में एक डेस्कटॉप के व्यूपोर्ट हैं, इसलिए समाधान डेस्कटॉप के केंद्र क्षेत्र को कवर करने के लिए वर्तमान व्यूपोर्ट को स्थानांतरित करना है।
सबसे पहले, wmctrl -dवर्तमान डेस्कटॉप की जानकारी प्राप्त करने के लिए कॉल करें :
read desktop_id _ast \
DG_ geometry \
VP_ viewport \
WA_ wa_off wa_size \
title \
< <(LANG=C wmctrl -d | grep '*')
geom_w=${geometry%x*}
geom_h=${geometry#*x}
# The workarea size isn't accurate, because the top/bottom panel is excluded.
viewport_w=${wa_size%x*}
viewport_h=${wa_size#*x}
rows=$((geom_w / viewport_w))
cols=$((geom_h / viewport_h))
# Fix the viewport size
viewport_w=$((geom_w / rows))
viewport_h=$((geom_h / cols))
फिर, केंद्र व्यूपोर्ट की उत्पत्ति की गणना करें:
center_row=$((rows / 2))
center_col=$((cols / 2))
center_x=$((center_col * viewport_w))
center_y=$((center_row * viewport_h))
center_viewport=$center_x,$center_y
और वहां व्यूपोर्ट ले जाएं:
wmctrl -o $center_viewport
को डाउनलोड करें । इसे compiz-send.pyअपने होम फोल्डर में सेव करें ।python compiz-send.py vpswitch switch_to_5_keyयह सुनिश्चित करने के लिए कमांड चलाएँ कि यह सही ढंग से काम करता है। यह आपको केंद्र के कार्यक्षेत्र में स्विच करना चाहिए।यदि यह काम करता है, तो .switch_to_center_workspace.shअपने होम फ़ोल्डर में एक फ़ाइल बनाएं और उसके अंदर निम्नलिखित पेस्ट करें:
#!/bin/bash
sleep 5 && python /home/user/compiz-send.py vpswitch switch_to_5_key
userअपने उपयोगकर्ता नाम के साथ बदल रहा है ।
स्टार्टअप एप्लिकेशन, सिस्टम -> प्राथमिकताएं -> स्टार्टअप एप्लिकेशन खोलें ।
जोड़ें और कमांड में: प्रविष्टि पर क्लिक करें /home/user/.switch_to_center_workspace.sh। नाम में जो कुछ भी आप चाहते हैं उसे डालें : और टिप्पणी: प्रविष्टियाँ।
लॉग आउट करें और लॉग इन करें और सत्यापित करें कि यह काम करता है।
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "activate" with signature "si" on interface "org.freedesktop.compiz" doesn't exist
sleep 5स्क्रिप्ट का हिस्सा अधिक संख्या में बदलना जैसे sleep 10यह सुनिश्चित करना कि स्क्रिप्ट चलने पर पहले से ही चल रहा है। आप सही का उपयोग कर रहे हैं?
मैं इसी तरह का सवाल पूछने जा रहा था, लेकिन 3 क्षैतिज कार्यक्षेत्रों के लिए और मैं कम्पिज़ भी चला रहा हूं, और wmctrl -dआउटपुट (प्रति कार्यक्षेत्र) इस तरह दिखता है:
0 * DG: 4098x768 VP: 0,0 WA: 0,24 1366x744 Workspace 10 * DG: 4098x768 VP: 1366,0 WA: 0,24 1366x744 Workspace 10 * DG: 4098x768 VP: 2732,0 WA: 0,24 1366x744 Workspace 1क्या मैंने स्टार्टअप पर केंद्र को अपना डिफ़ॉल्ट कार्यक्षेत्र बनाने के लिए बस wmctrl -o 1366,0( वीपी मूल्यों) का इस्तेमाल किया । हर किसी के लिए काम नहीं हो सकता है, लेकिन सिर्फ मामले में;)
sh -c "sleep 2;/usr/bin/wmctrl -o 1366,0
बस एक संक्षिप्त नोट - मैं नेट्टी का उपयोग कर रहा हूं, और @ 继 s note के उत्तर के लिए धन्यवाद, मैंने देखा कि यूनिटी में चार 'वर्कस्पेस' में से प्रत्येक में टर्मिनल को स्थानांतरित करके निम्नलिखित की सूचना दी गई है:
$ wmctrl -d
# top left
0 * DG: 2048x1200 VP: 0,0 WA: 0,24 1024x576 Workspace 1
# bottom left
0 * DG: 2048x1200 VP: 0,600 WA: 0,24 1024x576 Workspace 1
# top right
0 * DG: 2048x1200 VP: 1024,0 WA: 0,24 1024x576 Workspace 1
# bottom right
0 * DG: 2048x1200 VP: 1024,600 WA: 0,24 1024x576 Workspace 1
... यानी वे न तो अलग-अलग डेस्कटॉप हैं, न ही कार्यक्षेत्र - बस व्यूपोर्ट बदल जाता है!
इसलिए, उन चार व्यूपोर्ट के बीच बदलाव करने के लिए, ऊपर दिए wmctrl -oगए VPमानों के साथ सीधे कमांड को कॉल करें , अर्थात:
wmctrl -o 0,0
wmctrl -o 0,600
wmctrl -o 1024,0
wmctrl -o 1024,600
संपादित करें: अप्स, क्षमा करें, बस यह देखा है कि यह @ विक के उत्तर के समान है - उपयुक्त के रूप में मर्ज करें / हटाएं ..
wmctrlवैसे भी डेस्कटॉप के भीतर व्यूपोर्ट को स्विच कर सकते हैं। नीचे मेरा जवाब देखें।