Как я могу настроить шаги изменений размера шрифта в терминале?

Как я могу настроить шаги изменений размера шрифта в терминале? Я теперь использую 10 ПБ и следующий шаг, когда использование сочетаний клавиш является слишком большим. Как я могу настроить размер шага?

4
задан 6 January 2017 в 17:58

1 ответ

Сценарий ниже установит размер шрифта, всех профилей сразу, на шагах 0,5. Необходимо будет видеть, достаточно ли это для Вас; терминал не воздействует на все шаги.

В моем случае было видимое изменение от

10 --> 10.5 --> 11

10.5

enter image description here

11

enter image description here

но затем увеличение с

11 --> 11.5

имеемый никакой эффект до увеличения еще раз до

12

enter image description here

Это, вероятно, связано с размером шрифта относительно размера окна, который не позволяет плавания, так как Вы используете шрифт монотипа в терминале.

Тем не менее, сценарий предлагает размеры, которые существуют в этой ситуации.

Сценарий

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

Как использовать

  1. Скопируйте сценарий в пустой файл, сохраните его как terminalfont.py
  2. Тестовый прогон сценарий командами:

    python3 /path/to/terminalfont.py up
    

    увеличить размер шрифта, и

    python3 /path/to/terminalfont.py down
    

    уменьшить размер шрифта

  3. Если все хорошо работает, добавьте обе команды к ярлыкам

Объяснение

К сожалению, нет никакого ключа, доступного в 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'

Примечание:

Как упомянуто, если это достаточно для Вас, может только быть протестирован Вами. Если это не делает однако, я боюсь, что мы не можем зафиксировать его, потому что размер шрифта должен быть в определенной пропорции к окну терминала на шрифте монотипа.

4
ответ дан 1 December 2019 в 09:45

Другие вопросы по тегам:

Похожие вопросы: