Pocketbook Configuration
PocketBook devices support additional configuration options that are not exposed in the device user interface. These options are not formally documented by PocketBook. Many users on the MobileRead forums and also the German E-Reader-Forum have discovered and worked out many of these options - thanks must go to them. This page attempts to collect these discoveries together in one easy to find place.
- You will need to connect your PocketBook to your computer using the supplied USB cable, and select the "PC link" action. This will make your PocketBook look like an external USB disk to your computer.
- Then you will need to look inside the PocketBook's "system" directory. This is a hidden directory, so you may need to persuade your Mac or Windows that you really really want to look inside it.
You should keep backup copies of any files you edit, in case of problems.
We will now break down the configuration files available in each directory.
Contents |
[edit] applications/icons/
This subdirectory may not exist by default. Inside it you can copy pairs of files. Each file must be in Windows BMP format and have a maximum size of 128 x 128 pixels:
- <somename>.bmp - this is the "unfocussed" icon
- <somename>_f.bmp - this is the "focussed" icon
You then need to edit the "view.json" file to associate them with an application; see below.
Reference: Github jjrrw174 PocketBook-Desktop-and-App-Customizations
Device / Firmware | Status |
---|---|
Era / 6.8.x | Working |
[edit] system/config/
In this directory you will find this file:
- global.cfg
[edit] system/config/global.cfg
You can change the browser's home page here (or in the normal settings)
browser_default_url=http://my_calibre_address
Reference: MobileRead A few Pocketbook questions
[edit] system/config/desktop/
In this directory you will find this file:
- view.json
[edit] system/config/desktop/view.json
This JSON file can be used to exclude/include applications on the desktop screens. Just remove the name from the appropriate "apps" array, for example in this fragment of "view.json", and reboot:
"title": "@General", "sort": "title", "apps": [ "PB_Dictionary", "PB_Library", "PB_Settings", "U_koreader" ]
To associate a custom icon in "/applications/icons/" with an application, add the following JSON snippet between the "applications" and "_comment" keys:
"U_koreader": { "path": "/mnt/ext1/applications/koreader.app", "title": "KOReader", "icon": "/mnt/ext1/applications/icons/desktop_app_koreader.bmp", "focused_icon": "/mnt/ext1/applications/icons/desktop_app_koreader_f.bmp" },
The JSON keys are:
- path - Location to the app (eg KOReader) on your file system
- title - The title of the app. Needs to match how it's displayed on your Home screen or from the Changing app names step
- icon - location of the static icon you want to use on your file system
- focused_icon - location of the "tapped" icon you want to use on your file system
Note the "U_" part in "U_koreader" is mandatory, and the text after has to match the name of the app in "/applications/". This can be done for any custom application.
Be careful not to use malformed JSON.
Reference: Github jjrrw174 PocketBook-Desktop-and-App-Customizations
Device / Firmware | Status |
---|---|
Era / 6.8.x | Working |
[edit] system/fonts/
Install custom fonts into this directory.
[edit] system/language/
The PocketBook will read a file with the user's language acronym, eg "en.txt" for English. In that file you can change the names of any custom app. For example:
English @koreader=KOReader @pbterm=PB Term @Jailbreak=Jail Break @PbDbFixer=Database Fix
Reference: See README on GitHub for more details and examples.
Device / Firmware | Status |
---|---|
Era / 6.8.x | Working |
[edit] system/reader/
In this directory you may find the following files:
- linespacing.cfg
- margins.cfg
- fb2.css
[edit] system/reader/linespacing.cfg
The PocketBook reader application lets you change the line spacing between three values. In "linespacing.cfg" you can change these values:
single=106% one_and_half=125% double=180% single-pager=106% one_and_half-pager=125% double-pager=180% single-panel=106% one_and_half-panel=125% double-panel=180% single-pager-panel=106% one_and_half-pager-panel=125% double-pager-panel=180%
Reference: E-Reader Forum: Änderung der Konfigurationsdateien
Device / Firmware | Status |
---|---|
InkPad 3 / unknown | Working |
[edit] system/reader/margins.cfg
You can also change the three page margins in "margins.cfg". Change the first characters in this example from "none-" to "normal-" and "large-" to set the other margins.
none-left=1% none-right=1% none-top=1% none-bottom=0% none-left-pager=1% none-right-pager=1% none-top-pager=1% none-bottom-pager=0% none-left-panel=1% none-right-panel=1% none-top-panel=0.5% none-bottom-panel=0% none-left-pager-panel=1% none-right-pager-panel=1% none-top-pager-panel=0.5% none-bottom-pager-panel=0%
Reference: E-Reader Forum: Änderung der Konfigurationsdateien
Device / Firmware | Status |
---|---|
InkPad 3 / unknown | Working |
[edit] system/reader/fb2.css
You can set the complete CSS stylesheet used when reading an FB2 formatted book. This contains a few extensions:
- day/night/newspaper "themes" (is this dark mode?)
- getting configuration values, with or without defaults
Here are some examples using the extensions:
@define-theme day { color: #000000; background-color: #FFFFFF; a { color: #2222FF; } annotation { background-color: #bde59e; } } @define-theme night { color: #F0F0F0; background-color: #222222; a { color: #19CA15; } annotation { background-color: #bde59e; } } @define-theme newspaper { color: #373028; background-color: #FCF7E5; a { color: #2222FF; } annotation { background-color: #bde59e; } } @define-theme user_setup { color: prop("prf.css.color_font"); background-color: prop("prf.css.color_background"); a { color: prop("prf.css.color_link"); } } @define-theme serif { body,annotation { font-family: "Times New Roman", "Georgia", serif; } title { font-family: "Arial", "Helvetica", sans-serif; } } @define-theme sans { body,annotation { font-family: "Arial", sans-serif; } title,subtitle { font-family: "Arial", "Helvetica", sans-serif; } } html { @theme prop("prf.css.color_preset", day); @theme prop("prf.css.font_style", serif); text-align: justify; }
Here is a list of the known properties:
- prf.css.color_font
- prf.css.color_background
- prf.css.color_link
- prf.css.color_preset
- prf.css.font_style
- prf.css.page.padding-left
- prf.css.page.padding-right
- prf.css.page.padding-top
- prf.css.page.padding-bottom
- prf.css.para.indent
- prf.css.para.indent
- prf.css.para.margin
- prf.css.line_spacing
- prf.css.para.indent
- prf.css.para.margin
- prf.css.line_spacing
Reference: E-Reader Forum: Änderung der Konfigurationsdateien
Device / Firmware | Status |
---|---|
InkPad 3 / unknown | Working |
[edit] system/reader/rtf.css
This is a CSS stylesheet used for reading RTF files.
Reference: E-Reader Forum: Änderung der Konfigurationsdateien
Device / Firmware | Status |
---|---|
InkPad 3 / unknown | Working |
[edit] system/themes/
Custom themes can be installed here. The compiled "*.pbt" theme files have a header, a version field, an uncompressed text configuration section, and a compressed (zlib) section.
They need to be compiled from source files with a tool called "pbres". There is a Windows version of this but it is old and according to this MobileRead forum thread only supports old (v1) theme files (several are attached to messages in that thread). A few open source alternatives to pbres have been developed:
- https://github.com/Enyby/pbres
- https://github.com/Lighting/pbtheme (only extracts the uncompressed text)
- https://github.com/yuryfdr/xpbres
It is not clear if the open source alternatives support newer versions.
The official PocketBook SDK includes a native ARM binary of "pbres" but it is unclear what versions that supports. The strings suggest it was built in 2020, and the arguments are different to the Windows "pbres.exe".
There is some translated documentation of the text configuration format in another MobileRead forum thread.
What happens if you install an old theme on a new device? Are the themes hard coded to screen sizes?