Come usare Guake sul monitor del lato destro in un ambiente con doppio display

21

Voglio usare Guake al monitor destro.

Così ho aggiunto questo ppa di sudo add-apt-repository ppa:cberner/guake e sudo apt-get update .

link

L'istruzione dice che posso impostare monitor_index in qualche modo. Ma non sono riuscito a trovare come configurare.

Qualcuno lo sa?

    
posta ironsand 06.04.2014 - 01:09

10 risposte

21

Uso due monitor e voglio che Guake sia visualizzato a destra (dove per impostazione predefinita è visualizzato a sinistra).

Quello che ho fatto è stato modificare il mio file /usr/bin/guake/ sostituendo il metodo get_final_window_rect con questo:

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

Fondamentalmente, usa 1 come indice del monitor e più avanti, aggiunge la giusta larghezza dello schermo alla visualizzazione del punto iniziale della finestra di guake

spero che questo aiuti!

    
risposta data wilfo 30.07.2014 - 13:04
2

La soluzione è molto semplice, poiché vuoi allineare lo schermo di Guake al monitor destro in modo che nella posizione iniziale (x, y) dello schermo, la coordinata y sia la stessa, cioè partirà da 0 ma la coordinata x cambierà e dovrebbe essere uguale alla larghezza del tuo monitor lato sinistro. Per essere in grado di fare ciò devi fare 2 cose.

I. Cambia il numero del monitor a 1, come suggerito sopra. In linea

  

window_rect = screen.get_monitor_geometry (0)

Sostituisci 0 di 1.

II. Aggiungi la prima larghezza dello schermo in posizione x della coordinata iniziale. per fare questo.

Sostituire

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

Per

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

Dopo aver apportato queste modifiche e riavviato guake (esci e ricomincia), dovresti ottenere l'allineamento desiderato della schermata di Guake.

Spero che questo aiuti:)

    
risposta data lalit 27.11.2014 - 09:18
1

Ho fatto anche questa domanda: guake sul monitor del lato destro in ambiente con doppio display - Ubuntu 15.10 (Wily Werewolf))

In Ubuntu 15.10 il guake è cambiato un po '. Per cambiare il tuo terminale sul monitor giusto devi modificare:

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

quindi cambia nella riga 831:

window_rect = screen.get_monitor_geometry(monitor)

da:

window_rect = screen.get_monitor_geometry(1)

uccidi e riavvia guake

Qualcuno conosce un modo per farlo meno hacky?

    
risposta data clvx 23.10.2015 - 16:42
1

Come ha detto Lalit, il modo migliore che ho trovato per fare ciò su Ubuntu 14.04LTS stava cambiando

window_rect = screen.get_monitor_geometry(0)

a

window_rect = screen.get_monitor_geometry(0)

ma modifica

    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

a

 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

L'unica differenza è nel primo "se", senza aggiungere "total_width" a "window_rect.x" guake appare nel mezzo del mio monitor sinistro.

P.S: mi dispiace Lalit ma non riesco ad aggiungere un commento al tuo post poiché non ho ancora punti = (

    
risposta data Ramiro R.C. 11.12.2015 - 13:41
1

La soluzione di wilfo non mi funziona. Nel mio caso ho risolto Linux Mint con il seguente codice:

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

Prendo da qui , ma ho cambiato 80 in 100 .

    
risposta data smartmouse 11.12.2015 - 15:36
1

Buone notizie!

Nella versione 0.8.5, Guake verrà visualizzato sul monitor attivo, quindi non devi più modificare il codice Guake.

    
risposta data everlasting-learner 29.06.2016 - 22:19
0

Non l'ho provato, ma penso che puoi semplicemente modificare / usr / bin / guake dato che si tratta di uno script python.

Trova

window_rect = screen.get_monitor_geometry(0) #line 824 sulla mia macchina

e cambia lo 0 nell'indice del monitor in cui vuoi visualizzare l'immagine.

    
risposta data Jack 07.04.2014 - 20:05
0

Solo per aggiungere smartmouse e le risposte di wilfo, una volta apportata la modifica a / usr / bin / guake, è necessario riavviare energicamente. La disconnessione dalla sessione di guake non termina la procedura di Guake.

Apri il monitor di sistema e uccidi il processo dell'applicazione guake, quindi riavvia

    
risposta data Anuraag 22.01.2016 - 22:23
0

Ho dovuto cambiarlo su Ubuntu 16.04 LTS con 2 monitor.

Stavo provando i metodi di cui sopra ma ho capito che il codice era cambiato da allora. Sono entrato in ~/.gconf/apps/guake/general e modificato %gconf.xml e cambiato display_n (int) da 0 a 1 per il mio secondo monitor.

Spero che questo aiuti:)

    
risposta data pwnall1337 09.09.2016 - 17:15
0

Provo in Ubuntu 14.04, Ho scoperto che devi solo fare clic su "Preferenze" sull'icona di guake (schermo superiore destro) in entrambi i monitor, quindi fare clic su "Mostra" nello stesso monitor, quindi puoi vedere il terminale di Guake che si apre sul monitor che stai utilizzando !!!

    
risposta data tony chen 08.02.2017 - 13:11

Leggi altre domande sui tag