Cómo usar guake en el monitor derecho en un entorno de pantalla dual

21

Quiero usar Guake en el monitor derecho.

Así que agregué este ppa por sudo add-apt-repository ppa:cberner/guake , y sudo apt-get update .

enlace

La instrucción dice que puedo establecer monitor_index de alguna manera. Pero no pude encontrar cómo configurarlo.

¿Alguien sabe de esto?

    
pregunta ironsand 05.04.2014 - 23:09

10 respuestas

21

Utilizo dos monitores y quería que Guake se mostrara en el de la derecha (donde por defecto se muestra en el de la izquierda).

Lo que hice fue editar mi archivo /usr/bin/guake/ reemplazando el método get_final_window_rect con esto:

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

Básicamente, usa 1 como el índice del monitor y más adelante, agrega el ancho de la pantalla derecha al punto de inicio de la ventana de guake

¡Espero que esto ayude!

    
respondido por el wilfo 30.07.2014 - 11:04
2

La solución es muy simple, ya que quiere alinear su pantalla de Guake con su monitor de la derecha así que en la posición de inicio (x, y) de la pantalla, la coordenada y será igual, es decir, comenzará desde 0 pero la coordenada x cambiará y debería ser igual al ancho del monitor lateral izquierdo. Para poder hacer esto, necesitas hacer 2 cosas.

yo. Cambie el número de monitor a 1, como se sugirió anteriormente. En línea

  

window_rect = screen.get_monitor_geometry (0)

Reemplazar 0 por 1.

II. Agregue el primer ancho de pantalla en la posición x de la coordenada inicial. para hacer esto.

Reemplazar

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

Por

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

Una vez que realice estos cambios y reinicie guake (Salir y volver a empezar), debe obtener la alineación deseada de la pantalla de Guake.

Espero que esto ayude:)

    
respondido por el lalit 27.11.2014 - 08:18
1

También hice una pregunta: guake en el monitor de la derecha en el entorno de doble pantalla - Ubuntu 15.10 (Wily Werewolf))

En Ubuntu 15.10, el guake ha cambiado un poco. Para cambiar su terminal al monitor derecho, debe editarlo:

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

luego cambie en la línea 831:

window_rect = screen.get_monitor_geometry(monitor)

por:

window_rect = screen.get_monitor_geometry(1)

matar y reiniciar guake

¿Alguien sabe cómo hacer esto menos hacky?

    
respondido por el clvx 23.10.2015 - 14:42
1

Como dijo lalit, la mejor manera que encontré para hacer esto en ubuntu 14.04LTS fue cambiando

window_rect = screen.get_monitor_geometry(0)

a

window_rect = screen.get_monitor_geometry(0)

pero cambiando

    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

La única diferencia está en el primer "si", sin agregar "total_width" a "window_rect.x" guake aparece en el medio de mi monitor izquierdo.

P.S: Lo siento, Lalit, pero no puedo agregar un comentario a tu publicación porque todavía no tengo puntos = (

    
respondido por el Ramiro R.C. 11.12.2015 - 12:41
1

La solución de wilfo no me funciona. En mi caso lo resolví en Linux Mint con el siguiente código:

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

Lo tomo de aquí , pero cambié 80 a 100 .

    
respondido por el smartmouse 11.12.2015 - 14:36
1

¡Buenas noticias!

En la versión 0.8.5, Guake se mostrará en el monitor activo, para que ya no tenga que modificar el código de Guake.

    
respondido por el everlasting-learner 29.06.2016 - 20:19
0

No he probado esto, pero creo que puedes editar / usr / bin / guake ya que es un script de Python.

Buscar

window_rect = screen.get_monitor_geometry(0) #line 824 en mi máquina

y cambie el 0 al índice del monitor en el que desea que se muestre guake.

    
respondido por el Jack 07.04.2014 - 18:05
0

Solo para agregar a las respuestas de smartmouse y wilfo, una vez que hagas el cambio a / usr / bin / guake, entonces tienes que reiniciarlo. Cerrar la sesión de guake no termina el proceso de Guake.

Abra el monitor del sistema y elimine el proceso de la aplicación guake y luego reinicie

    
respondido por el Anuraag 22.01.2016 - 21:23
0

Tuve que cambiar esto en Ubuntu 16.04 LTS con 2 monitores.

Estaba probando los métodos anteriores, pero me di cuenta de que el código había cambiado desde entonces. Ingresé a ~/.gconf/apps/guake/general y edité %gconf.xml y cambié display_n (int) de 0 a 1 para mi segundo monitor.

Espero que esto ayude:)

    
respondido por el pwnall1337 09.09.2016 - 15:15
0

Intento en Ubuntu 14.04, Descubrí que solo tienes que hacer clic en "Preferencias" en el icono de guake (pantalla superior derecha) en cualquiera de los monitores, luego hacer clic en "Mostrar" en el mismo monitor, ¡¡entonces puedes ver el terminal de guake en el monitor que estás usando !!!

    
respondido por el tony chen 08.02.2017 - 12:11

Lea otras preguntas en las etiquetas