Ç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.