Как я могу настроить шаги изменений размера шрифта в терминале? Я теперь использую 10 ПБ и следующий шаг, когда использование сочетаний клавиш является слишком большим. Как я могу настроить размер шага?
Сценарий ниже установит размер шрифта, всех профилей сразу, на шагах 0,5. Необходимо будет видеть, достаточно ли это для Вас; терминал не воздействует на все шаги.
В моем случае было видимое изменение от
10 --> 10.5 --> 11
10.5
11
но затем увеличение с
11 --> 11.5
имеемый никакой эффект до увеличения еще раз до
12
Это, вероятно, связано с размером шрифта относительно размера окна, который не позволяет плавания, так как Вы используете шрифт монотипа в терминале.
Тем не менее, сценарий предлагает размеры, которые существуют в этой ситуации.
#!/usr/bin/env python3
import subprocess
import sys
import ast
"""
Copyright (C) 2016 Jacob Vlijm
https://launchpad.net/~vlijm/+contactuser
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or any later version. This
program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU General Public License for more details. You
should have received a copy of the GNU General Public License along with this
program. If not, see <http://www.gnu.org/licenses/>.
"""
arg = sys.argv[1]
k = ["/org/gnome/terminal/legacy/profiles:/:", "/use-system-font", "font"]
def get(cmd):
return subprocess.check_output(cmd).decode("utf-8").strip()
def run(cmd):
subprocess.Popen(cmd)
def set_size(profile):
def_font = k[0]+profile+k[1]
# first set use default font to false
run(["dconf", "write", def_font, "false"])
# read the current font
currfont = ast.literal_eval(get(["dconf", "read", k[0]+profile+"/"+k[2]])).split()
# read the current size
currsize = float(currfont[-1])
# set the newsize
if arg == "up":
newsize = currsize+0.5
elif arg == "down":
newsize = currsize-0.5
run(["dconf", "write", k[0]+profile+"/"+k[2], "'"+currfont[0]+" "+str(newsize)+"'"])
# get profiles
prf = k[0][:-1]+"list"
# set fontsize up/down 0.5
for p in ast.literal_eval(get(["dconf", "read", prf])):
set_size(p)
terminalfont.py
Тестовый прогон сценарий командами:
python3 /path/to/terminalfont.py up
увеличить размер шрифта, и
python3 /path/to/terminalfont.py down
уменьшить размер шрифта
К сожалению, нет никакого ключа, доступного в gsettings
установить размер шрифта терминала. Мы должны использовать dconf
непосредственно считать и изменить настройки.
Мы можем сначала выбрать список профилей хотя командой:
dconf read /org/gnome/terminal/legacy/profiles:/list
После того как у нас есть список профилей, сценарий затем сначала отключает использование стандартного шрифта (на профиль):
dconf write /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/use-system-font false
где b1dcc9dd-5262-4d8d-a863-c897e6d979b9
идентификатор профиля
Впоследствии мы читаем текущий шрифт и размер с командой:
dconf read /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/font
... мы анализируем ot размер шрифта, добавляем или вычитаем 0.5
, и набор новый размер:
dconf write /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/font 'Monospace 14.0'
Как упомянуто, если это достаточно для Вас, может только быть протестирован Вами. Если это не делает однако, я боюсь, что мы не можем зафиксировать его, потому что размер шрифта должен быть в определенной пропорции к окну терминала на шрифте монотипа.