क्या किसी विशिष्ट कार्यक्षेत्र में जाने की आज्ञा है?


22

मैं कार्यक्षेत्र स्विचर लांचर पर एक क्विकलिस्ट बनाने की कोशिश कर रहा हूं जो एक निश्चित कार्यक्षेत्र में त्वरित स्विचिंग की अनुमति देता है। (मेरा दोस्त कभी-कभी मेरे कंप्यूटर का उपयोग करता है और बस कीबोर्ड शॉर्टकट का आनंद नहीं लेता है, इसलिए मैं उसकी मदद करना चाहता हूं।)

तो क्या कोई ऐसा कमांड है जो टर्मिनल में टाइप कर सकता है जो एक निश्चित कार्यक्षेत्र पर ध्यान केंद्रित करने के लिए मजबूर करेगा?


इसके अलावा kwin (स्विच डेस्कटॉप या फिर) या अन्य डेस्कटॉप सेटिंग्स प्रबंधक के लिए systemettings5 पर कीबोर्ड शॉर्टकट सेट करने की संभावना है। फिर xdotool का उपयोग कर शॉर्टकट कुंजी जैसे xdotool कुंजी ctrl + alt + b का अनुकरण करें;
इंटिका

जवाबों:


34

आप wmctrl का उपयोग कर सकते हैं ।

मूल बातें:
wmctrl -dअपने सभी कार्यक्षेत्रों को दिखाने के लिए।
wmctrl -s <workspace_name>एक विशिष्ट कार्यक्षेत्र में बदलने के लिए।

यदि आप Compiz का उपयोग कर रहे हैं, तो आपको एक चाल चलनी होगी क्योंकि Compiz "वर्कस्पेस" वास्तव में किसी एकल कार्यक्षेत्र के व्यूपोर्ट हैं।

चाल निर्देश

wmctrl -dउदाहरण के लिए आउटपुट की जाँच करें , मेरा है:

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

इसका मतलब यह है कि वास्तव में मेरे पास 4098 x 2304 का एक कार्यक्षेत्र है जिसके बजाय मुझे लगता है कि "मेरे पास" (नौ "कार्यक्षेत्र", 3 x 3) है।
मैं "कार्यक्षेत्र" 2 होना चाहिए था, लेकिन वास्तव में मैं viewport (VP) 1366,0 (4098/3 = 1366) पर था जैसा कि ऊपर दिए गए आउटपुट द्वारा दिखाया गया है।

तो यह है कि यह कैसे काम करता है: हम पूरे कार्यक्षेत्र को लेते हैं और "कार्यक्षेत्र" की संख्या के लिए विभाजित करते हैं "हम सोचते हैं" हमारे पास है। मेरे मामले में: 4098/3 = 1366 और 2304/3 = 768।

अगर मैं अपने "कार्यक्षेत्र" 1 पर जाना चाहता हूं, तो कमांड है:

wmctrl -o 0,0

फिर, अगर मुझे अपने "कार्यक्षेत्र" 4 पर जाना है, तो कमांड है:

wmctrl -o 0,768

अगर मैं अपने "कार्यक्षेत्र" 8 पर जाना चाहता हूं, तो कमांड है:

wmctrl -o 1366,1536

अगर मैं अपने "कार्यक्षेत्र" 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। आपको अलग-अलग तरीके से कमांड निर्दिष्ट करना पड़ सकता है , जैसे कि डेसगुआ ऊपर सुझाता है, लेकिन मेरे लिए set_desktopऔर set_desktop_for_windowकमांड एक गैर-संकलन प्रणाली पर सबसे उपयोगी साबित हुए।)

( समाधान जुबांट / लुबंटू उपयोगकर्ताओं के लिए सबसे अधिक उपयोगी है, या जो कंपिज़ आदि नहीं चला रहे हैं। )

वर्तमान कार्यस्थानों की संख्या को सूचीबद्ध करने के लिए, दर्ज करें

xdotool get_num_desktops

निम्न आदेश केवल तभी काम करेंगे जब आपके पास कम से कम 1 अन्य कार्यक्षेत्र हो।

अपने कार्यक्षेत्र 1 पर फ़ोकस बदलने के लिए, बस दर्ज करें

xdotool set_desktop 1 

फिर डिफ़ॉल्ट कार्यस्थान पर लौटने के लिए, दर्ज करें

xdotool set_desktop 0

कार्यक्षेत्र को केवल कमांड (1 या 2 या 3, आदि) में अंतिम मान के रूप में निर्दिष्ट करने की आवश्यकता है।

वर्तमान में आप जिस कार्यक्षेत्र पर हैं, उसकी संख्या ज्ञात करने के लिए, आप उपयोग कर सकते हैं

xdotool get_desktop

इन आदेशों को लिपियों में इस्तेमाल किया जा सकता है और आपको जो भी चाहिए उसे प्राप्त करने के लिए उन्हें बहुत उपयोगी होना चाहिए।

एप्लिकेशन को किसी विशेष डेस्कटॉप पर कैसे स्विच करें, इसके लिए मेरा जवाब यहां देखें:

कार्यक्षेत्र स्विचिंग के लिए उपलब्ध अधिक उपयोगी विकल्पों के लिए, परामर्श करें man xdotool


मुझे यह उत्तर स्वीकार किए गए से बेहतर लगता है, धन्यवाद। मैंने दो कार्यक्षेत्रों के बीच आसानी से स्विच करने के लिए दो गर्म कोनों को सेट करने के लिए इसका उपयोग किया।
सारिणी ly

इसके अलावा उपयोगी: रिश्तेदार ध्वज का उपयोग करके अगले डेस्कटॉप को बाएं / दाएं पर स्विच करें: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

एक विशिष्ट कार्यक्षेत्र में जाना और वहां क्रियाएं करना, पायथन और लाइब्रेरी के साथ कार्यान्वित किया जा सकता है पयुटोगुई के , जो कि माउस क्लिक, कीस्ट्रोक्स इत्यादि प्रदर्शन करने के लिए पायथन लिपियों को सक्षम बनाता है।

मैंने एक विशिष्ट कार्यस्थल पर एक ऐप शुरू करने के बारे में पेपरमिंट ओएस के लिए मंच में एक छोटा ट्यूटोरियल लिखा ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.