Задать вопрос
Ответы пользователя по тегу Эмулятор терминала
  • Как добавить шрифт из безграфического терминала в графический?

    @glaucidium Автор вопроса
    Нашёл, это GNU Unifont. Оф.сайт https://unifoundry.com/unifont/index.html можно скачать в формате otf.
    Ещё сайт теста шрифтов https://www.programmingfonts.org, там прям с кодом и подсветками.
    Ответ написан
    Комментировать
  • Линукс. Есть ли способ заполнять пути в консоли из файлового менеджера?

    @glaucidium Автор вопроса
    Получилось!

    https://github.com/gokcehan/lf/wiki/Tutorial#worki...
    Потомковый процесс не может изменить путь родительского, но он может записать путь в переменную среды. И можно забиндить на клавишу функцию, которая будет извлекать это значение.

    Как вставить значение в редактируемую строку терминала — man bash описывает это в секции bind. Это переменные READLINE_LINE, READLINE_POINT, READLINE_MARK.

    Итого:
    # Подключаем вставку путей по хоткею Ctrl-o
    PushToShell() {    
        # Делим строку на: до курсора и после и вставляем путь между ними.   
        befCurs="${READLINE_LINE:0:READLINE_POINT}"
        aftCurs="${READLINE_LINE:READLINE_POINT}"    
        READLINE_LINE="$befCurs$1$aftCurs"
        # Сдвигаем курсор на длину пути
        READLINE_POINT=$(($READLINE_POINT+$(echo -n "$1" | wc -m)))
    }
    
    FM_PastePath() {
        dir="$(mktemp -t "FM_Dir.XXXXXXXXXX")"
        file="$(mktemp -t "FM_File.XXXXXXXXXX")"    
        ranger --choosedir="$dir" --choosefile="$file" "${@:-$PWD}" #тут можно подключить любой другой ФМ.
    
        PushToShell "$([ -s "$file" ] && cat "$file" || cat "$dir")"
        rm -f "$dir"
        rm -f "$file"
    }
    
    bind -x '"\C-o":"FM_PastePath"'

    Работает независимо от наличия Иксов. И вместо ФМ, можно подключить иную дополняшку для других задач.
    Либо можно сразу работать в проге, которая позволит удобно работать с путями.

    Всем спасибо!
    Ответ написан
    6 комментариев