GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Maximizar Windows a la pantalla física cuando se usa una resolución virtual con xrandr?

Tengo una netbook con una pantalla pequeña en formato panorámico (1024×600), lo que significa que muchos programas cuyos diseñadores no imaginaron tal cosa abren ventanas que no se pueden cambiar de tamaño y cuyos fondos están oscurecidos. A través de Ubuntu 10.04, me encargué de ello con un comando xrandr:

xrandr --output LVDS1 --fb 1024x768 --panning 0x768

(tenga en cuenta el 0x) que tuvo el efecto de darme un escritorio virtual de tamaño normal que se desplazaba verticalmente, pero que (de alguna manera) el administrador de ventanas ignoró, por lo que las ventanas maximizadas solo ocuparon la pantalla física. El resultado fue que no tuve que desplazarme a menos que apareciera un cuadro de diálogo grande:bien.

En 11.04, esto no funciona del todo. Todo lo que dije anteriormente es cierto, pero los 168 píxeles inferiores parecen permanentemente ennegrecidos, por lo que si una ventana grande se extiende hacia abajo, no puedo ver lo que hay en ella (sin embargo, está allí:aparecen los controles de cambio de tamaño y son útiles en esos ocasiones en las que se permite cambiar el tamaño). Me imagino que esto está relacionado con Unity. Eso anula el propósito, así que estoy probando este comando xrandr:

xrandr --output LVDS1 --fb 1024x768 --panning 1024x768

(tenga en cuenta el 1024x). Por desgracia, ya no engaña al administrador de ventanas, y todas las ventanas maximizadas se salen de la parte inferior. Pregunta:

¿Cómo configuro las cosas para que una ventana "maximizada" ocupe solo la pantalla física (o, de manera más general, ocupe una parte particular de la pantalla)?

Una pregunta relacionada que me encantaría haber respondido es:

¿Por qué el primer comando xrandr engaña al administrador de ventanas (el "0x" significa, de acuerdo con la página del manual, que la panorámica a lo largo del eje horizontal está deshabilitada; funcionalmente, esto no tiene sentido ya que el tamaño virtual es el mismo que el tamaño físico)? ¿Qué falla con Unity?

Tenga en cuenta que la acción "maximizar" es necesaria, ya que en Unity, una ventana maximizada tiene un estilo diferente:su barra de título se absorbe en la barra de herramientas en la parte superior de la pantalla, lo que me ahorra píxeles valiosos. Simplemente cambiar el tamaño de una ventana no es una buena alternativa.

Referencias:

Encontré esta pregunta:me gustaría evitar que maximizar cubra un tercio de la pantalla. Me decepcionó mucho que Compiz Maximumize no hiciera nada en absoluto (hay un error de Launchpad:https://bugs.launchpad.net/ubuntu/+source/compiz-fusion-plugins-extra/+bug/462158).

También encontré la misma pregunta en superusuario:https://superuser.com/questions/269966/id-like-to-prevent-maximize-from-covering-one-third-of-the-screen, que ofrece dos alternativas. El complemento Compiz Grid no ayuda porque no maximiza, como describí anteriormente. No he probado el organizador de ventanas de Python, pero se parece a Grid. En general, no espero que los scripts inteligentes ayuden, porque el significado de "maximizar" está controlado por el propio administrador de ventanas, por lo que la solución debería ser una solución de Compiz. ¿Hay alguno?

Respuesta aceptada:

Permítanme responder a mi propia pregunta; la respuesta es extrañamente complicada. El truco es que el comportamiento de escritorio deseado (que se mantuvo en 10.04) ahora (en 11.04) está controlado por Compiz, que tiene una noción de "salidas":es decir, pantallas para dibujar. Estos se configuran en el Administrador de configuración de CompizConfig (paquete compizconfig-backend-gconf o -kconfig ), en el menú "opciones generales", en la pestaña "Configuración de pantalla".

Relacionado:¿Demasiada E/S de disco en Windows?

Esta cosa tiene tres configuraciones, todas las cuales son importantes. La más importante es "Detectar salidas":debe estar desmarcada, porque el punto es que quiero crear una configuración de pantalla no física, mientras que la detección automática solo tomará el tamaño de mi pantalla.

El segundo más importante es el cuadro "Salidas", que es una lista de resoluciones. A primera vista, puede esperar que lo que se ponga aquí sea "1024 × 768", pero eso está mal:le dice a Compiz que use toda la pantalla virtual, por lo que las ventanas maximizadas fluirán hacia la parte inferior; ese es el comportamiento incorrecto. Pero escribir “1024×600” tampoco funciona, ya que eso le dirá a Compiz que finja que la pantalla tiene solo 600 píxeles de alto; el resultado contrario a la intuición es, por lo tanto, decide estirar cada ventana Esto es feo y también no funcional, causando fallas gráficas sorprendentes y, misteriosamente, desplazando los botones del lugar donde debe hacer clic para activarlos. No es bueno.

Una opción mucho mejor es escribir "1024 × 600 + 0-168", que le dice a Compiz que en realidad hay 168 píxeles sin usar en la parte inferior:eso reproduce el comportamiento de "barra negra" del que me quejaba. Es bueno saber de dónde viene eso, pero todavía no lo quiero. Pero me dice lo que significa:significa que Compiz simplemente está ignorando esos píxeles:no dibujará ventanas allí. Sin embargo, mi mouse todavía va allí, porque ese comportamiento está controlado por X, que viene antes de Compiz. Parece que lo que hay que hacer es decirle a Compiz que dibuje allí (para que las ventanas puedan ir allí) pero también para no dibujar allí (para que no quieran para ir allí).

Por lo tanto, la solución totalmente correcta es describir dos dispositivos de salida a Compiz:uno "1024 × 600 + 0-168" y uno "1024 × 768", lo que le dice a Compiz que dibuje y no dibuje en esos píxeles inferiores, al mismo tiempo. Pero, ¿cómo asegurarse de que sabe cuál “querer”? Esa es la primera opción en esta pestaña:"Controlador de salida superpuesto". Establézcalo en "Preferir salida más pequeña", que es exactamente lo que dije en palabras allí arriba.

Entonces la respuesta:ejecutar xrandr --mode 1024x700 --fb 1024x768 --panning 0x768; vaya a las opciones de visualización de Compiz y coloque dos salidas "1024 × 600 + 0-168" y "1024 × 768"; desmarque "Detectar salidas"; y haga que el "Manejador de salida superpuesto" prefiera salidas más pequeñas. Vaya.


Ubuntu
  1. Windows:¿cómo evitar que Windows sobrescriba Grub cuando se usa una máquina de arranque dual?

  2. ¿Rotar solo una pantalla?

  3. ¿Cómo deshabilitar la atenuación de pantalla en 14.04?

  4. ¿Ajustar la resolución en Ubuntu Server 10.04?

  5. Internet lento en Ubuntu cuando se usa un interruptor

Cómo instalar Windows 11 en una máquina virtual de VMware

Cómo instalar Windows 11 en una máquina virtual Hyper-V

Instalar Linux dentro de Windows usando VirtualBox [Guía paso a paso]

Cómo instalar Windows 11 en Ubuntu 20.04 usando VirtualBox

¿Cómo aumentar la resolución de pantalla visualizada en QEMU / KVM?

¿Por qué mi compilación de Ubuntu se retrasa al mover ventanas?