Який ярлик клавіатури змінює розмір тексту терміналу `xfce4-terminal`?


11

Раніше було, що Ctrl+ -і Ctrl+ +збільшуватимуть або зменшувати розмір тексту терміналу в попередніх версіях Ubuntu, що корисно, коли ви ведете презентації та хочете показати свій код у більшому розмірі. Я перейшов на Xubuntu 12.04, і мені не вистачає цих комбінацій клавіш.

Чи є альтернатива, яку я можу використовувати? Або якщо ні, чи є спосіб я визначити власний ярлик для їх заміни?

Оновлення: Раді повідомити, що це питання тепер суперечить останнім версіям xfce4-terminal! Дивіться тут .

Відповіді:


5

Замість того, щоб покладатися на Python та відсутні модулі, як у рішенні github Ноя К. Тілтона, я розробив сценарій bash, який є на крок ближче до того, щоб бути більш портативним (принаймні, для установок, що використовують найбільш загальні шляхи за замовчуванням).

Можливо, вам доведеться налаштувати сценарій, щоб налаштувати шлях конфігурації xfce, улюблений шрифт тощо.

Всього 2 файли, що потрапили до папки ~ / bin мого будинку, "zoomin" та "zoomout". Я не пішов далі, ніж робити короткі команди, які я можу швидко вводити, тому у мене немає поняття, як я зміг би налаштувати ці сценарії, щоб відповідати ТІЛЬКИ, коли я знаходжусь у xfce4-терміналі - це означає, що Я відмовився від роздумів про те, як зробити прив'язки клавіш для Ctrl+ -і Ctrl+, +тому що в даний час я знаю лише про глобальні прив’язки клавіатури і не хотів перекривати ці комбінації клавіш, оскільки інші програми потребуватимуть їх (наприклад: веб-браузер, текстовий редактор).

Я також думав про те, щоб мати "zoommin" і "zoommax", щоб перейти до найменших і найбільших шрифтів, коли це потрібно, як правило, коли мені потрібно побачити тонни тексту VS, коли мені потрібно показати колезі щось на екрані. Ці два сценарії я залишу вашій уяві про те, як створити: P

~ / бін / зуомін

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

Не впевнений, що я дотримуюся того, що ви маєте на увазі під "відсутніми модулями" - мій скрипт python використовує стандартну бібліотеку. Я думаю, що портативність bash / python - це суттєвий результат. Однак ваша може бути ефективнішою - ціною трохи читабельності.
g33kz0r

Я переживав це серед іншого. Noah K, з усією справедливістю, не налаштовував його сценарій, щоб полегшити життя користувачам * buntu. Я просто зворотно розробив річ, щоб бути трохи універсальнішою, повністю знімаючи вимогу python. : 3
starlocke

ви повідомили про помилку XDG_CONFIG_PATH- рядок, який не відображається в моєму сценарії. Так? Припускаючи , що ви мали в виду XDG_CONFIG_HOME, що це з'являється в моєму сценарії, ви можете захотіти , щоб перевірити superuser.com/questions/365847 / ... , який в основному говорить , що це до користувача , щоб визначити його. Не впевнений, якими були "інші речі" :) Думки можуть відрізнятися, але я думаю, що 1 параметризований сценарій python трохи чистіший, ніж 2 bash-сценарії.
g33kz0r

1
мова про коротку читану зміну тексту, я б запропонував perl, perl -pi -e 's/(FontName.*)(\d+)/$1.($2+2)/e' ~/.config/xfce4/terminal/terminalrcа не поспішати з bash
Хачі

1
Класно, виходячи з цього, я створив три методи, які я додаю до свого файлу ~ / .bash_aliases: zi, zo і z, який кожний приймає в якості першого аргументу або кроки до збільшення (zi і zo), або розмір шрифту призначення (z) : gist.github.com/samuell/107a498821c88426fa5a . Отже, щоб я встановив розмір тексту на 12, я б це зробив z 12, а для збільшення масштабу зробив би один крок zi 1.
Самуель Лампа

4

Оновлення: з цього зобов'язання зміна розміру тепер підтримується Ctrl +і Ctrl -, що застаріло моє питання.

Інші відповіді в цій темі все ще цінні, якщо ви використовуєте старіші версії xfce4-terminal.


1
На клавіатурі en_US вам потрібно Ctrl+ Shift+, =щоб збільшити, і Ctrl+ -зменшити. Ні Ctrl+, =ні Ctrl+ Shift+ -не працюватимуть, ні клавіатура +і -, що дуже погано.
Адам Кац

3

Клавіші, які ви згадуєте, стосуються gnome-терміналу, терміналу за замовчуванням, який використовується gnome (і, що далі, стандартним Ubuntu). XFCE, що є основним середовищем у Xubuntu, має власну термінальну реалізацію. Однак, наскільки я можу сказати, в xfce4-терміналі неможливо змінити розмір шрифту за допомогою ярлика (ви можете побачити список можливих ярликів, перейшовши в меню Правка-> Налаштування-> Ярлики).

Якщо ви покладаєтесь на цю функцію, ви можете встановити gnome-terminal, але оскільки суть використання XFCE часто полягає в тому, що він не включає дещо важкі бібліотеки Gnome, це може бути малопродуктивним.


Дякую за відповідь. Як невтішно, хоча! :(
Джон Фемінелла

Ну, XFCE повинен бути худим і швидким, тому, природно, їм довелося відмовитися від особливостей.
січня

@January Я вважаю, що ваша відповідь на це питання трохи коротша, дивіться мою відповідь нижче.
g33kz0r

@ g33kz0r нах, starlocke (прийнята відповідь) вже зробив хороший випадок.
січня

@January, добре, що було розміщено після моєї відповіді :)
g33kz0r

1

Це є можливим, хоча і НЕ через xfce4 власне, використовуючи цей обхідний шлях:

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

(потрібен пітон).

Я використовую його в дивовижному менеджері вікон, як це:

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

Це трохи хак, але це працює.


Це має той самий недолік, що і відповідь від @starlocke (який також зазначив, що це рішення Ноя): він створює ярлик вікна управління, а не ярлик термінала. Оскільки ctrl-shift-up або ctrl-shift-down є досить поширеними комбінаціями клавіш (не кажучи вже про більш типові ctrl + і ctrl - ярлики, які використовуються для зміни розміру шрифту, наприклад, у gnome-terminal), це може призвести до швидкого зіткнення і / або відсутність консистенції.
січня

Все вірно ... але я не думаю, що зіткнення настільки велика угода - якщо воно зіткнеться, просто змініть ярлик ... Я також зазначу, що ОП не просив ярлика терміналу - він просто запитував, як правило зробити це - і ваша відповідь, що "не можна в xfce4-терміналі змінити розмір шрифту ярликом" є неточною.
g33kz0r

1

Хоча решта відповідей тут вимагає створити певний тип "хак" за допомогою користувацьких скриптів, який може або не порушиться під час оновлення вашої системи, фактичний / інший відповідь знайдений у питанні StackOverflow тут:

Чи можна збільшити чи зменшити масштаб vim?

Користувач: Chenming Zhang

Edit > Preferences > Appearance

Ви побачите варіант: Font

Який містить як обраний шрифт, так і розмір шрифту-тексту.

Я знаю, що ви шукаєте "ярлик", але всі інші варіанти, як видається, потребують великої настройки, тоді як, пройшовши цей маршрут, ви не зможете накручувати свій Термінал будь-якими налаштуваннями.

Ця відповідь також розміщується тут для всіх, кому потрібна альтернативна опція ctrl +-для збільшення / зменшення масштабу.


0

Наступний скрипт перевіряє, чи працює Xfce4 Terminal. Якщо його немає, сценарій виходить. Цей сценарій використовує аргументи, script-name --inщоб збільшити чи script-name --outзменшити масштаб. Він буде працювати для будь-якого типу шрифту. (У різних типів шрифту є різна кількість слів.)

Я назвав свій термінал-масштаб сценарію, і я використовую Ctrl Alt +для terminal-zoom --inі Ctrl Alt -для 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

Наразі не існує ярликів масштабування, пропонованих xfce-term. Розглянемо Термінатор, який легкий від залежностей (на відміну від Gnome-term) і пропонує збільшення та зменшення через CTRL + SHIFT + "+"


0

Це стара нитка, але цікаво було, як це робили інші. Я використовую i3-wm і написав цей сценарій для використання з ним

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

Я вдосконалив його, дивлячись на сценарій кимось іншим

#!/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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.