Quale scorciatoia da tastiera modifica la dimensione del testo del terminale `xfce4-terminal`?


11

In passato, Ctrl+ -e Ctrl+ +aumentavano o diminuivano le dimensioni del testo del terminale nelle versioni precedenti di Ubuntu, il che è utile quando si tengono presentazioni e si desidera mostrare il proprio codice in dimensioni maggiori. Sono passato a Xubuntu 12.04 e mi mancano queste scorciatoie da tastiera.

C'è un'alternativa che posso usare? O in caso contrario, esiste un modo per definire il mio collegamento per sostituirli?

Aggiornamento: Felice di segnalare che questa domanda è ora discutibile per le versioni recenti di xfce4-terminal! Vedi qui .

Risposte:


5

Invece di fare affidamento su Python e sui moduli mancanti, come nella soluzione github di Noah K. Tilton, ho elaborato uno script bash che è un passo avanti verso l'essere più portatile (almeno, per le installazioni che utilizzano i percorsi predefiniti più generici).

Potrebbe essere necessario modificare lo script per impostare il percorso di configurazione di xfce, il font preferito, ecc.

Solo 2 file, rilasciati nella cartella ~ / bin di casa mia, "zoomin" e "zoomout". Non sono andato oltre a fare brevi comandi che posso digitare rapidamente, quindi non ho idea di come sarei in grado di configurare questi script per rispondere SOLO quando mi trovo all'interno di xfce4-terminal, il che significa che Ho smesso di pensare a come ottenere le combinazioni di tasti per Ctrl+ -e Ctrl+ +perché attualmente conosco solo le combinazioni di tasti globali e non volevo ignorare quelle combinazioni di tasti premuti poiché altre applicazioni ne avranno bisogno (es: browser web, editor di testo).

Ho anche pensato di avere "zoommin" e "zoommax", per saltare ai miei caratteri più piccoli e più grandi quando necessario, in genere quando ho bisogno di vedere tonnellate di testo VS quando devo mostrare a un collega qualcosa sul mio schermo. Lascerò quei due script alla tua immaginazione su come creare: P

~ / Bin / Zoomin

#!/bin/bash
SIZE=`grep 'FontName' ~/.config/xfce4/terminal/terminalrc | cut -d' ' -f 2`
NEWSIZE=$((SIZE + 2))
REGEXPR='s/FontName.*/FontName=Monospace '$NEWSIZE'/g'
sed -i "$REGEXPR" ~/.config/xfce4/terminal/terminalrc

~ / Bin / ZoomOut

#!/bin/bash
SIZE=`grep 'FontName' ~/.config/xfce4/terminal/terminalrc | cut -d' ' -f 2`
NEWSIZE=$((SIZE - 2))
REGEXPR='s/FontName.*/FontName=Monospace '$NEWSIZE'/g'
sed -i "$REGEXPR" ~/.config/xfce4/terminal/terminalrc

Non sono sicuro di seguire cosa intendi per "moduli mancanti": il mio script Python utilizza la libreria standard. Penso che la portabilità bash / python sia un gioco da ragazzi. Tuttavia, il tuo potrebbe essere più performante, a scapito della leggibilità.
g33kz0r

Ho sperimentato questo tra le altre cose. Noah K, a onor del vero, era contrario a modificare la sua sceneggiatura per rendere la vita più facile agli utenti di * buntu. Ho semplicemente decodificato la cosa per renderla un po 'più universale, eliminando del tutto il requisito del pitone. : 3
Starlocke

hai segnalato un bug su XDG_CONFIG_PATH- una stringa che non appare nel mio script. Eh? Supponendo che volevi dire XDG_CONFIG_HOME, che non compare nel mio script, si potrebbe voler controllare superuser.com/questions/365847/... che sostanzialmente dice che è compito dell'utente per definirla. Non sono sicuro di quali fossero le "altre cose" :) Le opinioni possono essere diverse, ma penso che 1 script Python con parametri sia un po 'più pulito di 2 script Bash.
g33kz0r,

1
si tratta di un breve cambio di testo leggibile che suggerirei perl perl -pi -e 's/(FontName.*)(\d+)/$1.($2+2)/e' ~/.config/xfce4/terminal/terminalrcpiuttosto che armeggiare con la bash
Hachi,

1
Fantastico, in base a questo, ho creato tre metodi che aggiungo nel mio file ~ / .bash_aliases: zi, zo e z, che ognuno prende come primo argomento i passaggi per ingrandire (zi e zo), o la dimensione del carattere di destinazione (z) : gist.github.com/samuell/107a498821c88426fa5a . Quindi, per impostare la dimensione del testo su 12, lo farei z 12e per ingrandire in un passaggio, lo farei zi 1.
Samuel Lampa,

4

Aggiornamento: a partire da questo commit , il ridimensionamento è ora supportato con Ctrl +e Ctrl -, il che viola la mia domanda.

Le altre risposte in questo thread sono ancora utili se si utilizzano versioni precedenti di xfce4-terminal.


1
Su una tastiera en_US, è necessario Ctrl+ Shift+ =per ingrandire e Ctrl+ -per ridurla. Né Ctrl+ =Ctrl+ Shift+ -funzioneranno, né la tastiera +e -, il che è troppo male.
Adam Katz,

3

Le scorciatoie che menzioni sono per gnome-terminal, il terminale predefinito usato da gnome (e, di seguito, da Ubuntu standard). XFCE, che è l'ambiente principale in Xubuntu, ha una sua implementazione terminale. Tuttavia, per quanto ne so, in xfce4-terminal non è possibile modificare la dimensione del carattere con un collegamento (puoi vedere l'elenco dei possibili collegamenti quando vai su Modifica-> Preferenze-> Collegamenti).

Se fai affidamento su questa funzione, puoi installare gnome-terminal, ma poiché il punto centrale dell'uso di XFCE è spesso che non coinvolge le librerie Gnome alquanto pesanti, questo potrebbe essere un po 'improduttivo.


Grazie per la risposta. Che delusione, però! :(
John Feminella,

Bene, XFCE dovrebbe essere snello e veloce, quindi naturalmente hanno dovuto rinunciare alle funzionalità.
Gennaio

@Gennaio Penso che la tua risposta venda questa domanda un po 'breve, per favore vedi la mia risposta qui sotto.
g33kz0r

@ g33kz0r nah, starlocke (la risposta accettata) ha già fatto un buon caso.
gennaio

@Gennaio, che è stato pubblicato dopo la mia risposta :)
g33kz0r

1

Si è possibile, anche se non attraverso xfce4 adeguata, utilizzando questa soluzione:

https://github.com/noah/xfce4-terminal-font

(richiede python).

Lo uso in un fantastico gestore di finestre come questo:

awful.key({ "Control", "Shift" }, "Up", function () awful.util.spawn(script_dir .. "/xfce4-terminal-font +", false)end),
awful.key({ "Control", "Shift" }, "Down", function () awful.util.spawn(script_dir .. "/xfce4-terminal-font -", false)end),

È un po 'un trucco, ma funziona.


Questo ha lo stesso inconveniente della risposta di @starlocke (che ha anche detto che è la soluzione di Noah): crea un collegamento al gestore delle finestre, non un collegamento al terminale. Poiché ctrl-shift-up o ctrl-shift-down sono combinazioni di tasti abbastanza comuni (per non parlare dei più tipici ctrl + e ctrl - le scorciatoie utilizzate per cambiare la dimensione del carattere, ad esempio in gnome-terminal), potrebbero portare a collisioni di collegamenti e / o mancanza di coerenza.
gennaio

Tutto vero ... ma non credo che la collisione sia un grosso problema - se si scontra, basta cambiare la scorciatoia ... Vorrei anche notare che OP non ha chiesto una scorciatoia terminale - ha solo chiesto in generale come per farlo - e la tua risposta che "non è possibile in xfce4-terminal cambiare la dimensione del carattere con un collegamento" non è precisa.
g33kz0r,

1

Mentre il resto delle risposte qui richiede di creare un qualche tipo di "hack" utilizzando script personalizzati, che possono o meno rompersi durante gli aggiornamenti del sistema, la risposta effettiva / altra è stata trovata in una domanda StackOverflow qui:

È possibile ingrandire o ridurre lo zoom?

Per utente: Chenming Zhang

Edit > Preferences > Appearance

Vedrai l'opzione: Font

Che contiene sia il carattere scelto che la dimensione del carattere-testo.

So che stai cercando una 'scorciatoia', ma tutte le altre opzioni sembrano richiedere molta personalizzazione, mentre seguire questo percorso ti assicurerà di non rovinare il tuo Terminale con nessuna personalizzazione.

Questa risposta viene pubblicata anche qui per chiunque abbia bisogno di un'opzione alternativa ctrl +-per eseguire lo zoom in / out.


0

Il seguente script verifica se Xfce4 Terminal è in esecuzione. In caso contrario, lo script viene chiuso. Questo script utilizza argomenti script-name --inper ingrandire e script-name --outrimpicciolire. Funzionerà con qualsiasi tipo di carattere. (Diversi tipi di carattere hanno un numero diverso di parole.)

Ho chiamato il mio script terminal-zoom e sto usando Ctrl Alt +per terminal-zoom --ine Ctrl Alt -per terminal-zoom --out.

#!/bin/bash

# Check if Xfce4 Terminal is running. If it is not, exit.
status=$(pgrep xfce4-terminal)

if [ -z "$status" ]; then
    notify-send "No Xfce4 Terminal session is open."
    exit 1
fi

# 1. Get the full line. 2. Get the entire line minus font size. 3. Get only font size. 
line=$(grep "FontName" ~/.config/xfce4/terminal/terminalrc)
font_name=$(echo "$line" | sed s/'\w*$'//)
font_size=$(echo "$line" | grep -oE '[^ ]+$')

# Increase or decrease font size. You might want to change this to increase and decrease by two.
if [ "$1" = "--in" ]; then
    new_size=$((font_size + 1))
elif [ "$1" = "--out" ]; then
    new_size=$((font_size - 1))
else
    notify-send "Argument options: --in --out"
    exit 1
fi

# Replace the line with the new font size.
action='s/'$font_name$font_size'/'$font_name$new_size'/'
sed -i "$action" ~/.config/xfce4/terminal/terminalrc

# Show the new current font being used.
notify-send -t 200 "$new_size pt font"

0

Al momento non ci sono scorciatoie da zoom offerte da xfce-term. Prendi in considerazione Terminator, che è leggero sulle dipendenze (a differenza di Gnome-term) e offre lo zoom avanti e indietro tramite CTRL + MAIUSC + "+"


0

Questo è un vecchio thread ma era curioso di sapere come gli altri lo hanno fatto. Sto usando i3-wm e ho scritto questo script per usarlo

#!/bin/bash

TRC=~/.config/xfce4/terminal/terminalrc
OldLine=$(grep FontName $TRC)
FontSize=$(echo $OldLine |sed 's/FontName=.* \([[:digit:]]\+\)/\1/g')
OldFont=$(echo $OldLine | sed 's/\(FontName=.*\) [[:digit:]]\+/\1/g')

if [ "$1" == "in" ] 
    then
        FontSize=$((FontSize+1))
fi

if [ "$1" == "out" ]
    then
        FontSize=$((FontSize-1))
fi

if [ "$1" == "reset" ]
    then
        FontSize=11
fi

NewLine="$OldFont $FontSize"
sed -i "s/$OldLine/$NewLine/g" $TRC

L'ho migliorato guardando la sceneggiatura di qualcun altro qui

#!/bin/bash

#Check if xfce4-terminal is running, If not exit.
Status=$(pgrep xfce4-terminal)
if [ -z "$Status" ] 
    then
        exit 1
fi

TRC=~/.config/xfce4/terminal/terminalrc
OldLine=$(grep FontName $TRC)
FontSize=$(echo $OldLine |sed 's/FontName=.* \([[:digit:]]\+\)/\1/g')
OldFont=$(echo $OldLine | sed 's/\(FontName=.*\) [[:digit:]]\+/\1/g')

if [ "$1" == "in" ] 
    then
        FontSize=$((FontSize+1))
fi

if [ "$1" == "out" ]
    then
        FontSize=$((FontSize-1))
fi

if [ "$1" == "reset" ]
    then
        FontSize=11
fi

NewLine="$OldFont $FontSize"
sed -i "s/$OldLine/$NewLine/g" $TRC
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.