Çift ekranlı ortamda sağ monitörde guake nasıl kullanılır


Yanıtlar:


21

İki monitör kullanıyorum ve Guake'in sağ tarafta görüntülenmesini istedim (varsayılan olarak solda görüntülenir).

Yaptığım /usr/bin/guake/, get_final_window_rectyöntemi şununla değiştirerek dosyamı düzenlemek oldu :

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

Temel 1olarak, monitör endeksi olarak kullanır ve daha sonra, guake penceresinin başlangıç ​​noktası görüntüsüne doğru ekran genişliğini ekler

Bu yardımcı olur umarım!


Düzenlemek için bu dosyayı nasıl açtınız? Xdg-open $ dosyası ile yaptım ama salt okunur olarak açılıyor.
— kevin

Herhangi bir metin editörü, sudoyönetici ayrıcalıklarına sahip olmak için komutun başında kullanılacaktır
— wilfo

İşin garibi, bu yalnızca sol monitör için 'Başlatıcı yerleşimini' ayarladığımda her açtığımda sol ve sağ arasında değişiyor. Doğru olana ayarlamak her zaman işe yarar.
— rmobis

3
Bu doğru. Yorumunuz, Guake'in en son sürümünü yüklememi sağladı (bu ppa'dan: https://launchpad.net/~webupd8team/+archive/ubuntu/unstableve görünen o ki, farenin bulunduğu ekranda görünen terminal arasında bir seçim yapabilir veya belirli bir ekrana kilitleyebilirsiniz) Hangi bence yeterince iyi bir çözüm olduğunu düşünüyorum
— wilfo

@ wilfo'nun orijinal geliştiricilerin güncellemelerini belirleyen yorumu en basit çözümü sunar. Guake 0.7.2'nin yerleşik özellikleri, ekranı ve diğer pek çok yararlı ayarları yapmanıza olanak sağlar.
— Steven C. Howell

2

Guake ekranınızı sağ taraftaki monitörünüze hizalamak istediğiniz için çözüm çok basittir, böylece ekranın başlangıç ​​pozisyonunda (x, y), y koordinatı aynı olacaktır, yani 0 ama x koordinatından başlayacaktır değişecektir ve sol taraftaki monitörün genişliğine eşit olmalıdır. Bunu yapabilmek için 2 şey yapmanız gerekiyor.

I. Monitör numarasını yukarıda önerilen şekilde 1 olarak değiştirin. Çizgide

window_rect = screen.get_monitor_geometry (0)

0'ı 1 ile değiştirin.

II. İlk ekran genişliğini, başlangıç ​​koordinatının x konumuna ekleyin. Bunu yapmak için.

değiştirmek

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

Tarafından

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

Bu değişiklikleri yaptıktan ve guake'i yeniden başlattıktan sonra (Çıkın ve tekrar başlayın), istenen Guake ekranı hizasını elde etmelisiniz.

Bu yardımcı olur umarım :)


1

Bunu da bir soru sordum: Çift ekranlı ortamda sağ taraftaki monitöre bir göz atın - Ubuntu 15.10 (Wilyewer)

Ubuntu 15.10'da guake biraz değişti. Terminalinizi doğru monitöre değiştirmek için düzenlemelisiniz:

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

sonra satır 831’de değiştirin:

window_rect = screen.get_monitor_geometry(monitor)

tarafından:

window_rect = screen.get_monitor_geometry(1)

öldür ve guake yeniden başlat

Bunu daha az kesmek için bir yol bilen var mı?


1

Lalit’in dediği gibi ubuntu 14.04LTS’de bunu yapmanın en iyi yolu değişiyordu.

window_rect = screen.get_monitor_geometry(0)

için

window_rect = screen.get_monitor_geometry(0)

ama değişiyor

    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

için

 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

Aradaki tek fark, ilk "if" de, "window_rect.x" dizinine "total_width" eklemeden, sol izleyicimin ortasında görünür.

Not: Üzgünüm Lalit ama henüz puanım olmadığı için yazınıza yorum ekleyemiyorum = (


1

Wilfo'nun çözümü bana işe yaramadı. Benim durumumda Linux Nane'de aşağıdaki kod ile çözdüm:

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

Ben onu almasına burada , ama değişti 80etmek 100.


1

İyi haberler!

0.8.5 sürümünde, Guake aktif monitörde gösterilecektir, bu nedenle artık Guake kodunu değiştirmenize gerek yoktur.


sürüm 0.5.0 (ubuntu apt-get install --only-upgrade guake
— repo'daki)

0

Bunu test etmedim ancak bence / usr / bin / guake dosyasını bir python betiği olduğu için düzenleyebilirsiniz.

bulmak

window_rect = screen.get_monitor_geometry(0) #line 824 makinemde

ve 0 değerini görüntülemek istediğiniz ekranın dizinine değiştirin.


1
Çizgiyi düzenlenmiş 0için 1de /usr/lib/guake/guake.py. Ve guake'i yeniden başlatın, fakat hiçbir şey değişmiyor.
— ironsand

0

Sadece smartmouse ve wilfo'nun cevaplarına eklemek için, / usr / bin / guake’de değişiklik yaptıktan sonra zor bir şekilde yeniden başlatmanız gerekir. Guake oturumundan çıkmak Guake işlemini sonlandırmaz.

Sistem monitörünü açın ve guake başvuru işlemini sonlandırın ve yeniden başlatın.


0

Bunu 2 monitörle Ubuntu 16.04 LTS'de değiştirmek zorunda kaldım.

Yukarıdaki yöntemleri deniyordum ama kodun o zamandan beri değiştiğini fark ettim. İçine Gittim ~/.gconf/apps/guake/generaldüzenlenebilir ve %gconf.xmlve değiştirilemez display_n (int)gelen 0etmek 1benim 2 monitör için.

Bu yardımcı olur umarım :)


-1

Ubuntu 14.04'ü deniyorum, sadece bir monitördeki guake simgesinde (sağ üst ekran) "Tercihler" i tıklamanız, ardından aynı monitörde "Göster" i tıklamanız gerektiğini gördüm, ardından ekranda bir terminalin açıldığını görebilirsiniz kullanıyorsunuz !!!


Açıkçası (en azından benim için) bu yaklaşımın "monitor_index'i" nasıl belirleyeceği belli değil. Soruyu nasıl yanıtladığını açıklamak için bu cevabı düzenleyebilir misiniz ? Teşekkür ederim!
— Elder Geek
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.