GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Massimizza Windows su schermo fisico quando si utilizza una risoluzione virtuale con xrandr?

Ho un netbook con un piccolo schermo in formato widescreen (1024×600), il che significa che molti programmi i cui progettisti non hanno immaginato una cosa del genere aprono finestre che non possono essere ridimensionate e il cui fondo è oscurato. Attraverso Ubuntu 10.04, me ne sono occupato con un comando xrandr:

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

(notare lo 0x) che ha avuto l'effetto di darmi un desktop virtuale di dimensioni normali che si spostava verticalmente, ma che (in qualche modo) il window manager ignorava, quindi le finestre ingrandite occupavano solo lo schermo fisico. Il risultato è stato che non dovevo eseguire la panoramica a meno che non si aprisse una grande finestra di dialogo:bello.

In 11.04, questo non funziona del tutto. Tutto ciò che ho detto sopra è vero, ma i 168 pixel inferiori sembrano anneriti in modo permanente, quindi se una finestra grande si estende laggiù non riesco a vedere cosa c'è dentro (comunque, è lì:vengono visualizzate le maniglie di ridimensionamento e sono utili su quelle occasioni in cui è consentito il ridimensionamento). Immagino che questo sia legato all'Unità. Ciò vanifica lo scopo, quindi sto provando questo comando xrandr:

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

(notare il 1024x). Purtroppo, non inganna più il window manager e le finestre ingrandite vanno tutte dal basso. Domanda:

Come faccio a impostare le cose in modo che una finestra "ingrandita" occupi solo lo schermo fisico (o, più in generale, occupi un particolare pezzo di schermo)?

Una domanda correlata a cui sarei felice di aver risposto è invece:

Perché il primo comando xrandr inganna il window manager (lo "0x" significa, secondo la pagina man, che la panoramica lungo l'asse orizzontale è disabilitata; funzionalmente, questo non ha significato poiché la dimensione virtuale è la stessa della dimensione fisica)? Cosa va storto con Unity?

Nota che l'azione "massimizza" è necessaria, poiché in Unity, una finestra ingrandita ha uno stile diverso:la sua barra del titolo viene assorbita nella barra degli strumenti nella parte superiore dello schermo, risparmiando pixel preziosi per me. Il semplice ridimensionamento di una finestra non è una buona alternativa.

Riferimenti:

Ho trovato questa domanda:vorrei impedire a Maxim di coprire un terzo dello schermo. Sono rimasto molto deluso quando Compiz Maximumize sembrava non fare nulla (c'è un bug di Launchpad:https://bugs.launchpad.net/ubuntu/+source/compiz-fusion-plugins-extra/+bug/462158).

Ho anche trovato la stessa domanda su superuser:https://superuser.com/questions/269966/id-like-to-prevent-maximize-from-covering-one-third-of-the-screen, che offre due alternative. Il plug-in Compiz Grid non aiuta perché non massimizza, come ho descritto sopra. Non ho provato l'organizzatore di finestre Python, ma sembra simile a Grid. In generale non mi aspetto che script intelligenti possano aiutare, perché il significato di "massimizza" è controllato dal window manager stesso, quindi la soluzione dovrebbe essere una soluzione Compiz. Ce n'è uno?

Risposta accettata:

Permettetemi di rispondere alla mia stessa domanda; la risposta è stranamente coinvolta. Il trucco è che il comportamento desktop desiderato (che era contenuto nella 10.04) è ora (nella 11.04) controllato da Compiz, che ha una nozione di "output":cioè schermi su cui attingere. Questi sono configurati in CompizConfig Settings Manager (pacchetto compizconfig-backend-gconf o -kconfig ), nel menu "Opzioni generali", nella scheda "Impostazioni schermo".

Correlati:Troppo I/O del disco su Windows?

Questa cosa ha tre impostazioni, tutte importanti. Il più importante è "Rileva output":deve essere deselezionato, perché il punto è che voglio creare una configurazione dello schermo non fisica, mentre il rilevamento automatico aumenterà semplicemente le dimensioni del mio schermo.

La seconda più importante è la casella "Uscite", che è un elenco di risoluzioni. A prima vista potresti aspettarti che la cosa da inserire qui sia "1024 × 768", ma è sbagliato:dice a Compiz di utilizzare l'intero schermo virtuale, quindi le finestre ingrandite scorreranno verso il basso; questo è il comportamento sbagliato. Ma nemmeno scrivere "1024 × 600" funziona, poiché ciò dirà a Compiz di fingere che lo schermo sia alto solo 600 pixel; il risultato controintuitivo è quindi che decide di allungare ogni finestra. Questo è brutto e anche non funzionante, causando incredibili problemi grafici e, misteriosamente, spostando i pulsanti dal punto in cui è necessario fare clic per attivarli. Non va bene.

Un'opzione molto migliore è scrivere "1024×600+0-168", che dice a Compiz che in realtà ci sono 168 pixel inutilizzati nella parte inferiore:questo riproduce il comportamento della "barra nera" di cui mi stavo lamentando. È bello sapere da dove viene, ma ancora non lo voglio. Ma mi dice cosa significa:significa che Compiz sta semplicemente ignorando quei pixel:non disegnerà finestre lì. Il mio mouse va ancora lì, però, perché quel comportamento è controllato da X, che precede Compiz. Sembra che la cosa da fare sia in qualche modo dire a Compiz di disegnare lì (quindi Windows può andare lì) ma anche di non disegnare lì (quindi non vogliono). per andarci).

La soluzione del tutto corretta è quindi descrivere due dispositivi di output a Compiz:uno "1024 × 600 + 0-168" e uno "1024 × 768", dicendo così a Compiz di disegnare e non disegnare su quei pixel inferiori, allo stesso tempo. Ma come assicurarsi che sappia quale “volere”? Questa è la prima opzione in questa scheda:"Gestione output sovrapposto". Impostalo su "Preferisci output più piccolo", che è esattamente quello che ho detto a parole lassù.

Quindi la risposta:esegui xrandr --mode 1024x700 --fb 1024x768 --panning 0x768; vai alle opzioni di visualizzazione di Compiz e inserisci due output “1024×600+0-168” e “1024×768”; deseleziona "Rileva output"; e fai in modo che "Gestione output sovrapposti" preferisca output più piccoli. Accidenti.


Ubuntu
  1. Windows:come impedire a Windows di sovrascrivere Grub quando si utilizza una macchina a doppio avvio?

  2. Risoluzione dello schermo "fuori portata"?

  3. Riposizionamento della risoluzione dello schermo? (schermo del laptop rotto)?

  4. Ruotare solo uno schermo?

  5. Come disabilitare l'oscuramento dello schermo in 14.04?

Come installare Windows 11 su una macchina virtuale VMware

Come installare Windows 11 su una macchina virtuale Hyper-V

Installa Linux all'interno di Windows utilizzando VirtualBox [Guida passo passo]

Come installare Windows 11 su Ubuntu 20.04 usando VirtualBox

Come aumentare la risoluzione dello schermo visualizzato su QEMU / KVM?

Perché il mio Ubuntu è in ritardo durante lo spostamento di Windows?