मैं एक विंडो बनाने के लिए XResizeWindow() का उपयोग करने की कोशिश कर रहा हूं जो 2 मॉनीटरों का विस्तार करेगा, लेकिन विंडो प्रबंधक? इसे एक तक सीमित कर रहा है।एक्स 11 विंडो को कई मॉनीटर स्पैन करने के लिए कैसे करें
क्या कोई संकेत या संपत्ति है जो मैं खिड़की से जोड़ सकता हूं ताकि डब्लूएम को इसे सीमित न किया जा सके?
मेरे परीक्षण मामले के लिए, मेरे पास दो 1600x1200 मॉनीटर हैं जो एनवीडिया एक 3200x1200 स्क्रीन केडीई 4 के रूप में पेश कर रहा है। XDisplayWidth (प्रदर्शन, 0); 3200 और XDisplayHeight (प्रदर्शन, 0) देता है; रिटर्न 1200.
जब मैं 220,0 पर एक खिड़की 1700x930 के लिए
XCreateWindow(display, DefaultRootWindow(display),
220, 0, 1700, 930,
1, DefaultDepth(display,screen),
InputOutput, CopyFromParent,
CWCursor, &attributes);
फोन मैं 0,0 पर एक खिड़की 1593x930 मिलता है, बाईं मॉनिटर पर पूरी तरह से यह ध्यान में रखते हुए। किसी भी XResizeWindow से बड़ा 1593 तक घट जाता है। (मुझे लगता है कि 7 पिक्सल खिड़की की सजावट हैं, जो ठीक है।)
लेकिन, यदि मैं तो XMoveWindow (प्रदर्शन, जीत, 800, 0), यह खिड़की को स्थानांतरित करेगा स्क्रीन को फैलाने के लिए, और फिर मैं इसे 3200 चौड़े तक बढ़ा सकता हूं (कुछ पिक्सल घटाएं)।
क्या खिड़की प्रबंधक को बताने के लिए मैं कुछ भी कर सकता हूं, या जो भी ऐसा कर रहा है, खिड़की को एक मॉनीटर तक सीमित नहीं करने के लिए, और मुझे पूरी स्क्रीन का उपयोग करने दें?
धन्यवाद!
%xrandr -q --verbose
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 3200 x 1200, current 3200 x 1200, maximum 3200 x 1200
default connected 3200x1200+0+0 (0x161) normal (normal) 0mm x 0mm
Identifier: 0x160
Timestamp: 64409661
Subpixel: unknown
Clones:
CRTC: 0
CRTCs: 0
Transform: 1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000
filter:
3200x1200 (0x161) 192.0MHz *current
h: width 3200 start 0 end 0 total 3200 skew 0 clock 60.0KHz
v: height 1200 start 0 end 0 total 1200 clock 50.0Hz
आह! Min_width सेट करना चाल करता है। एप्लिकेशन केवल आकार के बारे में कठोर होने का प्रयास करता है जब उपयोगकर्ता स्पष्ट रूप से एप्लिकेशन को बताता है कि वह विंडो कितना बड़ा चाहता है। इसलिए मैं स्क्रीन आकार की जांच कर सकता हूं और यदि यह काफी बड़ा है, तो इसे मैन्युअल रूप से min_width के साथ मजबूर करें, फिर आकार बदलने के बाद min_width को 640 पर वापस सेट करें। धन्यवाद! –
प्रयुक्त-निर्दिष्ट आकार के लिए पी * के बजाय यूएसएसआईज़/यूएसमिन आकार आदि का उपयोग करने की आवश्यकता है (उपयोगकर्ता द्वारा निर्दिष्ट प्राथमिकताओं को और अधिक सम्मानित किया जाना चाहिए)। –