fbless – читаем книги в консоли
fbless – это консольное приложение для чтения электронных книг в формате .fb2 (FictionBook), написанное на языке программирования Python (второй версии) с использованием библиотеки Ncurses. Программа очень простая, но не смотря на это ее арсенала хватает для комфортного чтения. fbless умеет открывать книги из архивов zip, gzip и bzip2, запоминать позицию для каждой книги, имеет функцию автоматической прокрутки, а также статусную строку и некоторые другие полезные вещи.
Установка
Скачать исходные коды можно с Git-репозитория.
В Arch Linux пакет можно установить из AUR.
Первый запуск
Использование
Для того, чтобы уже начать читать никаких действий проделывать не требуется, достаточно написать в консоли fbless
и в качестве параметра указать путь в книге:
$ fbless book.fb
Дополнительные параметры:-a
, --autoscroll
– включить автоскролл-t
, --scroll_type
– выбрать тип скролла (up, down, page-up, page-down, fifo)-i
, --interval
– задержка скролла в секундах-g
, --goto
– перейти по смещению (в процентах)-e
, --edit
– открыть книгу в редакторе-c
, --config
– использовать указанный конфигурационный файл-v
, --version
– показать версию программы и выйти-h
, --help
– показать справку и выйти
Настройка программы
Хочу сразу сказать, что данные с позициями на которых вы закончили читать хранятся в файле ~/.fbless_save
(если отсутствует файл с настройками).
Настройки читаются из файла ~/.config/fbless
.
Пример файла настроек:
[paths]
# Файл для хранения текущей позиции для каждой книги
save_file = ~/.cache/fbless/fbless_save
### General settings ###
[general]
# Количество строк, которые сохраняются при переходе к следующей странице
context_lines: 0
# Отображать статус-бар?
status: true
# Ширина экрана. Установить 0 для автоопределения
columns: 0
# Центрировать текст когда экран шире, чем 'columns'
center_text: false
# Использовать стандартный цвет фона и текста терминала для none (см. стили ниже)
use_default_colors: true
# Следует ли заменять Unicode символы (тире, кавычки и т.п.) их ASCII аналогами?
# Установите значение 'true', если терминал имеет проблемы c отображением Unicode
replace_chars: false
# Текстовый редактор
# {byte_offset} и {filename} будут заменены реальными значениями
# Note: Обратите внимание, что имя файла не экранируется
editor: vim -c go{byte_offset} "{filename}"
# Интервал автоскролла в секундах
auto_scroll_interval: 3
### Стили ###
# Accepted colors: black, blue, cyan (light greenish blue), green, magenta
# (purpish red), red, white, yellow, none. The latter have different meaning
# depending on the 'use_default_colors' setting: if it's 'true', 'none' would
# mean default setting for that color (i.e., if foreground for some style is
# 'none' and 'use_default_colors' is 'true', fbless would use the same
# foreground color as your terminal uses). If the setting is false, curses
# would use some other colors (possibly grey and black).
[default]
justify: fill # выравнивание
hyphenate: true # переносы
left_indent: 2 # отступ слева
right_indent: 2 # отступ справа
first_line_indent: 4 # отступ первой строки
bold: false # жарное начертание
foreground: white # текст
background: black # фон
[p]
justify: fill
hyphenate: true
left_indent: 2
right_indent: 2
first_line_indent: 4
bold: false
foreground: none
background: none
[v]
justify: fill
hyphenate: true
left_indent: 10
right_indent: 4
first_line_indent: 0
foreground: none
background: none
[text-author]
justify: right
hiphenate: true
left_indent: 20
right_indent: 2
first_line_indent: 0
foreground: yellow
background: none
[epigraph]
justify: fill
hiphenate: true
left_indent: 20
right_indent: 2
first_line_indent: 4
foreground: none
background: none
[cite]
justify: fill
hiphenate: true
left_indent: 8
right_indent: 8
first_line_indent: 8
foreground: none
background: none
[title]
justify: center
hiphenate: false
left_indent: 8
right_indent: 8
first_line_indent: 0
foreground: magenta
background: none
[subtitle]
justify: center
hiphenate: false
left_indent: 8
right_indent: 8
first_line_indent: 0
foreground: cyan
background: none
[image]
justify: center
hiphenate: false
left_indent: 0
right_indent: 0
first_line_indent: 0
foreground: none
background: none
[strong]
foreground: magenta
background: none
[emphasis]
foreground: cyan
background: none
[style]
foreground: green
background: none
[a]
foreground: red
background: none
### Горячие клавиши ###
# Alphanumeric keys are denoted by the symbols they produce. The same goes for
# !, @, #, $, %, ^, &, *, _, -, +, =, / and all kinds of parentheses. The comma
# (,) is an exception: it is used as a delimiter, so when you mean it literally
# (i.e. you want it to be a hotkey for some action) you should type it as
# 'comma' (without quotes). Backslash (\) should be escaped (i.e., typed twice
# in a row). Other accepted names are: left, right, up, down, enter, backspace,
# tab, home, end, pgup, pgdn.
[keys]
quit: q, Q # выход
toggle-status: s # показать/спрятать статус-бар
search: / # поиск
search-next: n # искать дальше
scroll-fifo: f # скроллинг в режиме fifo
auto-scroll: a # включить/выключить автоскролл
timer-inc: + # увеличить время автопрокрутки
timer-dec: - # уменьшить время автопрокрутки
goto-percent: 5, G # переход на позицию в файле (в процентах)
jump-link: tab # перейти к следующей ссылке
goto-link: enter, right # перейти по ссылке
backward: h, left # вернуться
forward: l, backspace # снова перейти по последней ссылке
scroll-up: k, up # прокрутить на строку вверх
scroll-down: j, down # прокрутить на строку вниз
prev-page: pgup # предыдущая страница
next-pagr: pgdn, space # следующая страница
goto-home: home, g # перейти в начало
goto-end: end # перейти в конец
edit-xml: e # открыть книгу в редакторе
Комментарии
# - Panda, 23.10.2013 в 04:01
Здорово так то. А шрифт он берет по умолчанию какой? А свой можно назначить?
# - IIIypuk, 25.10.2013 в 03:00, в ответ на комментарий
К сожалению шрифт назначить нельзя.
Добавить комментарий