क्या स्क्रीन खुलने के बाद खिड़की के केंद्र में या तो जगह है या स्क्रीन के केंद्र में खोलने का कारण है?
यह कमांड लाइन का उपयोग करके किया जाना चाहिए।
क्या स्क्रीन खुलने के बाद खिड़की के केंद्र में या तो जगह है या स्क्रीन के केंद्र में खोलने का कारण है?
यह कमांड लाइन का उपयोग करके किया जाना चाहिए।
जवाबों:
wmctrl टूल EWMH (विस्तारित विंडो मैनेजर संकेत) विनिर्देशमें परिभाषित लगभग सभी सुविधाओं को कमांड लाइन एक्सेस प्रदानकरता है। यह प्रयोग किया जा सकता के लिए उदाहरण के लिए, विंडो प्रबंधक के बारे में जानकारी प्राप्त करने के लिए, डेस्कटॉप और कामयाब खिड़कियों की एक विस्तृत सूची प्राप्त करने के लिए, करने के लिए स्विच और आकार बदलने डेस्कटॉप, खिड़कियां बनाने के लिए पूर्ण स्क्रीन , हमेशा ऊपर या चिपचिपा , और करने के लिए सक्रिय , बंद करें , स्थानांतरित करें , आकार बदलें , अधिकतम करें औरउन्हें न्यूनतम करें।
आप इसे द्वारा स्थापित कर सकते हैं
sudo apt-get install wmctrl
आप अपने वर्चुअल डेस्कटॉप (कार्यक्षेत्र) के बारे में जानकारी प्राप्त कर सकते हैं
wmctrl -d
one@onezero:~$ wmctrl -d
0 * DG: 2720x1536 VP: 0,0 WA: 0,24 1360x744 N/A
और के साथ खुली खिड़कियों की सूची wmctrl -l
। -G
विकल्प आपको पता चलता है खिड़कियों की ज्यामिति:
one@onezero:~$ wmctrl -l
0x02000004 0 onezero Desktop
0x02e00002 0 N/A DNDCollectionWindow
0x02e00003 0 N/A launcher
0x01e00004 0 onezero cairo-dock
0x02e00004 0 N/A panel
0x04800061 0 onezero Transmission
0x02e0000a 0 N/A Dash
0x03a00044 0 onezero arranging windows from the gnu/linux command line with wmctrl ~ Moving to Freedom - Chromium
0x04400006 0 onezero one@onezero: ~
0x04c000e9 0 onezero Google - Mozilla Firefox
wmctrl -lG
one@onezero:~$ wmctrl -lG
0x02000004 0 0 0 1360 768 onezero Desktop
0x02e00002 0 -1460 -868 1360 768 N/A DNDCollectionWindow
0x02e00003 0 0 24 58 744 N/A launcher
0x01e00004 0 290 653 780 115 onezero cairo-dock
0x02e00004 0 0 0 1360 24 N/A panel
0x04800061 0 408 95 732 500 onezero Transmission
0x02e0000a 0 -1402 -844 1302 744 N/A Dash
0x03a00044 0 0 24 1360 744 onezero Center a window via command line - Ask Ubuntu - Stack Exchange - Chromium
0x04400006 0 127 94 983 434 onezero one@onezero: ~
0x04c000e9 0 5 47 1349 715 onezero Google - Mozilla Firefox
आप किसी विंडो को उसके शीर्षक या आंशिक शीर्षक के बाद -r संदर्भित करके निर्दिष्ट कर सकते हैं। -वह आगे बढ़ने और आकार बदलने के लिए है
wmctrl -r "Mozilla Firefox" -e <G>,<X>,<Y>,<W>,<H>
<G>: Gravity specified as a number. The numbers are defined in the EWMH specification. The value of zero is particularly
useful, it means "use the default gravity of the window".
<X>,<Y>: Coordinates of new position of the window.
<W>,<H>: New width and height of the window.
इसलिए, ऊपरी बाएँ कोने में एक विंडो को स्थानांतरित करने और इसे 1000 पिक्सेल चौड़ा करके 700 लंबा करने के लिए, आप 0,0,0,1000,700 का उपयोग करेंगे
one@onezero:~$ wmctrl -r "Mozilla Firefox" -e 0,0,0,1000,700
इसे स्थानांतरित करने / आकार बदलने के लिए। उसके लिए, मैंने -b
विकल्प का उपयोग करते हुए, इसे पहले "अनमैक्सिमाइज़िंग" के वर्कअराउंड का उपयोग किया
wmctrl -r "मोज़िला फ़ायरफ़ॉक्स" -b ऐड, मैक्सिमाइज़_वर्ट, मैक्सिमाइज़_होरज़
wmctrl -r "मोज़िला फ़ायरफ़ॉक्स" -b निकालें, maximized_vert, maximized_horz
one@onezero:~$ wmctrl -r "Mozilla Firefox" -b add,maximized_vert,maximized_horz
चीजें आप पहली बार समझने की जरूरत है
The -e option expects a list of comma separated integers: "gravity,X,Y,width,height"
Thats मेरा स्क्रीन रिज़ॉल्यूशन है तो x = 1360 और y = 786
स्क्रीन के बाईं ओर विंडो को संरेखित करना
one@onezero:~$ wmctrl -r "Mozilla Firefox" -e 1,0,0,680,768
स्क्रीन के दाईं ओर एक विंडो संरेखित करना
one@onezero:~$ wmctrl -r "Mozilla Firefox" -e 1,680,0,680,768
एक खिड़की को center of screen
1360/4 = 340 पर संरेखित करना
one@onezero:~$ wmctrl -r "Mozilla Firefox" -e 1,340,0,680,768
इसे अपनी स्क्रीन सेटिंग्स के रूप में हेरफेर करें
जो वर्तमान में सक्रिय विंडो के साथ काम करता है
IFS='x' read screenWidth screenHeight < <(xdpyinfo | grep dimensions | grep -o '[0-9x]*' | head -n1)
width=$(xdotool getactivewindow getwindowgeometry --shell | head -4 | tail -1 | sed 's/[^0-9]*//')
height=$(xdotool getactivewindow getwindowgeometry --shell | head -5 | tail -1 | sed 's/[^0-9]*//')
newPosX=$((screenWidth/2-width/2))
newPosY=$((screenHeight/2-height/2))
xdotool getactivewindow windowmove "$newPosX" "$newPosY"
xdotool
कॉल करने से पहले कौन सी क्रिया उन्हें "सामान्य" विंडो बनाने के लिए कहती है windowmove
। विचार?
wmctrl
भी शामिल है, बेहतर समाधान का स्वागत करते हैं। टीएल; डीआर: wmctrl -ir "$(xdotool getactivewindow)" -b remove,maximized_vert,maximized_horz
अंतिम xdotool getactivewindow windowmove
कॉल से पहले कॉल करें।
यदि कोई ऐसा करने के लिए एक कोड स्निपेट कॉपी / पेस्ट करना चाहता है, तो यहां एक है:
winname='foo'
IFS='x' read sw sh < <(xdpyinfo | grep dimensions | grep -o '[0-9x]*' | head -n1)
read wx wy ww wh < <(wmctrl -lG | grep $winname | sed 's/^[^ ]* *[^ ]* //;s/[^0-9 ].*//;')
wmctrl -r $winname -e 0,$(($sw/2-$ww/2)),$(($sh/2-$wh/2)),$ww,$wh
foo
उस विंडो के नाम से बदलें , जिसे आप पहली पंक्ति में केंद्र में रखना चाहते हैं।
स्पष्टीकरण (उदाहरण कंसोल सत्र के रूप में टूटना):
स्क्रीन आयाम प्राप्त करना
llama@llama:~$ xdpyinfo | grep dimensions
dimensions: 1920x1080 pixels (508x285 millimeters)
llama@llama:~$ xdpyinfo | grep dimensions | grep -o '[0-9x]*'
1920x1080
x
508x285
llama@llama:~$ xdpyinfo | grep dimensions | grep -o '[0-9x]*' | head -n1
1920x1080
llama@llama:~$ IFS='x' read sw sh < <(xdpyinfo | grep dimensions | grep -o '[0-9x]*' | head -n1)
llama@llama:~$ echo $sw $sh
1920 1080
खिड़की की ज्यामिति की जानकारी प्राप्त करना
llama@llama:~$ wmctrl -lG | grep foo
0x00a0000c 0 1113 510 722 475 llama foo
llama@llama:~$ wmctrl -lG | grep foo | sed 's/^[^ ]*//;'
0 1113 510 722 475 llama foo
llama@llama:~$ wmctrl -lG | grep foo | sed 's/^[^ ]* *[^ ]*//;'
1113 510 722 475 llama foo
llama@llama:~$ wmctrl -lG | grep foo | sed 's/^[^ ]* *[^ ]* //;s/[^0-9 ].*//;'
1143 505 722 475
llama@llama:~$ read wx wy ww wh < <(wmctrl -lG | grep foo | sed 's/^[^ ]* *[^ ]* //;s/[^0-9 ].*//;')
llama@llama:~$ echo $wx $wy $ww $wh
1143 505 722 475
खिड़की को हिलाते हुए
llama@llama:~$ echo 0,foo,bar,$ww,$wh
0,foo,bar,722,475
llama@llama:~$ echo 0,$(($sw/2)),bar,$ww,$wh
0,960,bar,722,475
llama@llama:~$ echo 0,$(($sw/2-$ww/2)),bar,$ww,$wh
0,599,bar,722,475
llama@llama:~$ echo 0,$(($sw/2-$ww/2)),$(($sh/2-$wh/2)),$ww,$wh
0,599,303,722,475
अधिकांश अनुप्रयोगों को शुरू करते समय --geometry पैरामीटर का सम्मान करना चाहिए (कुछ पसंद -ग्रोमेट्री, दूसरे का प्रयास करें यदि आपके लिए पहला काम नहीं करता है):
gnome-terminal --geometry 80x25+100+100
ज्यामिति पैरामीटर का यह रूप है:
WIDTHxHEIGHT+XOFF+YOFF
आप अनावश्यक भागों को छोड़ सकते हैं:
gnome-terminal --geometry +20+50 #No size, just offsets
अधिक जानकारी के लिए:
man X
फिर "/" दबाएं और GEOMETRY विनिर्देशों के लिए खोजें
या यहाँ देखें: http://www.cotse.com/dlf/man/xwindows/geometry.htm
bash
याzsh
चलाने के लिए, सादाsh
काम नहीं करेगा।