Browse Source

Patches v72, firmware 4.28.18220

Updated NickelMenu config
Added script to merge NickelMenu into patched KoboRoot.tgz
master
Jay Logan 1 month ago
parent
commit
11df9f3e21
  1. 2
      kobopatch.yaml
  2. 12
      merge-nm.sh
  3. 64
      other-conf/nickelmenu/doc
  4. 1
      other-conf/nickelmenu/nickel
  5. 2
      src/libadobe.so.yaml
  6. 189
      src/libnickel.so.1.0.0.yaml
  7. 126
      src/nickel.yaml

2
kobopatch.yaml

@ -1,5 +1,5 @@
## Sixthhokage1's kobopatch config
version: 4.26.16704
version: 4.28.18220
in: src/latest.zip
out: out/KoboRoot.tgz
log: out/log.txt

12
merge-nm.sh

@ -0,0 +1,12 @@
# modified from NiLuJe's autopatch.sh: http://trac.ak-team.com/trac/browser/niluje/Configs/trunk/Kindle/Kobo_Hacks/Patches/autopatch.sh
echo "Uncompressing tarballs"
gunzip -c bin/NM.tgz > NM.tar
gunzip -c out/KoboRoot.tgz > KoboPatch.tar
echo "Merging tarballs"
tar -Avf NM.tar KoboPatch.tar
echo "Compressing merged tarball"
gzip NM.tar
echo "Collecting garbage"
rm out/KoboRoot.tgz KoboPatch.tar
mv -v NM.tar.gz out/KoboRoot.tgz

64
other-conf/nickelmenu/doc

@ -1,9 +1,10 @@
# NickelMenu (libnm.so)
# https://pgaskin.net/NickelMenu
#
# This tool injects menu items into Nickel.
#
# It should work on firmware 4.6+, but it has only been tested on 4.20.14622 -
# 4.22.15268. It is perfectly safe to try out on any newer firmware version, as
# 4.26.16704. It is perfectly safe to try out on any newer firmware version, as
# it has a lot of error checking, and a failsafe mechanism which automatically
# uninstalls it as a last resort.
#
@ -15,11 +16,39 @@
# Adds a menu item.
#
# <location> the menu to add the item to, one of:
# main - the menu in the top-left corner of the home screen
# (in firmware 4.23.15505+, this menu was removed, so a new item will be added to the tabs on the bottom-right)
# reader - the overflow menu in the reader
# browser - the menu in the bottom-right of the web browser
# library - the menu in the filter bar for the "My Books" and "My Articles" library views
# main - the menu in the top-left corner of the home screen
# (in firmware 4.23.15505+, this menu was removed, so a new item will be added to the tabs on the bottom-right)
# reader - the overflow menu in the reader
# browser - the menu in the bottom-right of the web browser
# library - the menu in the filter bar for the "My Books" and "My Articles" library views
# selection - the selection menu (4.20.14622+)
# all arguments will support substitutions in the form {A|B|C} as follows (see the end of this file for examples):
# A is the string to substitute
# 1 - current selection
# B is zero or more transformations applied from left to right:
# a - all to lowercase
# A - all to uppercase
# f - keep everything up to the first whitespace character
# n - remove non-alphanumeric
# s - trim whitespace
# S - normalize whitespace (trim, then collapse multiple whitespace chars)
# u - replace whitespace with underscores
# w - remove all whitespace
# x - special: return an error if the string is empty at this point
# C is zero or more escape methods applied from left to right:
# " - escape for double-quoted strings (JSON-compatible, C-compatible):
# " => \"
# newline => \n
# backspace => \b
# tab => \t
# form-feed => \f
# carriage-return => \r
# \ => \\
# $ - escape for single-quoted strings (bash-compatible):
# ' => '"'"'
# % - url encode all non-alphanumeric chars
# selection_search - the search sub-menu of the selection menu (4.20.14622+)
# see above
# <label> the label to show on the menu item (must not contain :)
# <action> the type of action to run, one of:
# cmd_spawn - starts a command in the background
@ -146,6 +175,22 @@
# gui - only enumerate non-hidden active KFMon watches (this is the default)
# all - enumerate all active KFMon watches
#
# experimental:<key>:<val>
# Sets an experimental option. These are not guaranteed to be stable or be
# compatible across NickelMenu or firmware versions, and may stop working at
# any time. In addition, these options may not take effect without a reboot.
# Unknown options are ignored. If there are multiple declarations of an
# option, only the first one takes effect.
#
# <key> the option name, one of:
# menu_main_15505_label - sets the label used for the NickelMenu button on 4.23.15505+
# menu_main_15505_icon - sets the icon used for the NickelMenu button on 4.23.15505+
# menu_main_15505_icon_active - sets the active icon used for the NickelMenu button on 4.23.15505+
# <val> the option value:
# menu_main_15505_label - the label to use instead of "NickelMenu"
# menu_main_15505_icon - the path passed to QPixmap
# menu_main_15505_icon_active - the path passed to QPixmap
#
# For example, you might have a configuration file named "mystuff" like:
#
# menu_item :main :Show an Error :dbg_error :This is an error message!
@ -175,6 +220,13 @@
# menu_item :browser :Invert Screen :nickel_setting :toggle :invert
# menu_item :browser :Open Pop-Up :nickel_browser :modal
#
# And here are some examples of selection menu substitutions:
#
# menu_item :selection :Run command :cmd_output :500:echo '{1||$}'
# menu_item :selection :Complex example :cmd_output :500:echo '{1|aS|"$}'
# menu_item :selection_search :Search DuckDuckGo :nickel_browser :modal:https://duckduckgo.com/?q={1|S|%}
# menu_item :selection_search :Search TLFi :nickel_browser :modal:https://www.cnrtl.fr/definition/{1|S|%} #menubox,#header,#nav,#footer,td>.box.bottombox{display:none} #wrap{max-width:100%;width:auto;border-width:0} .tab_box a{padding:8px 6px !important;margin-right:0 !important;border:none !important;background:0 0 !important} .tab_box{padding-bottom:8px} a[href*="/proxemie/"],a[href*="/aide/"]{display:none}
#
# If there is an error in the configuration, an item which displays it will be
# added to the main menu. If an internal error occurs, it is written to syslog,
# which can be viewed over telnet or SSH (the username is root) with the command

1
other-conf/nickelmenu/nickel

@ -1 +1,2 @@
menu_item : main : Connect USB : nickel_misc : force_usb_connection
menu_item : main : Pocket : nickel_open : library:pocket

2
src/libadobe.so.yaml

@ -5,4 +5,4 @@ Remove PDF map widget shown during panning:
- Description: Removes the PDF map widget shown during panning and zooming.
- BaseAddress: {Sym: "N3AdobeReader::showMapWidget()"}
- ReplaceBytes: {Offset: 80, FindInstBW: {SymPLTTail: "N3AdobeReader::updatePanningMap()"}, ReplaceInstBW: {SymPLTTail: "N3AdobeReader::hideMapWidget()"}}
- ReplaceBytes: {Offset: 190, FindInstBW: {SymPLTTail: "N3AdobeReader::updatePanningMap()"}, ReplaceInstBW: {SymPLTTail: "N3AdobeReader::hideMapWidget()"}}
- ReplaceBytes: {Offset: 192, FindInstBW: {SymPLTTail: "N3AdobeReader::updatePanningMap()"}, ReplaceInstBW: {SymPLTTail: "N3AdobeReader::hideMapWidget()"}}

189
src/libnickel.so.1.0.0.yaml

@ -164,45 +164,50 @@ Custom font sizes:
the small sizes and fewer of the large sizes.
With this patch enabled you will not be able to select the very large font
sizes, but will be able to make finer adjustment to the smaller sizes.
# Font sizes depend on the device's screen density. Unpatched, the sizes
# increase in steps of 1 from the smallest size up to size 22, then in steps
# of 2 up to size 50, then in steps of 4 up to the largest size:
#
# AuraOne/Forma: 18px - 194px (55 sizes)
# GloHD/ClaraHD/Libra: 14px - 150px (48 sizes)
# AuraHD/H2O: 12px - 150px (50 sizes)
# Glo/Aura: 12px - 122px (43 sizes)
# Touch/Mini: 12px - 90px (35 sizes)
#
# The example replacement values in this patch result in the following ranges,
# with increases in steps of 1 from the smallest size up to size 44, then
# steps of 2 up to size 68, then steps of 4 up to the largest size:
#
# AuraOne/Forma: 18px - 132px (55 sizes)
# GloHD/ClaraHD/Libra: 14px - 108px (53 sizes)
# AuraHD/H2O: 12px - 108px (55 sizes)
# Glo/Aura: 12px - 88px (50 sizes)
# Touch/Mini: 12px - 80px (48 sizes)
# Font sizes depend on the device's screen density. Unpatched, the sizes
# increase in steps of 1 from the smallest size up to size 44, then in steps
# of 2 up to size 68, then in steps of 4 up to the largest size:
#
# Touch/Mini: 8px - 90px (39 steps)
# AuraHD/AuraH2O/Libra2: 8px - 150px (54 steps)
# GloHD/ClaraHD: 10px - 150px (52 steps)
# LibraH2O: 11px - 150px (51 steps)
# AuraOne/Forma/Elipsa/Sage: 14px - 195px (59 steps)
# Aura/Glo/Nia: 8px - 122px (47 steps)
#
# The example replacement values in this patch result in the following ranges,
# with increases in steps of 1 from the smallest size up to size 44, then
# steps of 2 up to size 68, then steps of 4 up to the largest size:
#
# Touch/Mini: 8px - 80px (52 steps)
# AuraHD/AuraH2O/Libra2: 8px - 108px (59 steps)
# GloHD/ClaraHD: 10px - 108px (57 steps)
# LibraH2O: 11px - 108px (56 steps)
# AuraOne/Forma/Elipsa/Sage: 14px - 132px (59 steps)
# Aura/Glo/Nia: 8px - 88px (54 steps)
#
# Note (pgaskin): The device values can be determined with info from
# https://gist.github.com/pgaskin/613b34c23f026f7c39c50ee32f5e167e and
# the Device::is* calls.
#
# This patch was rewritten for 18220 by @shermp.
#
- BaseAddress: "N3FontTypeUtil::fontSizes()"
# Initial font size:
- ReplaceInt: {Offset: 400, Find: 18, Replace: 18} # AuraOne/Forma
- ReplaceInt: {Offset: 36, Find: 14, Replace: 14} # GloHD/ClaraHD/Libra
- ReplaceInt: {Offset: 376, Find: 12, Replace: 12} # Others
- ReplaceInt: {Offset: 362, Find: 8, Replace: 8} # Other devices
- ReplaceInt: {Offset: 358, Find: 11, Replace: 11} # LibraH2O
- ReplaceInt: {Offset: 36, Find: 10, Replace: 10} # ClaraHD/GloHD
- ReplaceInt: {Offset: 390, Find: 14, Replace: 14} # Sage/Forma/AuraOne/Elipsa
# Increment:
- ReplaceInt: {Offset: 76, Find: 21, Replace: 43} # Add font sizes in increments of 1 until this size exceeded}
- ReplaceInt: {Offset: 84, Find: 22, Replace: 44} # Continue from this font size}
- ReplaceInt: {Offset: 244, Find: 49, Replace: 67} # Add font sizes in increments of 2 until this size exceeded}
- ReplaceInt: {Offset: 250, Find: 50, Replace: 68} # Continue from this font size}
- ReplaceInt: {Offset: 78, Find: 21, Replace: 43} # Add font sizes in increments of 1 until this size exceeded
- ReplaceInt: {Offset: 88, Find: 22, Replace: 44} # Continue from this font size
- ReplaceInt: {Offset: 218, Find: 49, Replace: 67} # Add font sizes in increments of 2 until this size exceeded
- ReplaceInt: {Offset: 224, Find: 50, Replace: 68} # Continue from this font size
# Now increment by +4 until final font size:
- ReplaceInt: {Offset: 404, Find: 195, Replace: 132} # AuraOne/Forma
- ReplaceInt: {Offset: 52, Find: 150, Replace: 108} # AuraHD/H2O/GloHD/ClaraHD/Libra
- ReplaceInt: {Offset: 434, Find: 122, Replace: 88} # Glo/Aura
- ReplaceInt: {Offset: 430, Find: 90, Replace: 80} # Touch/Mini
- ReplaceInt: {Offset: 408, Find: 90, Replace: 80} # Other devices
- ReplaceInt: {Offset: 412, Find: 122, Replace: 88} # Aura/Nia/Glo
- ReplaceInt: {Offset: 50, Find: 150, Replace: 108} # GloHD/AuraH2O/LibraH2O/AuraHD/ClaraHD/Libra2
- ReplaceInt: {Offset: 386, Find: 195, Replace: 132} # Sage/Forma/AuraOne/Elipsa
ePub fixed top/bottom margins:
- Enabled: no
@ -317,8 +322,9 @@ Set KePub hyphenation:
will always be turned on, regardless of justification button setting.
(The publisher can still turn hyphenation off/on in the book's stylesheet.)
- ReplaceBytes: {Offset: 0xB8AD96, FindInstBLX: {SymPLT: "QString::operator==(QLatin1String) const"}, ReplaceH: 01 20 01 20} # Alternative 1: Always turn KePub hyphenation on
# - ReplaceBytes: {Offset: 0xB8AD96, FindInstBLX: {SymPLT: "QString::operator==(QLatin1String) const"}, ReplaceH: 00 20 00 20} # Alternative 2: Never turn KePub hyphenation on
# == "justify"
- ReplaceBytes: {Base: "KepubBookReader::pageStyleCss(bool)", Offset: 1432, FindInstBLX: {SymPLT: "QString::operator==(QLatin1String) const"}, ReplaceH: 01 20 01 20} # Alternative 1: Always turn KePub hyphenation on
# - ReplaceBytes: {Base: "KepubBookReader::pageStyleCss(bool)", Offset: 1432, FindInstBLX: {SymPLT: "QString::operator==(QLatin1String) const"}, ReplaceH: 00 20 00 20} # Alternative 2: Never turn KePub hyphenation on
Force user line spacing in KePubs:
- Enabled: no
@ -471,34 +477,6 @@ Un-force link decoration in KePubs:
- ReplaceString: {Offset: 0x27, Find: "b", Replace: "_"} # Disable border-bottom style
- ReplaceString: {Offset: 0x53, Find: "c", Replace: "_"} # Disable color style
KePub stylesheet additions:
- Enabled: no
- Description: Makes room to add some additional CSS to the default KePub stylesheet.
# See replacement CSS below for examples.
- FindBaseAddressString: ".KBHighlighting, .KBSearchResult {"
- ReplaceString: {Offset: 0, Find: ".KBHighlighting, .KBSearchResult { background-color: #C6C6C6 !important; } \t", Replace: ".KBHighlighting,.KBSearchResult{background-color:#C6C6C6!important}.KBSearch", MustMatchLength: yes}
- ReplaceString: {Offset: 76, Find: ".KBSearchResult, .KBAnnotation, .KBHighlighting { font-size: 100% !important; -webkit-text-combine: inherit !important; } \t", Replace: "Result,.KBAnnotation,.KBHighlighting{font-size:100%!important;-webkit-text-combine:inherit!important}.KBAnnotation[writingM", MustMatchLength: yes}
- ReplaceString: {Offset: 199, Find: ".KBAnnotation[writingMode=\"horizontal-tb\"] { border-bottom: 2px solid black !important; } \t", Replace: "ode=\"horizontal-tb\"]{border-bottom:2px solid black!important}.KBAnnotation[writingMode=\"ver", MustMatchLength: yes}
- ReplaceString: {Offset: 290, Find: ".KBAnnotation[writingMode=\"vertical-rl\"] { border-right: 2px solid black !important; } \t", Replace: "tical-rl\"]{border-right:2px solid black!important}.KBAnnotation[writingMode=\"vertical-lr", MustMatchLength: yes}
- ReplaceString: {Offset: 378, Find: ".KBAnnotation[writingMode=\"vertical-lr\"] { border-left: 2px solid black !important; }", Replace: "\"]{border-left:2px solid black!important}/******************************************/", MustMatchLength: yes}
#
# Replacement value: CSS string of exactly 44 characters in length:
#
# Example 1: Make full justification the default:
# - FindReplaceString: {Find: "/******************************************/", Replace: "body{text-align:justify }", MustMatchLength: yes}
#
# Example 2: text-rendering:optimizeSpeed: Disables kerning, but fixes some
# rendering problems that affect fully justified text.
# - FindReplaceString: {Find: "/******************************************/", Replace: "body{text-rendering:optimizeSpeed }", MustMatchLength: yes}
#
# Example 3: text-rendering:optimizeLegibility: Enables ligatures, but causes
# some additional rendering problems for fully justified text.
# - FindReplaceString: {Find: "/******************************************/", Replace: "body{text-rendering:optimizeLegibility }", MustMatchLength: yes}
#
# Example 4: Make KePub font sizes match ePub font sizes: ePubs render with
# 1.5 times the font size of KePubs by default. With this enabled they match.
# - FindReplaceString: {Find: "/******************************************/", Replace: "#book-inner{font-size:1.5em }", MustMatchLength: yes}
Ignore .otf fonts:
- Enabled: no
- Description:
@ -507,29 +485,9 @@ Ignore .otf fonts:
Embedded .otf fonts should continue to work as normal.
- FindReplaceString: {Find: "*.otf", Replace: "_.otf"}
ePub uniform font scale:
- Enabled: no
- Description: |
Unlike the KePub reader, the ePub reader uses a ~50% larger font scale on
dragon (AuraHD/H2O/GloHD/H2O2/Clara/Libra) devices. This patch changes
changes the ePub reader to match the KePub reader in having the same font
scale on all devices.
- FindBaseAddressHex: 00 00 C0 42 00 00 10 43
- ReplaceBytes: {Offset: 6, FindH: 10 43, ReplaceH: C0 42}
Set font scale factor:
- Enabled: no
- Description: |
This patch sets the font scale factor for ePub and KePub readers.
See also `ePub uniform font scale` and `Custom font sizes` patches.
Note: This patch can be at the same time as the others.
# Font scale factor is calculated as (font size slider) / (X+32)
# Original value X=14, so original scale factor is (font size slider) / 46.
# Allowed replacement values for X: 0-15 (smaller X --> larger scale factor)
# Note: vmov.f32 s1, #15.0 before getReadingFontSizeScaleFactor
- ReplaceInt: {Offset: 0x58D63C, Find: 14, Replace: 4} # ePub
- ReplaceInt: {Offset: 0xB8A968, Find: 14, Replace: 4} # KePub
# MISSING: Set font scale factor (this will need a complete rewrite for 18220+
# since the logic has been completely reworked; also note that it may not be
# necessary on certain devices anymore)
# The following patch(es) were made by jackie_w
Dictionary text font-family/font-size/line-height:
@ -620,6 +578,39 @@ Custom navigation menu page number text:
- Enabled: no
- Description: Changes the page number text format in the reading navigation menu
- FindReplaceString: {Find: "Page %1 of %2", Replace: "%1 / %2"}
# The next 2 patches are alternatives. Enable ONE ONLY.
# They have replaced the old patch named 'KePub stylesheet additions'
KePub stylesheet additions - text justify:
- Enabled: no
- PatchGroup: KePub stylesheet additions alternatives
- Description: Make full justification the default in KePubs
- FindBaseAddressString: ".KBSearchResult, .KBAnnotation, .KBHighlighting {"
# *** Don't change anything in the 4 ReplaceString lines below ***
- ReplaceString: {Find: ".KBSearchResult, .KBAnnotation, .KBHighlighting { font-size: 100% !important; -webkit-text-combine: inherit !important; }\n", Replace: ".KBSearchResult,.KBAnnotation,.KBHighlighting{font-size:100%!important;-webkit-text-combine:inherit!important}.KBAnnotatio", MustMatchLength: yes}
- ReplaceString: {Offset: 122, Find: ".KBAnnotation[writingMode=\"horizontal-tb\"] { border-bottom: 2px solid black !important; }\n", Replace: "n[writingMode=\"horizontal-tb\"]{border-bottom:2px solid #000!important}.KBAnnotation[writin", MustMatchLength: yes}
- ReplaceString: {Offset: 212, Find: ".KBAnnotation[writingMode=\"vertical-rl\"] { border-right: 2px solid black !important; }\n", Replace: "gMode=\"vertical-rl\"]{border-right:2px solid #000!important}.KBAnnotation[writingMode=\"v", MustMatchLength: yes}
- ReplaceString: {Offset: 299, Find: ".KBAnnotation[writingMode=\"vertical-lr\"] { border-left: 2px solid black !important; }", Replace: "ertical-lr\"]{border-left:2px solid #000!important}/*********************************/", MustMatchLength: yes}
# *** Don't change anything in the 4 ReplaceString lines above ***
#
- FindReplaceString: {Find: "/*********************************/", Replace: "body{text-align:justify }", MustMatchLength: yes}
KePub stylesheet additions - optimizeSpeed:
- Enabled: no
- PatchGroup: KePub stylesheet additions alternatives
- Description: |
Disables ligatures/kerning, but fixes some rendering problems that affect
fully justified text in KePubs
- FindBaseAddressString: ".KBSearchResult, .KBAnnotation, .KBHighlighting {"
# *** Don't change anything in the 4 ReplaceString lines below ***
- ReplaceString: {Find: ".KBSearchResult, .KBAnnotation, .KBHighlighting { font-size: 100% !important; -webkit-text-combine: inherit !important; }\n", Replace: ".KBSearchResult,.KBAnnotation,.KBHighlighting{font-size:100%!important;-webkit-text-combine:inherit!important}.KBAnnotatio", MustMatchLength: yes}
- ReplaceString: {Offset: 122, Find: ".KBAnnotation[writingMode=\"horizontal-tb\"] { border-bottom: 2px solid black !important; }\n", Replace: "n[writingMode=\"horizontal-tb\"]{border-bottom:2px solid #000!important}.KBAnnotation[writin", MustMatchLength: yes}
- ReplaceString: {Offset: 212, Find: ".KBAnnotation[writingMode=\"vertical-rl\"] { border-right: 2px solid black !important; }\n", Replace: "gMode=\"vertical-rl\"]{border-right:2px solid #000!important}.KBAnnotation[writingMode=\"v", MustMatchLength: yes}
- ReplaceString: {Offset: 299, Find: ".KBAnnotation[writingMode=\"vertical-lr\"] { border-left: 2px solid black !important; }", Replace: "ertical-lr\"]{border-left:2px solid #000!important}/*********************************/", MustMatchLength: yes}
# *** Don't change anything in the 4 ReplaceString lines above ***
#
- FindReplaceString: {Find: "/*********************************/", Replace: "body{text-rendering:optimizeSpeed }", MustMatchLength: yes}
# The following patch(es) are ported from jcn363's patches
Shorten dictionary entry not found message:
@ -845,7 +836,7 @@ Both page turn sides go next:
- Enabled: no
- Description: Make both page turn sides go next in the reader.
# In ReadingView::processTap(TapGesture*) where the page direction is checked:
- BaseAddress: {Sym: "ReadingView::processTap(TapGesture*)", Rel: 402}
- BaseAddress: {Sym: "ReadingView::processTap(TapGesture*)", Rel: 652}
- ReplaceBytes: {Offset: 0, FindInstBLX: {SymPLT: "ReadingView::leftToRightPageProgressDirection() const"}, CheckOnly: true}
# nop the branch for checking if left-to-right (so it always runs the swap of back/forward)
- ReplaceBytes: {Offset: 4, FindH: 18 B9, ReplaceInstNOP: true}
@ -871,11 +862,11 @@ Replace adobe page numbers toggle with invert screen:
screen one.
# Settings page
- BaseAddress: "N3SettingsReadingView::N3SettingsReadingView(QWidget*)"
- ReplaceBytes: {Offset: 876, FindInstBLX: {SymPLT: "ReadingSettings::getShowAdobePageNumbers()"}, ReplaceInstBLX: {SymPLT: "FeatureSettings::invertScreen()"}}
- ReplaceBytes: {Offset: 914, FindInstBLX: {SymPLT: "ReadingSettings::getShowAdobePageNumbers()"}, ReplaceInstBLX: {SymPLT: "FeatureSettings::invertScreen()"}}
# Settings page controller
- BaseAddress: {Sym: "N3SettingsReadingController::showAdobePageNumbersToggled()"}
- ReplaceBytes: {Offset: 62, FindInstBLX: {SymPLT: "ReadingSettings::getShowAdobePageNumbers()"}, ReplaceInstBLX: {SymPLT: "FeatureSettings::invertScreen()"}}
- ReplaceBytes: {Offset: 74, FindInstBLX: {SymPLT: "ReadingSettings::setShowAdobePageNumbers(bool)"}, ReplaceInstBLX: {SymPLT: "FeatureSettings::setInvertScreen(bool)"}}
- ReplaceBytes: {Offset: 74, FindInstBLX: {SymPLT: "ReadingSettings::getShowAdobePageNumbers()"}, ReplaceInstBLX: {SymPLT: "FeatureSettings::invertScreen()"}}
- ReplaceBytes: {Offset: 86, FindInstBLX: {SymPLT: "ReadingSettings::setShowAdobePageNumbers(bool)"}, ReplaceInstBLX: {SymPLT: "FeatureSettings::setInvertScreen(bool)"}}
# Settings page text
- FindReplaceString: {Find: "Show Adobe EPUB page numbers", Replace: "Invert screen"}
@ -910,12 +901,12 @@ Hide browser from beta features:
- Description: Hides the built-in browser from beta features.
- ReplaceBytes:
Base: "N3SettingsExtrasView::N3SettingsExtrasView(QWidget*)"
Offset: 1426
Offset: 1474
FindInstBLX: {SymPLT: "Device::isParentalControlEnabled() const"}
ReplaceH: 4F F0 01 00
- ReplaceBytes:
Base: {Sym: "SelectionMenuController::setupMainOptions()"}
Offset: 396
Offset: 308
FindInstBLX: {SymPLT: "Device::isParentalControlEnabled() const"}
ReplaceH: 4F F0 01 00
@ -995,7 +986,7 @@ Remove line from bottom tab bar:
# Instead of setting the minimum size of the QFrame for the line, hide it.
- ReplaceBytes:
Base: "Ui_MainNavView::setupUi(QWidget*)"
Offset: 322
Offset: 326
FindInstBLX: {SymPLT: "QWidget::setMinimumSize(int, int)"}
ReplaceInstBLX: {SymPLT: "QWidget::hide()"}
@ -1261,13 +1252,13 @@ Allow rotation on all devices:
Unlike only the DeveloperSettings ForceAllowLandscape option, this patch
also makes the rotation icon show on the new reader as well.
# Always return true for ForceAllowLandscape:
- ReplaceBytes: {Offset: 0x7784EE, FindInstBLX: {SymPLT: "QVariant::toBool() const"}, ReplaceH: 4F F0 01 00}
- ReplaceBytes: {Base: "DevSettings::forceAllowLandscape()", Offset: 54, FindInstBLX: {SymPLT: "QVariant::toBool() const"}, ReplaceH: 4F F0 01 00}
# In ReadingMenuView::ReadingMenuView, replace the value of Device::hasOrientationSensor,
# which is passed to a function to hide/show the rotate icon:
- ReplaceBytes: {Offset: 0xBA2BE4, FindInstBLX: {SymPLT: "Device::hasOrientationSensor() const"}, ReplaceH: 4F F0 01 00}
- ReplaceBytes: {Base: "ReadingMenuView::ReadingMenuView(QWidget*)", Offset: 486, FindInstBLX: {SymPLT: "Device::hasOrientationSensor() const"}, ReplaceH: 4F F0 01 00}
# Also fix sizing of popup by doing the same in RotatePopup::RotatePopup, but
# note that this will make the Automatic option show too (and do nothing):
- ReplaceBytes: {Offset: 0xBC03DE, FindInstBLX: {SymPLT: "Device::hasOrientationSensor() const"}, ReplaceH: 4F F0 01 00}
- ReplaceBytes: {Base: "RotatePopup::RotatePopup(QWidget*)", Offset: 190, FindInstBLX: {SymPLT: "Device::hasOrientationSensor() const"}, ReplaceH: 4F F0 01 00}
Don't uppercase header/footer text:
- Enabled: no
@ -1376,6 +1367,10 @@ Enable advanced settings for all fonts:
FindInstBLX: {SymPLT: "N3FontTypeUtil::isMonotypeFont(QString const&)"}
ReplaceH: 4F F0 01 00
# MISSING: ePub uniform font scale (this will need a complete rewrite for 18220+
# since the logic has been completely reworked; also note that it may not be
# necessary on certain devices anymore)
Customize ComfortLight settings:
- Enabled: no
- Description: |
@ -1391,7 +1386,7 @@ Customize ComfortLight settings:
# In an unnamed subroutine two layers into FrontLightPopupController::loadView
# (find it by going back from QTime::addSecs), the times for the dropdown are
# generated into a QVector<QPair<QString, QTime>> with a simple loop.
- BaseAddress: 0xAE4C40 # find the base of the unnamed subroutine with the x-ref to _ZN5QTimeC1Eiiii
- BaseAddress: 0xBAF2C8 # find the base of the unnamed subroutine with the x-ref to _ZN5QTimeC1Eiiii
#
# Change the initial hour / first bedtime dropdown item passed to the QTime
# constructor (mov r1, #21):
@ -1466,10 +1461,10 @@ FeatureSettings - ExportHighlights:
DeveloperSettings - AutoUsbGadget:
- Enabled: no
- Description: Automatically enable USB Storage mode when connected.
- ReplaceBytes: {Offset: 0x77858E, FindInstBLX: {SymPLT: "QVariant::toBool() const"}, ReplaceH: 4F F0 01 00}
- ReplaceBytes: {Base: "DevSettings::autoUsbGadget()", Offset: 54, FindInstBLX: {SymPLT: "QVariant::toBool() const"}, ReplaceH: 4F F0 01 00}
PowerSettings - UnlockEnabled:
- Enabled: no
- Description: Disables/enables the slide to unlock feature.
- ReplaceBytes: {Base: "PowerSettings::getUnlockEnabled()", Offset: 62, FindInstBLX: {SymPLT: "QVariant::toBool() const"}, ReplaceH: 4F F0 00 00} # disable
# - ReplaceBytes: {Base: "PowerSettings::getUnlockEnabled()", Offset: 62, FindInstBLX: {SymPLT: "QVariant::toBool() const"}, ReplaceH: 4F F0 01 00} # enable
- ReplaceBytes: {Base: "PowerSettings::getUnlockEnabled()", Offset: 120, FindInstBLX: {SymPLT: "QVariant::toBool() const"}, ReplaceH: 4F F0 00 00} # disable
# - ReplaceBytes: {Base: "PowerSettings::getUnlockEnabled()", Offset: 120, FindInstBLX: {SymPLT: "QVariant::toBool() const"}, ReplaceH: 4F F0 01 00} # enable

126
src/nickel.yaml

@ -7,7 +7,7 @@ Reduce top/bottom page spacer:
the "Chapter progress" / "Book progress" reading settings options are set to Off.
Spacer height is halved, customise by changing the min-height + max-height
values in the Replace lines below. Affects both ePub and KePub books.
- FindZlib: "MediumVertSpacer"
- FindZlib: "MediumVertSpacer" # default.qss
- ReplaceZlibGroup:
Replacements:
# Touch/Mini: 24px --> 12px
@ -29,7 +29,7 @@ Reduce top/bottom page spacer:
Custom synopsis details line spacing:
- Enabled: no
- Description: Sets the line spacing for Book details synopsis.
- FindZlib: "body[qApp_deviceIsTrilogy=true] {\n line-height: 1.45em;"
- FindZlib: "body[qApp_deviceIsTrilogy=true] {\n line-height: 1.45em;" # qss/BookDetails.qss
- ReplaceZlibGroup:
Replacements:
# Touch/Mini (Trilogy)
@ -43,13 +43,12 @@ Custom synopsis details line spacing:
Custom synopsis font size:
- Enabled: no
- Description: Increase synopsis font size
- FindZlib: "body[qApp_deviceIsTrilogy=true] {\n font-size: 19px;"
- FindZlib: "body[qApp_deviceIsTrilogy=true] {\n font-size: 19px;" # BookDetails.qss
- ReplaceZlibGroup:
Replacements:
- {Find: "font-size: 19px;", Replace: "font-size: 20px;"} # Touch/Mini (Trilogy)
- {Find: "font-size: 23px;", Replace: "font-size: 25px;"} # Glo/Aura/Aura2E (Phoenix)
- {Find: "font-size: 29px;", Replace: "font-size: 32px;"} # AuraHD/H2O (Dragon)
- {Find: "font-size: 32px;", Replace: "font-size: 35px;"} # GloHD/ClaraHD (Alyssum, Nova)
- {Find: "font-size: 23px;", Replace: "font-size: 25px;"} # Glo/Aura/Aura2E/Nia (Phoenix)
- {Find: "font-size: 29px;", Replace: "font-size: 32px;"} # AuraHD/AuraH2O/AuraH202/Clara/Elipsa (Dragon)
- {Find: "font-size: 34px;", Replace: "font-size: 37px;"} # LibraH2O (Storm)
- {Find: "font-size: 37px;", Replace: "font-size: 40px;"} # AuraONE/Forma (Daylight)
@ -57,16 +56,16 @@ Increase home screen cover size:
- Enabled: no
- PatchGroup: Home screen layout tweaks
- Description: Reduces the home screen margins, allowing larger cover images.
- FindZlib: "#row1col2"
- FindZlib: "#row1col2" # HomePageView.qss
- ReplaceZlibGroup:
Replacements:
# Touch/Mini (Trilogy)
- {Find: "qproperty-leftMargin: 32px;", Replace: "qproperty-leftMargin: 16px;"}
- {Find: "qproperty-rightMargin: 32px;", Replace: "qproperty-rightMargin: 16px;"}
# Glo/Aura/Aura2E (Phoenix)
# Glo/Aura/Aura2E/Nia (Phoenix)
- {Find: "qproperty-leftMargin: 40px;", Replace: "qproperty-leftMargin: 16px;"}
- {Find: "qproperty-rightMargin: 40px;", Replace: "qproperty-rightMargin: 16px;"}
# AuraHD/H2O/GloHD/ClaraHD (Dragon)
# AuraHD/AuraH2O/AuraH202/Clara/Elipsa (Dragon)
- {Find: "qproperty-leftMargin: 57px;", Replace: "qproperty-leftMargin: 22px;"}
- {Find: "qproperty-rightMargin: 57px;", Replace: "qproperty-rightMargin: 22px;"}
# AuraOne/Forma (Daylight)
@ -87,17 +86,17 @@ Dictionary pop-up - increase available text area:
fw 4.12.12111, Kobo removed access to the code which could reduce footer size.
fw 4.20.14601 Kobo added new DictionaryViewFooter CSS stream to control footer height again.
# Part 1
- FindZlib: "#InlineDictionaryView"
- FindZlib: "#InlineDictionaryView" # qss/InlineDictionaryView.qss
- ReplaceZlibGroup:
Replacements:
# Part 1a: #dictionary - reduce top/left margins
# Touch/Mini
- Find: "#dictionary[qApp_deviceIsTrilogy=true] {\n margin-top: 20px;\n margin-left: 10px;\n}"
Replace: "#dictionary[qApp_deviceIsTrilogy=true] {\n margin-top: 5px;\n margin-left: 0px;\n}"
# Glo/Aura/Aura2
# Glo/Aura/Aura2/Nia
- Find: "#dictionary[qApp_deviceIsPhoenix=true] {\n margin-top: 20px;\n margin-left: 20px;\n}"
Replace: "#dictionary[qApp_deviceIsPhoenix=true] {\n margin-top: 7px;\n margin-left: 0px;\n}"
# AuraHD/H2O/H2O2/GloHD/ClaraHD
# AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa
- Find: "#dictionary[qApp_deviceIsDragon=true] {\n margin-top: 30px;\n margin-left: 30px;\n}"
Replace: "#dictionary[qApp_deviceIsDragon=true] {\n margin-top: 10px;\n margin-left: 0px;\n}"
# AuraOne/Forma
@ -108,10 +107,10 @@ Dictionary pop-up - increase available text area:
# Touch/Mini
- Find: "#header[qApp_deviceIsTrilogy=true] {\n max-height: 46px;\n min-height: 46px;\n}"
Replace: "#header[qApp_deviceIsTrilogy=true] {\n max-height: 46px;\n min-height: 46px;\n}"
# Glo/Aura/Aura2
# Glo/Aura/Aura2/Nia
- Find: "#header[qApp_deviceIsPhoenix=true] {\n max-height: 60px;\n min-height: 60px;\n}"
Replace: "#header[qApp_deviceIsPhoenix=true] {\n max-height: 50px;\n min-height: 50px;\n}"
# AuraHD/H2O/H2O2/GloHD/ClaraHD/LibraH2O
# AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa
- Find: "#header[qApp_deviceIsDragon=true] {\n max-height: 90px;\n min-height: 90px;\n}"
Replace: "#header[qApp_deviceIsDragon=true] {\n max-height: 70px;\n min-height: 70px;\n}"
# AuraOne/Forma
@ -122,10 +121,10 @@ Dictionary pop-up - increase available text area:
# Touch/Mini
- Find: "#mainContainer[qApp_deviceIsTrilogy=true] {\n qproperty-leftMargin: 12px;\n qproperty-rightMargin: 12px;\n}"
Replace: "#mainContainer[qApp_deviceIsTrilogy=true] {\n qproperty-leftMargin: 6px;\n qproperty-rightMargin: 6px;\n}"
# Glo/Aura/Aura2
# Glo/Aura/Aura2/Nia
- Find: "#mainContainer[qApp_deviceIsPhoenix=true] {\n qproperty-leftMargin: 16px;\n qproperty-rightMargin: 16px;\n}"
Replace: "#mainContainer[qApp_deviceIsPhoenix=true] {\n qproperty-leftMargin: 8px;\n qproperty-rightMargin: 8px;\n}"
# AuraHD/H2O/H2O2/GloHD/ClaraHD
# AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa
- Find: "#mainContainer[qApp_deviceIsDragon=true] {\n qproperty-leftMargin: 22px;\n qproperty-rightMargin: 22px;\n}"
Replace: "#mainContainer[qApp_deviceIsDragon=true] {\n qproperty-leftMargin: 11px;\n qproperty-rightMargin: 11px;\n}"
# AuraOne/Forma
@ -135,18 +134,18 @@ Dictionary pop-up - increase available text area:
- Find: "#mainContainer[qApp_deviceIsStorm=true] {\n qproperty-leftMargin: 25px;\n qproperty-rightMargin: 25px;\n}"
Replace: "#mainContainer[qApp_deviceIsStorm=true] {\n qproperty-leftMargin: 12px;\n qproperty-rightMargin: 12px;\n}"
#
# Part 2: DictionaryViewFooter - Reduce vertical height of footer
# Part 2: DictionaryViewFooter - Reduce vertical height of footer # qss/DictionaryViewFooter.qss
# Touch/Mini
- FindReplaceString:
Find: "DictionaryViewFooter[qApp_deviceIsTrilogy=true] {\n max-height: 46px;\n min-height: 46px;\n}"
Replace: "DictionaryViewFooter[qApp_deviceIsTrilogy=true] {\n max-height: 40px;\n min-height: 40px;\n}"
MustMatchLength: yes
# Glo/Aura/Aura2
# Glo/Aura/Aura2/Nia
- FindReplaceString:
Find: "DictionaryViewFooter[qApp_deviceIsPhoenix=true] {\n max-height: 60px;\n min-height: 60px;\n}"
Replace: "DictionaryViewFooter[qApp_deviceIsPhoenix=true] {\n max-height: 50px;\n min-height: 50px;\n}"
MustMatchLength: yes
# AuraHD/H2O/H2O2/GloHD/ClaraHD/LibraH2O
# AuraHD/AuraH2O/AuraH202/ClaraHD/LibraH20/Elipsa
- FindReplaceString:
Find: "DictionaryViewFooter[qApp_deviceIsDragon=true] {\n max-height: 90px;\n min-height: 90px;\n}"
Replace: "DictionaryViewFooter[qApp_deviceIsDragon=true] {\n max-height: 60px;\n min-height: 60px;\n}"
@ -165,19 +164,19 @@ Increase Book Details synopsis area:
decreasing height of top half (Cover, Title, Author, Series)
- See https://www.mobileread.com/forums/showpost.php?p=3311354&postcount=134
- fw 4.12/4.16 - rewritten by jackie_w to replace oren64's patch
- FindZlib: "#bookInfoWidget"
- FindZlib: "#bookInfoWidget" # qss/BookInfoView.qss
- ReplaceZlibGroup:
Replacements:
# Portrait mode: #bookInfoWidget[isLandscape=false]:
- {Find: "height: 300px;", Replace: "height: 200px;"} #Touch/Mini
- {Find: "height: 390px;", Replace: "height: 230px;"} #Glo/Aura/Aura2
- {Find: "height: 550px;", Replace: "height: 370px;"} #AuraHD/H2O/H2O2/GloHD/ClaraHD
- {Find: "height: 390px;", Replace: "height: 230px;"} #Glo/Aura/Aura2/Nia
- {Find: "height: 550px;", Replace: "height: 370px;"} #AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa
- {Find: "height: 642px;", Replace: "height: 425px;"} #LibraH2O (*untested)
- {Find: "height: 715px;", Replace: "height: 500px;"} #AuraOne/Forma
# Landscape mode: #bookInfoWidget[isLandscape=true]:
- {Find: "height: 210px;", Replace: "height: 200px;"} #Touch/Mini
- {Find: "height: 265px;", Replace: "height: 230px;"} #Glo/Aura/Aura2
- {Find: "height: 420px;", Replace: "height: 370px;"} #AuraHD/H2O/H2O2/GloHD/ClaraHD
- {Find: "height: 265px;", Replace: "height: 230px;"} #Glo/Aura/Aura2/Nia
- {Find: "height: 420px;", Replace: "height: 370px;"} #AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa
- {Find: "height: 490px;", Replace: "height: 425px;"} #LibraH2O (*untested)
- {Find: "height: 540px;", Replace: "height: 500px;"} #AuraOne/Forma
@ -188,17 +187,17 @@ Increase library cover size:
See screenshots - https://www.mobileread.com/forums/showpost.php?p=3241532&postcount=82
fw 4.17 - rewritten by jackie_w to replace oren64's patch
fw 4.24 - updated patch "width" values to maintain aspect ratio of original value
- FindZlib: "#coverPixmapView"
- FindZlib: "#coverPixmapView" # qss/DragonListWidget.qss
- ReplaceZlibGroup:
Replacements:
# coverPixmapView increase cover thumbnail width/height:
# Touch/Mini (Trilogy)
- {Find: "width: 60px;", Replace: "width: 66px;"}
- {Find: "height: 90px;", Replace: "height: 100px;"}
# Glo/Aura/Aura2 (Phoenix)
# Glo/Aura/Aura2/Nia (Phoenix)
- {Find: "width: 70px;", Replace: "width: 82px;"}
- {Find: "height: 110px;", Replace: "height: 130px;"}
# AuraHD/H2O/H2O2/GloHD/ClaraHD (Dragon)
# AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa (Dragon)
- {Find: "width: 108px;", Replace: "width: 122px;"}
- {Find: "height: 168px;", Replace: "height: 190px;"}
# AuraOne/Forma (Daylight)
@ -216,7 +215,7 @@ Custom collection/author header title font:
fw 4.17.13694 rewritten by jackie_w to replace
oren64's patch "Custom font to collection and author titles"
fw 4.23.15505 Author/Series/Collection list headers no longer forced to uppercase
- FindZlib: "#scrollContainer[containerSpacing=true]"
- FindZlib: "#scrollContainer[containerSpacing=true]" # qss/DragonLibraryView.qss
- ReplaceZlibGroup:
Replacements:
# #header #headerTitle Change font-family, font-size
@ -232,7 +231,7 @@ Custom collection/author header title font:
- {Find: "font-size: 16px;", Replace: "font-size: 28px;"}
# Glo/Aura/Aura2/Nia (Phoenix)
- {Find: "font-size: 20px;", Replace: "font-size: 36px;"}
# AuraHD/H2O/H2O2/GloHD/ClaraHD (Dragon)
# AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa (Dragon)
- {Find: "font-size: 28px;", Replace: "font-size: 42px;"}
# LibraH2O (Storm)
- {Find: "font-size: 32px;", Replace: "font-size: 46px;"}
@ -246,7 +245,7 @@ Reduce new header/footer height:
Affects both ePubs and KePubs.
This patch may be of interest to those who used to enable the old
"Custom menubar - reduce height by 33%"
- FindZlib: "ReadingFooter"
- FindZlib: "ReadingFooter" # qss/ReadingFooter.qss
- ReplaceZlibGroup:
# Adjust the Replace values of min-height/max-height as you wish.
# Keep min-height=max-height
@ -255,10 +254,10 @@ Reduce new header/footer height:
# Touch/Mini (Trilogy)
- Find: "ReadingFooter[qApp_deviceIsTrilogy=true] {\n min-height: 56;\n max-height: 56px;\n}"
Replace: "ReadingFooter[qApp_deviceIsTrilogy=true] {\n min-height: 37px;\n max-height: 37px;\n}"
# Glo/Aura/Aura2E (Phoenix)
# Glo/Aura/Aura2/Nia (Phoenix)
- Find: "ReadingFooter[qApp_deviceIsPhoenix=true] {\n min-height: 71px;\n max-height: 71px;\n}"
Replace: "ReadingFooter[qApp_deviceIsPhoenix=true] {\n min-height: 47px;\n max-height: 47px;\n}"
# AuraHD/H2O/GloHD/ClaraHD (Dragon)
# AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa (Dragon)
- Find: "ReadingFooter[qApp_deviceIsDragon=true] {\n min-height: 101px;\n max-height: 101px;\n}"
Replace: "ReadingFooter[qApp_deviceIsDragon=true] {\n min-height: 66px;\n max-height: 66px;\n}"
# AuraOne/Forma (Daylight)
@ -284,7 +283,7 @@ Custom header/footer captions:
N.B: This patch is not suitable for Japanese/Chinese locale users
fw 4.23.15505 No longer possible to customise font-size for GloHD/ClaraHD
separately from AuraHD/H2O.
- FindZlib: "ReadingFooter"
- FindZlib: "ReadingFooter" # qss/ReadingFooter.qss
- ReplaceZlibGroup:
Replacements:
# Part 1. Customise font-family (built-in or sideloaded font)
@ -311,10 +310,10 @@ Custom header/footer captions:
# 2a. Change font-size for models other than Touch/Mini (header & footer simultaneously)
# #caption[newHeader=true] & #caption[newFooter=true]
# Glo/Aura/Aura2E/Nia
# Glo/Aura/Aura2/Nia
- Find: "[qApp_deviceIsPhoenix=true] {\n font-size: 17px;\n}"
Replace: "[qApp_deviceIsPhoenix=true] {\n font-size: 17px;\n}"
# AuraHD/H2O/GloHD/ClaraHD
# AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa
- Find: "[qApp_deviceIsDragon=true] {\n font-size: 25px;\n}"
Replace: "[qApp_deviceIsDragon=true] {\n font-size: 25px;\n}"
# LibraH2O
@ -390,7 +389,7 @@ Custom page navigation scrubber:
https://www.mobileread.com/forums/showpost.php?p=3897174&postcount=3
N.B: This patch is not suitable for Japanese/Chinese locale users
- FindZlib: "#scrubberContainer"
- FindZlib: "#scrubberContainer" # qss/ReadingMenuScrubberView.qss
- ReplaceZlibGroup:
Replacements:
# Part 1. Customise all 3 of these buttons
@ -401,10 +400,10 @@ Custom page navigation scrubber:
# Touch/Mini (Trilogy)
- Find: "[qApp_deviceIsTrilogy=true] {\n font-size: 19px;"
Replace: "[qApp_deviceIsTrilogy=true] {\n font-size: 19px;"
# Glo/Aura/Aura2E (Phoenix)
# Glo/Aura/Aura2/Nia (Phoenix)
- Find: "[qApp_deviceIsPhoenix=true] {\n font-size: 23px;"
Replace: "[qApp_deviceIsPhoenix=true] {\n font-size: 23px;"
# AuraHD/H2O (Dragon)
# AuraHD/AuraH2O/AuraH202/Elipsa (Dragon)
- Find: "[qApp_deviceIsDragon=true] {\n font-size: 29px;"
Replace: "[qApp_deviceIsDragon=true] {\n font-size: 29px;"
# GloHD (Alyssum)
@ -440,10 +439,10 @@ Custom page navigation scrubber:
# Touch/Mini (Trilogy)
- Find: "#page[qApp_deviceIsTrilogy=true] {\n font-size: 17px;"
Replace: "#page[qApp_deviceIsTrilogy=true] {\n font-size: 17px;"
# Glo/Aura/Aura2E (Phoenix)
# Glo/Aura/Aura2/Nia (Phoenix)
- Find: "#page[qApp_deviceIsPhoenix=true] {\n font-size: 22px;"
Replace: "#page[qApp_deviceIsPhoenix=true] {\n font-size: 22px;"
# AuraHD/H2O (Dragon)
# AuraHD/AuraH2O/AuraH202/Elipsa (Dragon)
- Find: "#page[qApp_deviceIsDragon=true] {\n font-size: 26px;"
Replace: "#page[qApp_deviceIsDragon=true] {\n font-size: 26px;"
# GloHD (Alyssum)
@ -470,7 +469,7 @@ Customise Header back button:
- Enabled: no
- Description: |
Customise in-book button (top left corner) for 'Back to Home', 'Back to My Books' etc
- FindZlib: "#ReadingMenuView"
- FindZlib: "#ReadingMenuView" # qss/ReadingMenuView.qss
- ReplaceZlibGroup:
Replacements:
# 'Back to Home' button un-bolded
@ -482,7 +481,7 @@ Series list increase cover thumbnails:
- Description: |
Series list view (not Series cover view). Increase cover thumbnail size.
fw 4.24 - updated patch "width" values to maintain aspect ratio of original value
- FindZlib: "#seriesCoverPack"
- FindZlib: "#seriesCoverPack" # qss/SeriesListWidget.qss
- ReplaceZlibGroup:
Replacements:
# Part 1: #seriesWidgetContainer - Reduce top/bottom margins
@ -491,10 +490,10 @@ Series list increase cover thumbnails:
# Touch/Mini
- {Find: "topMargin: 9px;", Replace: "topMargin: 3px;"}
- {Find: "bottomMargin: 9px;", Replace: "bottomMargin: 0px;"}
# Glo/Aura6"/Aurav2
# Glo/Aura/Aura2/Nia
- {Find: "topMargin: 12px;", Replace: "topMargin: 4px;"}
- {Find: "bottomMargin: 12px;", Replace: "bottomMargin: 0px;"}
# AuraHD/H2O/H2Ov2/GloHD/ClaraHD
# AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa
- {Find: "topMargin: 14px;", Replace: "topMargin: 5px;"}
- {Find: "bottomMargin: 14px;", Replace: "bottomMargin: 0px;"}
# AuraOne/Forma
@ -508,10 +507,10 @@ Series list increase cover thumbnails:
# Touch/Mini
- {Find: "width: 60px;", Replace: "width: 65px;"}
- {Find: "height: 94px;", Replace: "height: 102px;"}
# Glo/Aura6"/Aurav2
# Glo/Aura/Aura2/Nia
- {Find: "width: 70px;", Replace: "width: 83px;"}
- {Find: "height: 115px;", Replace: "height: 137px;"}
# AuraHD/H2O/H2Ov2/GloHD/ClaraHD
# AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa
- {Find: "width: 108px;", Replace: "width: 120px;"}
- {Find: "height: 175px;", Replace: "height: 195px;"}
# AuraOne/Forma
@ -533,7 +532,7 @@ Increase headlines font:
- Description: |
Increase the font-size of the tab header labels in My Books, Activity, Bookstore...
See https://www.mobileread.com/forums/showpost.php?p=3931942&postcount=183
- FindZlib: "#tabContainer > N3TabItem"
- FindZlib: "#tabContainer > N3TabItem" # qss/N3TabWidget.qss
- ReplaceZlib:
Find: "#tabContainer > N3TabItem[qApp_deviceIsTrilogy=true] {\n font-size: 16px;\n}"
Replace: "#tabContainer > N3TabItem[qApp_deviceIsTrilogy=true] {\n font-size: 28px;\n}"
@ -555,22 +554,7 @@ New home screen subtitle custom font:
- Description: |
Increase subtitle font size, font color black. Works best when used
with with patch `New home screen increasing cover size`
- BaseAddress: 0x14C041D # FindZlib: "MetaDataLabel {\n color: #666666;\n qproperty-indent: 0;\n}"
- ReplaceZlib: {Find: "MetaDataLabel {\n color: #666666;\n qproperty-indent: 0;\n}", Replace: "MetaDataLabel {\n color: #000000;\n qproperty-indent: 0;\n}"}
- ReplaceZlib:
Find: "MetaDataLabel[qApp_deviceIsTrilogy=true] {\n font-size: 13px;\n}"
Replace: "MetaDataLabel[qApp_deviceIsTrilogy=true] {\n font-size: 14px;\n}"
- ReplaceZlib:
Find: "MetaDataLabel[qApp_deviceIsPhoenix=true] {\n font-size: 17px;\n}"
Replace: "MetaDataLabel[qApp_deviceIsPhoenix=true] {\n font-size: 18px;\n}"
- ReplaceZlib:
Find: "MetaDataLabel[qApp_deviceIsDragon=true] {\n font-size: 24px;\n}"
Replace: "MetaDataLabel[qApp_deviceIsDragon=true] {\n font-size: 26px;\n}"
- ReplaceZlib:
Find: "MetaDataLabel[qApp_deviceIsDaylight=true] {\n font-size: 31px;\n}"
Replace: "MetaDataLabel[qApp_deviceIsDaylight=true] {\n font-size: 34px;\n}"
# duplicate
- BaseAddress: 0x14CE2B4
- BaseAddress: 0x15C93CF # qss/GenericHomeWidget.qss
- ReplaceZlib: {Find: "MetaDataLabel {\n color: #666666;\n qproperty-indent: 0;\n}", Replace: "MetaDataLabel {\n color: #000000;\n qproperty-indent: 0;\n}"}
- ReplaceZlib:
Find: "MetaDataLabel[qApp_deviceIsTrilogy=true] {\n font-size: 13px;\n}"
@ -588,7 +572,7 @@ New home screen subtitle custom font:
Remove footer (row3) and increase cover size on new home screen:
- Enabled: no
- PatchGroup: Home screen layout tweaks
- FindZlib: "#row1col2"
- FindZlib: "#row1col2" # qss/HomePageView.qss
- ReplaceZlibGroup:
Replacements:
- {Find: "qproperty-leftMargin: 32px;", Replace: "qproperty-leftMargin: 16px;"}
@ -607,7 +591,7 @@ Remove footer (row3) and increase cover size on new home screen:
Remove footer (row3) on new home screen:
- Enabled: no
- PatchGroup: Home screen visibility tweaks
- FindZlib: "#row1col2"
- FindZlib: "#row1col2" # qss/HomePageView.qss
- ReplaceZlib:
Find: "#row1col2 {\n qproperty-visible: false;\n}"
Replace: "#row1col2 {\n qproperty-visible: false;\n}\n#row3 {\n qproperty-visible: false;\n}"
@ -619,7 +603,7 @@ Show all games:
Shows all games in beta features. Since firmware 4.20.14601, this patch is
not needed if you have developer mode enabled (search
devmodeon/devmodeoff).
- FindZlib: "#boggleContainer[devModeOn=false][qApp_deviceIsPika=true]"
- FindZlib: "#boggleContainer[devModeOn=false][qApp_deviceIsPika=true]" # qss/N3SettingsExtrasView.qss
- ReplaceZlib: {Find: "qproperty-visible: false;", Replace: "qproperty-visible: true;"}
Remove forgot pin button from lock screen:
@ -628,11 +612,7 @@ Remove forgot pin button from lock screen:
Removes the Forgot PIN -> Sign Out button from the lock screen.
If this is enabled and you forget your pin, you will need to
hard reset your Kobo.
- BaseAddress: 0x14CE181
- ReplaceZlib:
Find: "#lblForgotPin[qApp_deviceIsDragon=true],\n#lblSignOut[qApp_deviceIsDragon=true] {\n font-size: 26px;\n}"
Replace: "#lblForgotPin,#lblSignOut{qproperty-visible:false;}"
- BaseAddress: 0x14CE4D1
- BaseAddress: 0x15D5D6B # qss/PinCodeInputDialog.qss
- ReplaceZlib:
Find: "#lblForgotPin[qApp_deviceIsDragon=true],\n#lblSignOut[qApp_deviceIsDragon=true] {\n font-size: 26px;\n}"
Replace: "#lblForgotPin,#lblSignOut{qproperty-visible:false;}"
@ -640,7 +620,7 @@ Remove forgot pin button from lock screen:
Increase size of kepub chapter progress chart:
- Enabled: no
- Description: Originally by oren64, rewritten for 4.16.13337 by pgaskin (geek1011).
- FindZlib: "#chapterSizes"
- FindZlib: "#chapterSizes" # qss/ReadingMenuStatsView.qss
- ReplaceZlibGroup:
Replacements:
# Top padding is already set to 15px, 25px, 33px, vertical aligned to middle.
@ -660,7 +640,7 @@ Change TOC level indentation:
Changes the size of indentation for each level in the TOC. This patch
replaces the old "Increase TOC level indentation" patch from firmware
versions before 4.24.15672 (see the note in libnickel.so.1.0.0.yaml).
- FindZlib: "qproperty-indentUnit"
- FindZlib: "qproperty-indentUnit" # qss/N3TableOfContentsWidget.qss
- ReplaceZlibGroup:
Replacements:
# Change the replacement values to your desired width (I've made it half the default width as an example).

Loading…
Cancel
Save