¿Qué método abreviado de teclado cambia el tamaño del texto del terminal `xfce4-terminal`?


11

Solía ​​ser que Ctrl+ -y Ctrl+ +aumentarían o disminuirían el tamaño del texto del terminal en versiones anteriores de Ubuntu, lo cual es útil cuando se realizan presentaciones y se desea mostrar su código en un tamaño más grande. Cambié a Xubuntu 12.04, y me faltan estos atajos de teclado.

¿Hay alguna alternativa que pueda usar? O si no, ¿hay alguna manera de definir mi propio acceso directo para reemplazarlos?

Actualización: ¡ Feliz de informar que esta pregunta ahora es discutible para las versiones recientes de xfce4-terminal! Ver aquí .

Respuestas:


5

En lugar de confiar en Python y los módulos que faltan, como en la solución github de Noah K.Tilton, redacté un script bash que está un paso más cerca de ser más portátil (al menos, para instalaciones que utilizan las rutas predeterminadas más genéricas).

Es posible que deba modificar el script para configurar su ruta de configuración de xfce, su fuente favorita, etc.

Solo 2 archivos, colocados en la carpeta ~ / bin de mi casa, "acercar" y "alejar". No fui más allá de hacer comandos cortos que puedo escribir rápidamente, por lo que no tengo idea de cómo podría configurar estos scripts para responder SOLO cuando estoy dentro de xfce4-terminal, lo que significa que Dejé de pensar en cómo hacer las combinaciones de Ctrlteclas para + -y Ctrl+ +porque actualmente solo conozco las combinaciones de teclado globales y no quería anular esos Keypress Combos ya que otras aplicaciones los necesitarán (por ejemplo: navegador web, editor de texto).

También pensé en tener "zoommin" y "zoommax", para saltar a mis fuentes más pequeñas y más grandes cuando sea necesario, generalmente cuando necesito ver toneladas de texto VS cuando necesito mostrarle a un colega algo en mi pantalla. Dejaré esos dos guiones a tu imaginación sobre cómo crear: 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 / alejar

#!/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

No estoy seguro de seguir lo que quiere decir con "módulos faltantes": mi script de Python utiliza la biblioteca estándar. Creo que la portabilidad de bash / python es una sacudida. Sin embargo, el suyo puede ser más eficiente, a costa de cierta legibilidad.
g33kz0r

Experimenté esto entre otras cosas. Noah K estuvo, para ser justos, en contra de modificar su script para facilitar la vida de los usuarios de * buntu. Simplemente hice ingeniería inversa para que sea un poco más universal, eliminando por completo el requisito de Python. : 3
starlocke

informó un error en XDG_CONFIG_PATH- una cadena que no aparece en mi script. ¿Eh? Suponiendo que quería decir XDG_CONFIG_HOME, que no aparece en mi guión, es posible que desee comprobar hacia fuera superuser.com/questions/365847/... que básicamente dice que es responsabilidad del usuario para definirlo. No estoy seguro de cuáles eran las "otras cosas" :) Las opiniones pueden diferir, pero creo que 1 script de Python parametrizado es un poco más limpio que 2 scripts de bash.
g33kz0r

1
se trata de un breve cambio de texto legible, sugeriría perl en perl -pi -e 's/(FontName.*)(\d+)/$1.($2+2)/e' ~/.config/xfce4/terminal/terminalrclugar de jugar con la fiesta
Hachi

1
Genial, basado en esto, creé tres métodos que agrego en mi archivo ~ / .bash_aliases: zi, zo y z, que cada uno toma como primer argumento pasos para hacer zoom (zi y zo), o tamaño de fuente de destino (z) : gist.github.com/samuell/107a498821c88426fa5a . Entonces, para establecer el tamaño del texto en 12, lo haría z 12, y para hacer un zoom en un paso, lo haría zi 1.
Samuel Lampa

4

Actualización: a partir de este compromiso , el cambio de tamaño ahora es compatible con Ctrl +y Ctrl -, lo que hace obsoleta mi pregunta.

Las otras respuestas en este hilo siguen siendo valiosas si está utilizando versiones anteriores de xfce4-terminal.


1
En un teclado en_US, necesita Ctrl+ Shift+ =para hacerse más grande y Ctrl+ -para hacerse más pequeño. Ni Ctrl+ =ni Ctrl+ Shift+ -funcionarán, ni el teclado +y -, lo cual es una lástima.
Adam Katz

3

Los accesos directos que menciona son para gnome-terminal, el terminal predeterminado utilizado por gnome (y, lo que sigue, por Ubuntu estándar). XFCE, que es el entorno principal en Xubuntu, tiene su propia implementación de terminal. Sin embargo, hasta donde puedo decir, no es posible en xfce4-terminal cambiar el tamaño de fuente con un acceso directo (puede ver la lista de posibles accesos directos cuando vaya a Editar-> Preferencias-> Accesos directos).

Si confía en esta característica, puede instalar gnome-terminal, pero dado que el objetivo principal de usar XFCE es que a menudo no involucra las bibliotecas de Gnome algo pesadas, esto podría ser un poco improductivo.


Gracias por la respuesta. ¡Qué decepcionante, sin embargo! :(
John Feminella

Bueno, se supone que XFCE es delgado y rápido, por lo que, naturalmente, tuvieron que renunciar a las funciones.
Enero

@ Enero Creo que su respuesta vende esta pregunta un poco corta, vea mi respuesta a continuación.
g33kz0r

@ g33kz0r nah, starlocke (la respuesta aceptada) ya es un buen caso.
Enero

@Enero, bueno, eso fue publicado después de mi respuesta :)
g33kz0r

1

Que es posible, aunque no a través de xfce4 adecuada, utilizando esta solución:

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

(requiere python).

Lo uso en un impresionante administrador de ventanas como este:

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),

Es un poco hack, pero funciona.


Esto tiene el mismo inconveniente que la respuesta de @starlocke (que también mencionó que es la solución de Noah): crea un acceso directo de administrador de ventanas, no un acceso directo de terminal. Dado que ctrl-shift-up o ctrl-shift-down son combinaciones de teclas bastante comunes (sin mencionar los atajos más típicos ctrl + y ctrl - utilizados para cambiar el tamaño de fuente, por ejemplo, en gnome-terminal), puede provocar colisiones de atajos y / o falta de consistencia.
Enero

Todo es cierto ... pero no creo que la colisión sea tan importante: si choca, simplemente cambie el acceso directo ... También notaría que OP no solicitó un acceso directo a la terminal, solo preguntó en general cómo hacerlo, y su respuesta de que "no es posible en xfce4-terminal cambiar el tamaño de fuente con un acceso directo" es inexacta.
g33kz0r

1

Si bien el resto de las respuestas aquí requieren que cree algún tipo de 'pirateo' utilizando scripts personalizados, que pueden o no romperse al realizar actualizaciones en su sistema, la respuesta real / otra se encontró en una pregunta de StackOverflow aquí:

¿Puede vim acercar y alejar?

Por usuario: Chenming Zhang

Edit > Preferences > Appearance

Verás la opción: Font

Que contiene tanto la fuente elegida como el tamaño del texto de fuente.

Sé que está buscando un 'acceso directo', pero todas las otras opciones parecen requerir mucha personalización, mientras que seguir esta ruta garantizará que no arruine su Terminal con ninguna personalización.

Esta respuesta también se publica aquí para cualquier persona que necesite una opción alternativa ctrl +-para acercar / alejar.


0

El siguiente script verifica si Xfce4 Terminal se está ejecutando. Si no es así, el script se cierra. Este script utiliza argumentos script-name --inpara acercar y script-name --outalejar. Funcionará para cualquier tipo de fuente. (Los diferentes tipos de fuente tienen un número diferente de palabras).

Llamé a mi script terminal-zoom, y estoy usando Ctrl Alt +for terminal-zoom --inand Ctrl Alt -for 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

Actualmente no hay atajos de zoom ofrecidos por xfce-term. Considere Terminator, que es liviano en las dependencias (a diferencia de Gnome-term) y ofrece acercamiento y alejamiento a través de CTRL + SHIFT + "+"


0

Este es un hilo viejo pero tenía curiosidad sobre cómo otros hacían esto. Estoy usando i3-wm y escribí este script para 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

Lo mejoré mirando el guión de alguien más aquí

#!/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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.