Que atalho de teclado altera o tamanho do texto do terminal `xfce4-terminal`?

11

Antes, Ctrl+ -e Ctrl+ +aumentavam ou diminuíam o tamanho do texto do terminal nas versões anteriores do Ubuntu, o que é útil quando você faz apresentações e deseja mostrar seu código em um tamanho maior. Eu mudei para o Xubuntu 12.04 e estou perdendo esses atalhos de teclado.

Existe uma alternativa que eu possa usar? Ou, se não, existe uma maneira de definir meu próprio atalho para substituí-los?

Atualização: É um prazer informar que esta questão é discutida nas versões recentes do xfce4-terminal! Veja aqui .

John Feminella
fonte

Respostas:

5

Em vez de confiar no Python e nos módulos ausentes, como na solução github de Noah K. Tilton, elaborei um script bash que está um passo mais próximo de ser mais portátil (pelo menos, para instalações usando os caminhos padrão mais genéricos).

Pode ser necessário ajustar o script para definir o caminho de configuração do xfce, sua fonte favorita etc.

Apenas 2 arquivos, colocados na pasta ~ / bin da minha casa, "zoomin" e "zoomout". Não fui além de fazer comandos curtos que podem ser digitados rapidamente, por isso não faço ideia de como seria capaz de configurar esses scripts para responder SOMENTE quando estou dentro do xfce4-terminal - o que significa que Desisti de pensar em como obter as combinações de teclas feitas para Ctrl+ -e Ctrl+, +porque atualmente só conheço as ligações de teclado globais e não queria substituir esses Combinações de teclas, já que outros aplicativos precisarão delas (por exemplo, navegador da web, editor de texto).

Também pensei em ter "zoommin" e "zoommax", para pular para minhas fontes menores e maiores, quando necessário, normalmente quando preciso ver toneladas de texto VS quando preciso mostrar algo a um colega na tela. Deixarei esses dois scripts à sua imaginação sobre como criar: 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
starlocke
fonte
Não tenho certeza se sigo o que você quer dizer com "módulos ausentes" - meu script python usa a biblioteca padrão. Eu acho que a portabilidade do bash / python é um lance. No entanto, o seu pode ter melhor desempenho - ao custo de alguma legibilidade.
g33kz0r
Eu experimentei isso entre outras coisas. Noah K foi, com toda a justiça concedida, contra ajustar seu script para facilitar a vida dos usuários do * buntu. Eu simplesmente fiz a engenharia reversa da coisa para ser um pouco mais universal, removendo completamente o requisito python. : 3
starlocke 10/03/2014
você relatou um erro XDG_CONFIG_PATH- uma string que não aparece no meu script. Hã? Supondo que você quis dizer XDG_CONFIG_HOME, que não aparecem no meu script, você pode querer verificar para fora superuser.com/questions/365847/... que basicamente diz que é até o usuário para defini-lo. Não tenho certeza do que as "outras coisas" eram :) As opiniões podem diferir, mas acho que um script python parametrizado é um pouco mais limpo que dois scripts bash.
g33kz0r
1
que trata-se de uma mudança de texto legível curto Sugiro perl perl -pi -e 's/(FontName.*)(\d+)/$1.($2+2)/e' ~/.config/xfce4/terminal/terminalrcao invés de mexer com a festa
Hachi
1
Legal, com base nisso, criei três métodos que adiciono no meu arquivo ~ / .bash_aliases: zi, zo e z, cada um deles tendo como primeiro argumento etapas para aumentar o zoom (zi e zo) ou tamanho da fonte de destino (z) : gist.github.com/samuell/107a498821c88426fa5a . Então, para definir o tamanho do texto como 12, eu faria z 12, e para aumentar o zoom em uma etapa, eu faria zi 1.
Samuel Lampa
4

Atualização: a partir desta confirmação , o redimensionamento agora é suportado com Ctrl +e Ctrl -, o que obsoleta minha pergunta.

As outras respostas neste segmento ainda são valiosas se você estiver usando versões mais antigas do xfce4-terminal.

John Feminella
fonte
1
Em um teclado en_US, você precisa Ctrl+ Shift+ =para aumentar e Ctrl+ -para diminuir. Nem Ctrl+ =nem Ctrl+ Shift+ -funcionarão, nem o teclado +e -, o que é muito ruim.
Adam Katz
3

Os atalhos mencionados são para o gnome-terminal, o terminal padrão usado pelo gnome (e, a seguir, pelo Ubuntu padrão). O XFCE, que é o principal ambiente do Xubuntu, possui sua própria implementação de terminal. No entanto, até onde eu sei, não é possível no xfce4-terminal alterar o tamanho da fonte com um atalho (você pode ver a lista de possíveis atalhos ao ir para Editar-> Preferências-> Atalhos).

Se você confiar nesse recurso, poderá instalar o gnome-terminal, mas como o objetivo principal do uso do XFCE é que ele geralmente não envolve as bibliotecas um tanto pesadas do Gnome, isso pode ser um pouco improdutivo.

janeiro
fonte
Obrigado pela resposta. Que decepção! :(
John Feminella
Bem, o XFCE deve ser enxuto e rápido, então, naturalmente, eles tiveram que desistir dos recursos.
janeiro
@ Janeiro, acho que sua resposta vende essa pergunta um pouco, veja minha resposta abaixo.
G33kz0r
@ g33kz0r nah, starlocke (a resposta aceita) já era um bom argumento.
janeiro
@January, bem que foi publicado depois da minha resposta :)
g33kz0r
1

Ele é possível, embora não através xfce4 adequada, utilizando esta solução alternativa:

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

(requer python).

Eu o uso no incrível gerenciador de janelas 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),

É um pouco complicado, mas funciona.

g33kz0r
fonte
Isso tem a mesma desvantagem da resposta de @starlocke (que também mencionou que é a solução de Noah): cria um atalho do gerenciador de janelas, não um atalho do terminal. Como ctrl-shift-up ou ctrl-shift-down são combinações de teclas bastante comuns (para não mencionar os atalhos ctrl + e ctrl - mais comuns usados ​​para alterar o tamanho da fonte, por exemplo, no gnome-terminal), isso pode levar a colisões de atalhos e / ou falta de consistência.
janeiro
Tudo verdade ... mas eu não acho que a colisão seja tão importante - se ela colidir, basta alterar o atalho ... Eu também observaria que o OP não pediu um atalho do terminal - ele apenas perguntou como para fazer isso - e sua resposta de que "não é possível no xfce4-terminal alterar o tamanho da fonte com um atalho" é imprecisa.
g33kz0r
1

Enquanto o restante das respostas aqui exige que você crie algum tipo de 'hack' usando scripts personalizados, que podem ou não quebrar ao fazer atualizações no sistema, a resposta real / outra foi encontrada em uma pergunta do StackOverflow aqui:

O vim pode aumentar e diminuir o zoom?

Por usuário: Chenming Zhang

Edit > Preferences > Appearance

Você verá a opção: Font

Que contém a fonte escolhida e o tamanho do texto da fonte.

Eu sei que você está procurando um 'atalho', mas todas as outras opções parecem exigir muita personalização, enquanto que essa rota garantirá que você não estrague o seu Terminal com nenhuma personalização.

Esta resposta também está sendo publicada aqui para qualquer pessoa que precise de uma opção alternativa ctrl +-para aumentar / diminuir o zoom.

tentative_pimple
fonte
0

O script a seguir verifica se o Xfce4 Terminal está em execução. Caso contrário, o script será encerrado. Este script usa argumentos script-name --inpara aumentar e script-name --outdiminuir o zoom. Funcionará para qualquer tipo de fonte. (Tipos de fontes diferentes têm um número diferente de palavras.)

Chamei meu script de terminal-zoom e estou usando Ctrl Alt +para terminal-zoom --ine Ctrl Alt -para 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"
jbrock
fonte
0

Atualmente, não há atalhos de zoom oferecidos pelo xfce-term. Considere o Terminator, que é leve em dependências (diferente do termo Gnome) e oferece mais e menos zoom via CTRL + SHIFT + "+"

Slawomir
fonte
0

Este é um tópico antigo, mas estava curioso sobre como os outros faziam isso. Estou usando o i3-wm e escrevi esse script para usá-lo

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

Eu melhorei olhando o script por outra pessoa aqui

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