दोहरी प्रदर्शन वातावरण में दाईं ओर मॉनिटर पर गाइक का उपयोग कैसे करें


21

मैं Guakeसही मॉनीटर पर उपयोग करना चाहता हूं ।

इसलिए मैंने इस ppa को जोड़ा sudo add-apt-repository ppa:cberner/guake, और sudo apt-get update

https://launchpad.net/~cberner/+archive/guake/+index?field.series_filter=raring

निर्देश कहता है कि मैं monitor_indexकिसी तरह सेट कर सकता हूं । लेकिन मुझे पता नहीं है कि कैसे कॉन्फ़िगर किया जाए।

क्या किसी को इस बारे में पता है?

जवाबों:


21

मैं दो मॉनिटर का उपयोग करता हूं और चाहता हूं कि गेक को दाईं ओर प्रदर्शित किया जाए (जहां डिफ़ॉल्ट रूप से यह बाईं ओर प्रदर्शित होता है)।

मैंने अपनी /usr/bin/guake/फ़ाइल को इस get_final_window_rectविधि से बदलने के लिए संपादित किया था :

def get_final_window_rect(self):
    """Gets the final size of the main window of guake. The height
    is the window_height property, width is window_width and the
    horizontal alignment is given by window_alignment.
    """
    screen = self.window.get_screen()
    height = self.client.get_int(KEY('/general/window_height'))
    width = 100
    halignment = self.client.get_int(KEY('/general/window_halignment'))

    # get the rectangle just from the first/default monitor in the
    # future we might create a field to select which monitor you
    # wanna use
    monitor = 1 # use the right most monitor
    window_rect = screen.get_monitor_geometry(monitor)
    # see if we don't have another screen, and if so, use the first one
    if window_rect.width == 0:
        monitor = 0
        window_rect = screen.get_monitor_geometry(monitor)
    total_width = window_rect.width
    window_rect.height = window_rect.height * height / 100
    window_rect.width = window_rect.width * width / 100

    if width < total_width:
        if halignment == ALIGN_CENTER:
            window_rect.x = (total_width - window_rect.width) / 2
            if monitor == 1:
                    right_window_rect = screen.get_monitor_geometry(0)
                    window_rect.x += right_window_rect.width
        elif halignment == ALIGN_LEFT:
            window_rect.x = 0
        elif halignment == ALIGN_RIGHT:
            window_rect.x = total_width - window_rect.width
    window_rect.y = 0
    return window_rect

मूल रूप से, यह 1मॉनिटर इंडेक्स के रूप में उपयोग करता है और बाद में, सही स्क्रीन चौड़ाई को गाइक विंडो के प्रारंभ बिंदु डिस्प्ले में जोड़ता है

उम्मीद है की यह मदद करेगा!


आपने इसे संपादित करने के लिए उस फ़ाइल को कैसे खोला? मैंने इसे xdg-$ $ फ़ाइल के माध्यम से किया था लेकिन यह केवल-पढ़ने के लिए खुलता है।
केविन

कोई भी टेक्स्ट एडिटर, sudoप्रशासक के विशेषाधिकारों के लिए कमांड की शुरुआत में उपयोग करेगा
wilfo

अजीब तरह से, बाएं और दाएं के बीच यह विकल्प हर बार जब मैं इसे खोलता हूं तो मैं केवल बाएं मॉनिटर के लिए 'लॉन्चर प्लेसमेंट' सेट करता हूं। इसे सही पर सेट करना हर बार काम करने के लिए मिलता है।
rmobis

3
यह सच है। आपकी टिप्पणी ने मेरे गुएक के नवीनतम संस्करण को स्थापित किया (इस ppa से): https://launchpad.net/~webupd8team/+archive/ubuntu/unstableऔर ऐसा लगता है कि उन्होंने इसे अब बना दिया है ताकि आप स्क्रीन पर दिखने वाले टर्मिनल के बीच चयन कर सकें, जो माउस पर है, या इसे एक विशिष्ट स्क्रीन पर लॉक कर रहा है, जो मुझे लगता है कि मेरी राय में एक अच्छा पर्याप्त समाधान है
wilfo

@ मूल डेवलपर्स से अपडेट की पहचान करने वाले wilfo की टिप्पणी सबसे सरल समाधान प्रदान करती है। Guake 0.7.2 की सुविधाओं में निर्मित प्रदर्शन और साथ ही कई अन्य उपयोगी सेटिंग्स सेट करने की क्षमता को जोड़ता है।
स्टीवन सी। हॉवेल

2

समाधान बहुत सरल है, जैसा कि आप अपने गाइक स्क्रीन को अपने दाहिने हाथ की तरफ मॉनिटर में संरेखित करना चाहते हैं, इसलिए स्क्रीन की स्थिति (x, y) को शुरू करने में, y सह-समन्वय समान होने वाला है अर्थात यह 0 से शुरू होगा लेकिन x समन्वय करेगा बदल जाएगा और यह आपके बायीं ओर की निगरानी के बराबर होना चाहिए। ऐसा करने में सक्षम होने के लिए आपको 2 चीजें करने की आवश्यकता है।

I. ऊपर बताए अनुसार मॉनिटर नंबर 1 को बदलें। पंक्ति में

window_rect = screen.get_monitor_geometry (0)

0 को 1 से बदलें।

द्वितीय। समन्वय शुरू करने की एक्स स्थिति में पहली स्क्रीन चौड़ाई जोड़ें। यह करने के लिए।

बदलने के

if width < total_width:
    if halignment == ALIGN_CENTER:
        window_rect.x = (total_width - window_rect.width) / 2
    elif halignment == ALIGN_LEFT:
        window_rect.x = 0
    elif halignment == ALIGN_RIGHT:
        window_rect.x = total_width - window_rect.width
window_rect.y = 0
return window_rect

द्वारा

if width < total_width:
     if halignment == ALIGN_CENTER:
         window_rect.x += (total_width - window_rect.width) / 2
     elif halignment == ALIGN_LEFT:
         window_rect.x += 0
     elif halignment == ALIGN_RIGHT:
         window_rect.x += total_width - window_rect.width
window_rect.y = 0
return window_rect

एक बार जब आप इन परिवर्तनों को कर लेते हैं और guake (फिर से शुरू और फिर से शुरू) करते हैं, तो आपको Guake स्क्रीन का वांछित संरेखण मिलना चाहिए।

उम्मीद है की यह मदद करेगा :)


1

मैंने इसे एक प्रश्न भी बनाया: दोहरी डिस्प्ले वाले वातावरण में दाईं ओर मॉनिटर पर निर्देशित - Ubuntu 15.10 (विली वेयरवोल्फ)

उबंटू में 15.10 ग्वेक थोड़ा बदल गया है। अपने टर्मिनल को सही मॉनिटर में बदलने के लिए जिसे आपको संपादित करना है:

sudo vim /usr/lib/python2.7/dist-packages/guake/guake_app.py

फिर लाइन 831 में बदलें:

window_rect = screen.get_monitor_geometry(monitor)

द्वारा:

window_rect = screen.get_monitor_geometry(1)

मारना और फिर से शुरू करना

किसी को भी इस कम hacky करने का एक तरीका पता है?


1

जैसा कि ललित ने कहा, ubuntu 14.04LTS पर मुझे ऐसा करने का सबसे अच्छा तरीका बदल गया

window_rect = screen.get_monitor_geometry(0)

सेवा मेरे

window_rect = screen.get_monitor_geometry(0)

लेकिन बदल रहा है

    if width < total_width:
    if halignment == ALIGN_CENTER:
        window_rect.x = (total_width - window_rect.width) / 2
    elif halignment == ALIGN_LEFT:
        window_rect.x = 0
    elif halignment == ALIGN_RIGHT:
        window_rect.x = total_width - window_rect.width
window_rect.y = 0
return window_rect

सेवा मेरे

 if width < total_width:
     if halignment == ALIGN_CENTER:
         window_rect.x += total_width + (total_width - window_rect.width) / 2
     elif halignment == ALIGN_LEFT:
         window_rect.x += 0
     elif halignment == ALIGN_RIGHT:
         window_rect.x += total_width - window_rect.width
window_rect.y = 0
return window_rect

एकमात्र अंतर इसके "अगर" में, "window_rect.x" guake में "total_width" जोड़े बिना, मेरे बाएं मॉनिटर के बीच में दिखाई देता है।

पुनश्च: क्षमा करें ललित लेकिन मैं आपके पोस्ट पर कोई टिप्पणी नहीं जोड़ सकता क्योंकि मेरे पास अभी तक कोई अंक नहीं है = (


1

Wilfo द्वारा समाधान मेरे लिए काम नहीं करता है। मेरे मामले में मैंने निम्नलिखित कोड के साथ लिनक्स टकसाल पर हल किया:

def get_final_window_rect(self):
    """Gets the final size of the main window of guake. The height
    is the window_height property, width is window_width and the
    horizontal alignment is given by window_alignment.
    """
    screen = self.window.get_screen()
    height = self.client.get_int(KEY('/general/window_height'))
    width = 100
    halignment = self.client.get_int(KEY('/general/window_halignment'))

    # future we might create a field to select which monitor you
    # wanna use
    #monitor = 0 # use the left most monitor
    monitor = screen.get_n_monitors() - 1 # use the right most monitor

    monitor_rect = screen.get_monitor_geometry(monitor)
    window_rect = monitor_rect.copy()
    window_rect.height = window_rect.height * height / 100
    window_rect.width = window_rect.width * width / 100

    if width < monitor_rect.width:
        if halignment == ALIGN_CENTER:
            window_rect.x = monitor_rect.x + (monitor_rect.width - window_rect.width) / 2
        elif halignment == ALIGN_LEFT:
            window_rect.x = monitor_rect.x
        elif halignment == ALIGN_RIGHT:
            window_rect.x = monitor_rect.x + monitor_rect.width - window_rect.width

    window_rect.y = monitor_rect.y
    return window_rect

मैं इसे यहां से ले जाता हूं , लेकिन मैं बदल 80गया 100


1

खुशखबरी!

संस्करण 0.8.5 पर, गुआके को सक्रिय मॉनिटर पर प्रदर्शित किया जाएगा, इसलिए आपको गुएक कोड को अब और ट्विक करने की आवश्यकता नहीं है।


संस्करण 0.5.0 ( apt-get install --only-upgrade guake
उबंटू

0

मैंने इसका परीक्षण नहीं किया है लेकिन मुझे लगता है कि आप इसे संपादित कर सकते हैं / usr / bin / guake क्योंकि यह एक पायथन स्क्रिप्ट है।

खोज

window_rect = screen.get_monitor_geometry(0) मेरी मशीन पर #line 824

और जिस मॉनिटर को आप दिखाना चाहते हैं, उसके इंडेक्स को 0 में बदलें।


1
मैंने लाइन 0को इसमें संपादित 1किया /usr/lib/guake/guake.py। और फिर से शुरू करें, लेकिन कुछ भी नहीं बदलता है।
ironsand

0

बस स्मार्टमॉउज़ और wilfo के उत्तरों को जोड़ने के लिए, एक बार जब आप / usr / bin / guake में परिवर्तन करते हैं, तो आपको एक कठिन पुनरारंभ करना होगा। गुआक सत्र से बाहर निकलने से गुआक प्रक्रिया समाप्त नहीं होती है।

ओपन सिस्टम मॉनिटर और गेक एप्लिकेशन प्रोसेस को मारें फिर पुनरारंभ करें


0

मुझे इसे 2 मॉनिटर के साथ Ubuntu 16.04 LTS पर बदलना पड़ा।

मैं उपरोक्त तरीकों की कोशिश कर रहा था, लेकिन एहसास हुआ कि कोड बदल गया था। में मैं गया ~/.gconf/apps/guake/generalऔर संपादित %gconf.xmlऔर बदल display_n (int)से 0करने के लिए 1मेरी 2 पर नजर रखने के लिए।

उम्मीद है की यह मदद करेगा :)


-1

मैं उबंटू 14.04 में कोशिश करता हूं, मैंने पाया कि आपको बस मॉनिटर (राइट टॉप स्क्रीन) में "प्राथमिकताएं" पर क्लिक करने की आवश्यकता है, फिर उसी मॉनीटर में "शो" पर क्लिक करें, फिर आप मॉनिटर पर आपको गैप टर्मिनल पॉप देख सकते हैं। का उपयोग कर रहे हैं !!!


यह स्पष्ट नहीं है (कम से कम मेरे लिए) यह दृष्टिकोण "सेट मॉनीटर_इंडेक्स" कैसे होगा, क्या आप इस उत्तर को संपादित करके स्पष्ट कर सकते हैं कि यह प्रश्न का उत्तर कैसे देता है? धन्यवाद!
एल्डर गीक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.