From cf7be9561897b1d35cf66ead6cdcea412edf491f Mon Sep 17 00:00:00 2001 From: Jay Logan Date: Fri, 5 Nov 2021 13:11:29 -0500 Subject: [PATCH] Patches v73, firmware 4.30.18838 --- kobopatch.yaml | 2 +- src/libadobe.so.yaml | 6 +- src/libnickel.so.1.0.0.yaml | 105 ++++++++++++++++------------- src/nickel.yaml | 131 +++++++++++++++--------------------- 4 files changed, 120 insertions(+), 124 deletions(-) diff --git a/kobopatch.yaml b/kobopatch.yaml index c6944b3..c2d837b 100644 --- a/kobopatch.yaml +++ b/kobopatch.yaml @@ -1,5 +1,5 @@ ## Sixthhokage1's kobopatch config -version: 4.28.18220 +version: 4.30.18838 in: src/latest.zip out: out/KoboRoot.tgz log: out/log.txt diff --git a/src/libadobe.so.yaml b/src/libadobe.so.yaml index 290a39b..78af60a 100644 --- a/src/libadobe.so.yaml +++ b/src/libadobe.so.yaml @@ -4,5 +4,7 @@ Remove PDF map widget shown during panning: - Enabled: no - 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: 192, FindInstBW: {SymPLTTail: "N3AdobeReader::updatePanningMap()"}, ReplaceInstBW: {SymPLTTail: "N3AdobeReader::hideMapWidget()"}} + # tail: N3AdobeReader::updatePanningMap() -> N3AdobeReader::hideMapWidget() + # TODO: figure out what broke the plt parsing in kobopatch for libadobe in 18730+ + - ReplaceBytes: {Offset: 80, FindInstBW: 0x1BD1C, ReplaceInstBW: 0x1B08C} + - ReplaceBytes: {Offset: 192, FindInstBW: 0x1BD1C, ReplaceInstBW: 0x1B08C} diff --git a/src/libnickel.so.1.0.0.yaml b/src/libnickel.so.1.0.0.yaml index 4a5afc5..2673509 100644 --- a/src/libnickel.so.1.0.0.yaml +++ b/src/libnickel.so.1.0.0.yaml @@ -194,20 +194,20 @@ Custom font sizes: # - BaseAddress: "N3FontTypeUtil::fontSizes()" # Initial font size: - - 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 + - ReplaceInt: {Offset: 364, Find: 8, Replace: 8} # Other devices + - ReplaceInt: {Offset: 360, Find: 11, Replace: 11} # LibraH2O + - ReplaceInt: {Offset: 36, Find: 10, Replace: 10} # GloHD/ClaraHD + - ReplaceInt: {Offset: 392, Find: 14, Replace: 14} # Forma/AuraOne/Sage/Elipsa # Increment: - 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: 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 + - ReplaceInt: {Offset: 410, Find: 90, Replace: 80} # Other devices + - ReplaceInt: {Offset: 414, Find: 122, Replace: 88} # Aura/Glo/Nia + - ReplaceInt: {Offset: 50, Find: 150, Replace: 108} # LibraH2O/AuraHD/ClaraHD/GloHD/AuraH2O/Libra2 + - ReplaceInt: {Offset: 388, Find: 195, Replace: 132} # Forma/AuraOne/Sage/Elipsa ePub fixed top/bottom margins: - Enabled: no @@ -828,7 +828,7 @@ Both page turn buttons go next: - Description: Make both page turn buttons on the Forma go next in the reader. - ReplaceBytes: Base: "ReadingView::keyPressEvent(QKeyEvent*)" - Offset: 54 + Offset: 82 FindInstBW: {SymPLTTail: "ReadingView::prevPageWithTimer()"} ReplaceInstBW: {SymPLTTail: "ReadingView::nextPageWithTimer()"} @@ -859,7 +859,9 @@ Replace adobe page numbers toggle with invert screen: - Enabled: no - Description: | Replaces the adobe page numbers toggle in reading settings with an invert - screen one. + screen one. Due to recent firmware changes (since 18220, it is set by the + kobo QPA during initialization), it will only take effect after a reboot. + See https://github.com/pgaskin/NickelMenu/issues/111 for more information. # Settings page - BaseAddress: "N3SettingsReadingView::N3SettingsReadingView(QWidget*)" - ReplaceBytes: {Offset: 914, FindInstBLX: {SymPLT: "ReadingSettings::getShowAdobePageNumbers()"}, ReplaceInstBLX: {SymPLT: "FeatureSettings::invertScreen()"}} @@ -901,7 +903,7 @@ Hide browser from beta features: - Description: Hides the built-in browser from beta features. - ReplaceBytes: Base: "N3SettingsExtrasView::N3SettingsExtrasView(QWidget*)" - Offset: 1474 + Offset: 1482 FindInstBLX: {SymPLT: "Device::isParentalControlEnabled() const"} ReplaceH: 4F F0 01 00 - ReplaceBytes: @@ -1038,31 +1040,6 @@ Change Browse Kobo home screen link target - Activity: FindInstBLX: {SymPLT: "GenericHomeWidget::setMetaText(QString)"} # "OverDrive" ReplaceInstNOP: true -Change Browse Kobo home screen link target - Articles: - - Enabled: no - - PatchGroup: Browse Kobo link target - - Description: See the comment above. - - ReplaceBytes: - Base: "BrowseKoboWidget::tapped()" - Offset: 22 - FindInstBW: {SymPLTTail: "DiscoverNavMixin::storefront()"} # Store - ReplaceInstBW: {SymPLTTail: "MoreController::articles()"} # Articles - - ReplaceBytes: - Base: "BrowseKoboWidget::tapped()" - Offset: 32 - FindInstBW: {SymPLTTail: "StoreNavMixin::overDriveFeaturedLists()"} # OverDrive - ReplaceInstBW: {SymPLTTail: "MoreController::articles()"} # Articles - - ReplaceBytes: - Base: "BrowseKoboWidget::BrowseKoboWidget(QWidget*)" - Offset: 196 - FindInstBLX: {SymPLT: "N3DeviceCharm::shopName()"} # "Shop Kobo" or "Walmart" - ReplaceInstBLX: {SymPLT: "N3DeviceCharm::articlesSearchName()"} # "My Articles" - - ReplaceBytes: - Base: "HomePageView::setOverDriveUser(OverDriveUser const&)" - Offset: 114 - FindInstBLX: {SymPLT: "GenericHomeWidget::setMetaText(QString)"} # "OverDrive" - ReplaceInstNOP: true - ### ### Smartlink patches ### @@ -1094,6 +1071,7 @@ Set visible SmartLink: # 16 - ReadingStats - books finished > 0 && hours read rounded to .5 > 0 - READING STATS: You've finished %n books and read for %n hours - reading life -> stats # 17 - SuperPoints - participating in super points && points > 2400 - KOBO SUPER POINTS: You have %0 Super Points to redeem - kobo store # 18 - PocketUser - unread pocket articles > 0 - POCKET: Catch up on the %n article(s) you added recently - library -> pocket + # 19 - Audiobooks - supports audiobooks && audiobooks enabled - AUDIOBOOKS: Get started with Audiobooks on your eReader - kobo store -> audiobooks # - BaseAddress: {Sym: "SmartLinkWidget::showRotationMessage(Device const&)", Rel: 20} - ReplaceBytes: {FindInstBLX: {SymPLT: "ActivityManager::smartLinkGeneralMessage(Device const&)"}, ReplaceH: 4F F0 04 00} # MOV.W r0, #4 @@ -1131,14 +1109,14 @@ Never show Kobo Plus, wishlist, and points SmartLinks: - Description: Removes Kobo Plus, wishlist, and points SmartLinks from the rotation. - BaseAddress: "ActivityManager::smartLinkGeneralMessage(Device const&)" # NOP Kobo Plus (2): - - ReplaceBytes: {Offset: 292, FindH: 02 23, CheckOnly: true} # MOVS r3, #2 - - ReplaceBytes: {Offset: 302, FindInstBLX: {SymPLT: "QVector::append(SmartLinkType const&)"}, ReplaceInstNOP: true} + - ReplaceBytes: {Offset: 286, FindH: 02 23, CheckOnly: true} # MOVS r3, #2 + - ReplaceBytes: {Offset: 296, FindInstBLX: {SymPLT: "QVector::append(SmartLinkType const&)"}, ReplaceInstNOP: true} # NOP wishlist (14): - - ReplaceBytes: {Offset: 266, FindH: 0E 23, CheckOnly: true} # MOVS r3, #14 - - ReplaceBytes: {Offset: 276, FindInstBLX: {SymPLT: "QVector::append(SmartLinkType const&)"}, ReplaceInstNOP: true} + - ReplaceBytes: {Offset: 260, FindH: 0E 23, CheckOnly: true} # MOVS r3, #14 + - ReplaceBytes: {Offset: 270, FindInstBLX: {SymPLT: "QVector::append(SmartLinkType const&)"}, ReplaceInstNOP: true} # NOP super points (17): - - ReplaceBytes: {Offset: 1540, FindH: 11 23, CheckOnly: true} # MOVS r3, #17 - - ReplaceBytes: {Offset: 1552, FindInstBLX: {SymPLT: "QVector::append(SmartLinkType const&)"}, ReplaceInstNOP: true} + - ReplaceBytes: {Offset: 1570, FindH: 11 23, CheckOnly: true} # MOVS r3, #17 + - ReplaceBytes: {Offset: 1582, FindInstBLX: {SymPLT: "QVector::append(SmartLinkType const&)"}, ReplaceInstNOP: true} ### @@ -1255,7 +1233,7 @@ Allow rotation on all devices: - 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: {Base: "ReadingMenuView::ReadingMenuView(QWidget*)", Offset: 486, FindInstBLX: {SymPLT: "Device::hasOrientationSensor() const"}, ReplaceH: 4F F0 01 00} + - ReplaceBytes: {Base: "ReadingMenuView::updateReadingMenu()", Offset: 236, 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: {Base: "RotatePopup::RotatePopup(QWidget*)", Offset: 190, FindInstBLX: {SymPLT: "Device::hasOrientationSensor() const"}, ReplaceH: 4F F0 01 00} @@ -1327,7 +1305,12 @@ Swap reading header/footer: ReplaceH: C0 69 # LDR r0, [r0, #0x1C] - ReplaceBytes: Base: "ReadingView::updatePercentageFooter(QString const&)" - Offset: 158 + Offset: 172 + FindH: C0 69 # LDR r0, [r0, #0x1C] + ReplaceH: 00 69 # LDR r0, [r0, #0x10] + - ReplaceBytes: + Base: "ReadingView::updatePercentageFooter(QString const&)" + Offset: 286 FindH: C0 69 # LDR r0, [r0, #0x1C] ReplaceH: 00 69 # LDR r0, [r0, #0x10] - ReplaceBytes: @@ -1386,7 +1369,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> with a simple loop. - - BaseAddress: 0xBAF2C8 # find the base of the unnamed subroutine with the x-ref to _ZN5QTimeC1Eiiii + - BaseAddress: 0xC104A0 # 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): @@ -1468,3 +1451,35 @@ PowerSettings - UnlockEnabled: - Description: Disables/enables the slide to unlock feature. - 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 +# The following patch(es) were made by sherman + +Unify font sizes: + - Enabled: no + - Description: | + Attempt to unify the font sizes between epub and kepub. Without this patch + epub font sizes can be much larger than kepub at the same size setting. + # From my current understanding, the final font size for epubs is calculated + # as follows: ( font_size / scale_factor ) * DPI, where 'scale_factor' = + # 25.0. It seems RMSDK must be handling DPI elsewhere however, because the + # DPI multiplication here seems to have a detrimental effect, and behaves + # differently on different devices. This patch changes the 'scale_factor' to + # 1.0, and replaces the call to get DPI with a constant multiplier (6.5). + # Note, that the replacement values are limited to 0.25 - 31.0 in 0.25 + # increments. + # + # Refer to https://github.com/pgaskin/kobopatch-patches/issues/96 for more + # information. + # EPUB settings: + - BaseAddress: + Sym: "AdobeStyling::update(QString const&)" + Rel: 5800 # at ReadingSettings::getReadingFontSizeScaleFactor(float, float) + # Negate the scale factor by setting it to 1.0 + - ReplaceBytes: + Offset: -20 + FindH: F3 EE 09 0A # vmov.f32 s1, #25.0 + ReplaceH: F7 EE 00 0A # vmov.f32 s1, #1.0 + # Replace QScreen::logicalDotsPerInchX() with our own multiplier + - ReplaceBytes: + Offset: 26 + FindInstBLX: {SymPLT: "QScreen::logicalDotsPerInchX() const"} + ReplaceH: B1 EE 0A 0B # vmov.f64 d0, #6.5 diff --git a/src/nickel.yaml b/src/nickel.yaml index 345e8aa..9ab74a9 100644 --- a/src/nickel.yaml +++ b/src/nickel.yaml @@ -48,9 +48,9 @@ Custom synopsis font size: Replacements: - {Find: "font-size: 19px;", Replace: "font-size: 20px;"} # Touch/Mini (Trilogy) - {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: 29px;", Replace: "font-size: 32px;"} # AuraHD/AuraH2O/Clara/Elipsa/Libra2 (Dragon) - {Find: "font-size: 34px;", Replace: "font-size: 37px;"} # LibraH2O (Storm) - - {Find: "font-size: 37px;", Replace: "font-size: 40px;"} # AuraONE/Forma (Daylight) + - {Find: "font-size: 37px;", Replace: "font-size: 40px;"} # AuraONE/Forma/Sage (Daylight) Increase home screen cover size: - Enabled: no @@ -65,10 +65,10 @@ Increase home screen cover size: # Glo/Aura/Aura2E/Nia (Phoenix) - {Find: "qproperty-leftMargin: 40px;", Replace: "qproperty-leftMargin: 16px;"} - {Find: "qproperty-rightMargin: 40px;", Replace: "qproperty-rightMargin: 16px;"} - # AuraHD/AuraH2O/AuraH202/Clara/Elipsa (Dragon) + # AuraHD/AuraH2O/Clara/Elipsa/Libra2 (Dragon) - {Find: "qproperty-leftMargin: 57px;", Replace: "qproperty-leftMargin: 22px;"} - {Find: "qproperty-rightMargin: 57px;", Replace: "qproperty-rightMargin: 22px;"} - # AuraOne/Forma (Daylight) + # AuraONE/Forma/Sage (Daylight) - {Find: "qproperty-leftMargin: 74px;", Replace: "qproperty-leftMargin: 29px;"} - {Find: "qproperty-rightMargin: 74px;", Replace: "qproperty-rightMargin: 29px;"} # LibraH2O (Storm) @@ -96,10 +96,10 @@ Dictionary pop-up - increase available text area: # 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/AuraH2O/AuraH202/ClaraHD/Elipsa + # AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa/Libra2 - 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 + # AuraOne/Forma/Sage - Find: "#dictionary[qApp_deviceIsDaylight=true] {\n margin-top: 42px;\n margin-left: 42px;\n}" Replace: "#dictionary[qApp_deviceIsDaylight=true] {\n margin-top: 14px;\n margin-left: 0px;\n}" # @@ -110,10 +110,10 @@ Dictionary pop-up - increase available text area: # 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/AuraH2O/AuraH202/ClaraHD/Elipsa + # AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa/Libra2 - 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 + # AuraOne/Forma/Sage - Find: "#header[qApp_deviceIsDaylight=true] {\n max-height: 120px;\n min-height: 120px;\n}" Replace: "#header[qApp_deviceIsDaylight=true] {\n max-height: 90px;\n min-height: 90px;\n}" # @@ -124,10 +124,10 @@ Dictionary pop-up - increase available text area: # 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/AuraH2O/AuraH202/ClaraHD/Elipsa + # AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa/Libra2 - 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 + # AuraOne/Forma/Sage - Find: "#mainContainer[qApp_deviceIsDaylight=true] {\n qproperty-leftMargin: 28px;\n qproperty-rightMargin: 28px;\n}" Replace: "#mainContainer[qApp_deviceIsDaylight=true] {\n qproperty-leftMargin: 14px;\n qproperty-rightMargin: 14px;\n}" # LibraH2O @@ -145,12 +145,12 @@ Dictionary pop-up - increase available text area: 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/AuraH2O/AuraH202/ClaraHD/LibraH20/Elipsa + # AuraHD/AuraH2O/AuraH202/ClaraHD/LibraH20/Elipsa/Libra2 - 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}" MustMatchLength: yes - # AuraOne/Forma + # AuraOne/Forma/Sage - FindReplaceString: Find: "DictionaryViewFooter[qApp_deviceIsDaylight=true] {\n max-height: 120px;\n min-height: 120px;\n}" Replace: "DictionaryViewFooter[qApp_deviceIsDaylight=true] {\n max-height: 80px;\n min-height: 80px;\n}" @@ -170,15 +170,15 @@ Increase Book Details synopsis area: # Portrait mode: #bookInfoWidget[isLandscape=false]: - {Find: "height: 300px;", Replace: "height: 200px;"} #Touch/Mini - {Find: "height: 390px;", Replace: "height: 230px;"} #Glo/Aura/Aura2/Nia - - {Find: "height: 550px;", Replace: "height: 370px;"} #AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa + - {Find: "height: 550px;", Replace: "height: 370px;"} #AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa/Libra2 - {Find: "height: 642px;", Replace: "height: 425px;"} #LibraH2O (*untested) - - {Find: "height: 715px;", Replace: "height: 500px;"} #AuraOne/Forma + - {Find: "height: 715px;", Replace: "height: 500px;"} #AuraOne/Forma/Sage # Landscape mode: #bookInfoWidget[isLandscape=true]: - {Find: "height: 210px;", Replace: "height: 200px;"} #Touch/Mini - {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 + - {Find: "height: 540px;", Replace: "height: 500px;"} #AuraOne/Forma/Sage Increase library cover size: - Enabled: no @@ -197,10 +197,10 @@ Increase library cover size: # Glo/Aura/Aura2/Nia (Phoenix) - {Find: "width: 70px;", Replace: "width: 82px;"} - {Find: "height: 110px;", Replace: "height: 130px;"} - # AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa (Dragon) + # AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa/Libra2 (Dragon) - {Find: "width: 108px;", Replace: "width: 122px;"} - {Find: "height: 168px;", Replace: "height: 190px;"} - # AuraOne/Forma (Daylight) + # AuraOne/Forma/Sage (Daylight) - {Find: "width: 140px;", Replace: "width: 164px;"} - {Find: "height: 218px;", Replace: "height: 255px;"} # LibraH2O (Storm) @@ -231,11 +231,11 @@ 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/AuraH2O/AuraH202/ClaraHD/Elipsa (Dragon) + # AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa/Libra2 (Dragon) - {Find: "font-size: 28px;", Replace: "font-size: 42px;"} # LibraH2O (Storm) - {Find: "font-size: 32px;", Replace: "font-size: 46px;"} - # AuraOne/Forma (Daylight) + # AuraOne/Forma/Sage (Daylight) - {Find: "font-size: 36px;", Replace: "font-size: 50px;"} Reduce new header/footer height: @@ -257,10 +257,10 @@ Reduce new header/footer height: # 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/AuraH2O/AuraH202/ClaraHD/Elipsa (Dragon) + # AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa/Libra2 (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) + # AuraOne/Forma/Sage (Daylight) - Find: "ReadingFooter[qApp_deviceIsDaylight=true] {\n min-height: 131px;\n max-height: 131px;\n}" Replace: "ReadingFooter[qApp_deviceIsDaylight=true] {\n min-height: 86px;\n max-height: 86px;\n}" # LibraH2O (Storm) @@ -282,13 +282,15 @@ 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. + separately from AuraHD/H2O. + fw 4.29.18730 No longer possible to style header/footer separately, + Touch/Mini not separate anymore - FindZlib: "ReadingFooter" # qss/ReadingFooter.qss - ReplaceZlibGroup: Replacements: # Part 1. Customise font-family (built-in or sideloaded font) - # #caption[newHeader=true] and #caption[newFooter=true] + # #caption # If new font-family contains spaces wrap in 'single quotes', e.g. 'Kobo Nickel' # Un-comment and customise ONLY ONE of the following to change header/footer font-family @@ -301,53 +303,30 @@ Custom header/footer captions: # should avoid the potential "dogear bookmark problem" outlined below in Part 3 of this patch. - # Part 2. - # 2a. Customise font-size for header/footer - # 2b. (optional) Fine-tune footer text position to avoid cutting bottom progressbar - # (optional) Fine-tune header text position to avoid possible shadow from top bezel - # May be useful to those who have also enabled patch 'Reduce new header/footer height' - # and have customised it to aggressively reduce header/footer height. - - # 2a. Change font-size for models other than Touch/Mini (header & footer simultaneously) - # #caption[newHeader=true] & #caption[newFooter=true] + # Part 2. Change font-size + # #caption + # Touch/Mini/Touch2 + - Find: "[qApp_deviceIsTrilogy=true] {\n font-size: 14px;\n}" + Replace: "[qApp_deviceIsTrilogy=true] {\n font-size: 14px;\n}" # Glo/Aura/Aura2/Nia - Find: "[qApp_deviceIsPhoenix=true] {\n font-size: 17px;\n}" Replace: "[qApp_deviceIsPhoenix=true] {\n font-size: 17px;\n}" - # AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa + # AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa/Libra2 - Find: "[qApp_deviceIsDragon=true] {\n font-size: 25px;\n}" Replace: "[qApp_deviceIsDragon=true] {\n font-size: 25px;\n}" # LibraH2O - Find: "[qApp_deviceIsStorm=true] {\n font-size: 29px;\n}" Replace: "[qApp_deviceIsStorm=true] {\n font-size: 29px;\n}" - # AuraOne/Forma + # AuraOne/Forma/Sage - Find: "[qApp_deviceIsDaylight=true] {\n font-size: 32px;\n}" Replace: "[qApp_deviceIsDaylight=true] {\n font-size: 32px;\n}" - - # N.B: If you do not have a Touch/Mini and your header/footer - # positions are exactly as you like them you do not need the - # next 3 Find/Replace pairs. - # Leave them as-is or comment them out entirely and forget about them. - # Don't change the following pair. It exists to split the header/footer styles - # which were merged in 4.19.14123. - - Find: "#caption[newHeader=true][qApp_deviceIsTrilogy=true],\n#caption[newFooter=true][qApp_deviceIsTrilogy=true] {\n font-size: 14px;\n}" - Replace: "#caption[newHeader=true][qApp_deviceIsTrilogy=true] {\n font-size: 14px;\n}\n#caption[newFooter=true][qApp_deviceIsTrilogy=true] {\n font-size: 14px;\n}" + # 2a. All models (optional): Fine-tune footer position by adjusting margin-top/margin-bottom value + # A negative margin-top/margin-bottom (e.g. -10px) moves the footer/bottom text slightly upwards + # further from the bottom bezel/progressbar, closer to the page content. + - Find: "#caption[qApp_deviceIsTrilogy=true] {\n font-size: 14px;\n}" + Replace: "#caption { font-size: 14px; margin-top: 0; }" # change margin-top/margin-bottom - # 2a. Touch/Mini users only: Adjust footer font-size as required. - # 2b. All models (optional): Fine-tune footer position by adjusting margin-top value - # A negative margin-top (e.g -10px) moves the footer text slightly upwards - # further from the bottom bezel/progressbar, closer to the page content - - Find: "#caption[newFooter=true][qApp_deviceIsTrilogy=true] {\n font-size: 14px;\n}" - Replace: "#caption[newFooter=true] {\n font-size: 14px; margin-top: 0px;}" - - # 2a. Touch/Mini users only: Adjust header font-size as required. - # 2b. All models (optional): Fine-tune header position by adjusting margin-bottom value. - # A negative margin-bottom (e.g -10px) moves the header text slightly downwards - # further from the top bezel, closer to the page content - - Find: "#caption[newHeader=true][qApp_deviceIsTrilogy=true] {\n font-size: 14px;\n}" - Replace: "#caption[newHeader=true] {\n font-size: 14px; margin-bottom: 0px;}" - - # Part 3. Increase the width of header/footer captions by reducing the width # of the pageturn tap zones in the footer's left/right corners # N.B: @@ -363,24 +342,24 @@ Custom header/footer captions: # the "dogear" problem. # # Customise one or more of the 3 Replace values below as required - # Glo/Aura/Aura2E/Nia needs default value 64. + # Touch/Mini/Touch2/Glo/Aura/Aura2E/Nia needs default value 64. # Touch/Mini could be reduced to 57 with no ill effects - {Find: "footerMargin: 105;", Replace: "footerMargin:64;"} # LibraH20 needs default value 116. - # AuraHD/H2O/H2Ov2/GloHD/ClaraHD could be reduced to 102 with no ill effects + # AuraHD/H2O/H2Ov2/GloHD/ClaraHD/Libra2 could be reduced to 102 with no ill effects - {Find: "footerMargin: 170;", Replace: "footerMargin:116;"} - # AuraOne/Forma + # AuraOne/Forma/Sage - {Find: "footerMargin: 221;", Replace: "footerMargin:133;"} # Don't change anything below. It exists to free up some space for # your changes above by removing Japanese/Chinese-specific CSS code blocks # so that kobopatch will run without giving some kind of 'too long' error message. - - {Find: "#caption[newHeader=true][localeName=\"ja\"],\n#caption[newFooter=true][localeName=\"ja\"] {\n font-family: Sans-SerifJP, sans-serif;\n font-style: normal;\n}\n", Replace: "\n"} - - {Find: "#caption[newHeader=true][localeName=\"zh\"],\n#caption[newFooter=true][localeName=\"zh\"] {\n font-family: Sans-SerifZH-Simplified, sans-serif;\n font-style: normal;\n}\n", Replace: "\n"} - - {Find: "#caption[newHeader=true][localeName=\"zh-HK\"],\n#caption[newFooter=true][localeName=\"zh-HK\"] {\n font-family: Sans-SerifZH-Traditional, sans-serif;\n font-style: normal;\n}\n", Replace: "\n"} - - {Find: "#caption[newHeader=true][localeName=\"zh-TW\"],\n#caption[newFooter=true][localeName=\"zh-TW\"] {\n font-family: Sans-SerifZH-Traditional, sans-serif;\n font-style: normal;\n}\n", Replace: "\n"} + - {Find: "#caption[localeName=\"ja\"] {\n font-family: Sans-SerifJP, sans-serif;\n font-style: normal;\n}\n", Replace: "\n"} + - {Find: "#caption[localeName=\"zh\"] {\n font-family: Sans-SerifZH-Simplified, sans-serif;\n font-style: normal;\n}\n", Replace: "\n"} + - {Find: "#caption[localeName=\"zh-HK\"] {\n font-family: Sans-SerifZH-Traditional, sans-serif;\n font-style: normal;\n}\n", Replace: "\n"} + - {Find: "#caption[localeName=\"zh-TW\"] {\n font-family: Sans-SerifZH-Traditional, sans-serif;\n font-style: normal;\n}\n", Replace: "\n"} Custom page navigation scrubber: - Enabled: no @@ -403,7 +382,7 @@ Custom page navigation scrubber: # Glo/Aura/Aura2/Nia (Phoenix) - Find: "[qApp_deviceIsPhoenix=true] {\n font-size: 23px;" Replace: "[qApp_deviceIsPhoenix=true] {\n font-size: 23px;" - # AuraHD/AuraH2O/AuraH202/Elipsa (Dragon) + # AuraHD/AuraH2O/AuraH202/Elipsa/Libra2 (Dragon) - Find: "[qApp_deviceIsDragon=true] {\n font-size: 29px;" Replace: "[qApp_deviceIsDragon=true] {\n font-size: 29px;" # GloHD (Alyssum) @@ -415,7 +394,7 @@ Custom page navigation scrubber: # LibraH2O (Storm) - Find: "[qApp_deviceIsStorm=true] {\n font-size: 34px;" Replace: "[qApp_deviceIsStorm=true] {\n font-size: 34px;" - # AuraOne/Forma (Daylight) + # AuraOne/Forma/Sage (Daylight) - Find: "[qApp_deviceIsDaylight=true] {\n font-size: 37px;" Replace: "[qApp_deviceIsDaylight=true] {\n font-size: 37px;" @@ -442,7 +421,7 @@ Custom page navigation scrubber: # Glo/Aura/Aura2/Nia (Phoenix) - Find: "#page[qApp_deviceIsPhoenix=true] {\n font-size: 22px;" Replace: "#page[qApp_deviceIsPhoenix=true] {\n font-size: 22px;" - # AuraHD/AuraH2O/AuraH202/Elipsa (Dragon) + # AuraHD/AuraH2O/AuraH202/Elipsa/Libra2 (Dragon) - Find: "#page[qApp_deviceIsDragon=true] {\n font-size: 26px;" Replace: "#page[qApp_deviceIsDragon=true] {\n font-size: 26px;" # GloHD (Alyssum) @@ -454,7 +433,7 @@ Custom page navigation scrubber: # LibraH2O (Storm) - Find: "#page[qApp_deviceIsStorm=true] {\n font-size: 30px;" Replace: "#page[qApp_deviceIsStorm=true] {\n font-size: 30px;" - # AuraOne/Forma (Daylight) + # AuraOne/Forma/Sage (Daylight) - Find: "#page[qApp_deviceIsDaylight=true] {\n font-size: 34px;" Replace: "#page[qApp_deviceIsDaylight=true] {\n font-size: 34px;" @@ -493,10 +472,10 @@ Series list increase cover thumbnails: # Glo/Aura/Aura2/Nia - {Find: "topMargin: 12px;", Replace: "topMargin: 4px;"} - {Find: "bottomMargin: 12px;", Replace: "bottomMargin: 0px;"} - # AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa + # AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa/Libra2 - {Find: "topMargin: 14px;", Replace: "topMargin: 5px;"} - {Find: "bottomMargin: 14px;", Replace: "bottomMargin: 0px;"} - # AuraOne/Forma + # AuraOne/Forma/Sage - {Find: "topMargin: 21px;", Replace: "topMargin: 7px;"} - {Find: "bottomMargin: 21px;", Replace: "bottomMargin: 0px;"} # LibraH2O @@ -510,10 +489,10 @@ Series list increase cover thumbnails: # Glo/Aura/Aura2/Nia - {Find: "width: 70px;", Replace: "width: 83px;"} - {Find: "height: 115px;", Replace: "height: 137px;"} - # AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa + # AuraHD/AuraH2O/AuraH202/ClaraHD/Elipsa/Libra2 - {Find: "width: 108px;", Replace: "width: 120px;"} - {Find: "height: 175px;", Replace: "height: 195px;"} - # AuraOne/Forma + # AuraOne/Forma/Sage - {Find: "width: 140px;", Replace: "width: 164px;"} - {Find: "height: 222px;", Replace: "height: 260px;"} # LibraH2O @@ -554,7 +533,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: 0x15C93CF # qss/GenericHomeWidget.qss + - BaseAddress: 0x168120B # 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}" @@ -612,7 +591,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: 0x15D5D6B # qss/PinCodeInputDialog.qss + - BaseAddress: 0x1683BDA # 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;}" @@ -620,7 +599,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" # qss/ReadingMenuStatsView.qss + - BaseAddress: 0x167D310 # qss/ReadingMenuStatsView.qss - ReplaceZlibGroup: Replacements: # Top padding is already set to 15px, 25px, 33px, vertical aligned to middle.