Skip to content

Text editor: rotate#12658

Merged
hius07 merged 28 commits into
koreader:masterfrom
hius07:text-editor-rotate
Oct 29, 2024
Merged

Text editor: rotate#12658
hius07 merged 28 commits into
koreader:masterfrom
hius07:text-editor-rotate

Conversation

@hius07

@hius07 hius07 commented Oct 20, 2024

Copy link
Copy Markdown
Member

1

Closes #12622.


This change is Reviewable

@hius07 hius07 added the Plugin label Oct 20, 2024
@hius07

hius07 commented Oct 20, 2024

Copy link
Copy Markdown
Member Author

It should be tested on a gyro device. @mergen3107 can you help?
Text editor doesn't rotate automatically, but FM in the background does (?), so what's happening on closing the Text editor?
Or should we add an event handler here too (like we did in History etc)?

@mergen3107

Copy link
Copy Markdown
Contributor

@hius07
I applied the patch and quickly tested.

  1. While in D ("upside down") orientation, opened Text Editor from Book (or FM, results are the same).
  2. Rotated by 90 deg clockwise (third button). Text editor rotated.
  3. Exited - Book/FM was still in the same D orientation.

This is with unchecked Keep rotation across views

@mergen3107

Copy link
Copy Markdown
Contributor

When I go back to Text Editor, it is again in un-rotated state (D).

@mergen3107

Copy link
Copy Markdown
Contributor

Is this what you wanted to test, or anything else?

@mergen3107

Copy link
Copy Markdown
Contributor

While in Text Editor, I rotated Kindle physically by 90 deg.
Text Editor did not rotate.
Exited from it, and FM (with top menu still open where I opened a file) is still open and did not rotate neither.

@mergen3107

Copy link
Copy Markdown
Contributor

I think, it would be much more handy to have Text Editor rotate by gyro, the same way as History. This (I think) should apply to all windows that can rotate. This will make it consistent in terms of UX

@hius07

hius07 commented Oct 20, 2024

Copy link
Copy Markdown
Member Author

Thanks, manual rotation works as expected.
I've added gyro support, can you try?
main.lua.txt

@mergen3107

Copy link
Copy Markdown
Contributor

@hius07
I applied this new diff.
Gyro rotation doesn't rotate Text Editor.

@hius07

hius07 commented Oct 20, 2024

Copy link
Copy Markdown
Member Author

One more try please.
main.lua.txt

@mergen3107

Copy link
Copy Markdown
Contributor

Nope, doesn't work neither.

I tried doing logger.dbg inside this function, and it doesn't show up at all.
So this event is not firing up

@mergen3107

Copy link
Copy Markdown
Contributor

Is rotation passed to the Text Editor instance correctly?

@mergen3107

Copy link
Copy Markdown
Contributor

Sorry, I take this back:

10/20/24-11:58:45 DEBUG TEXTEDITOR: rotation =  2 

2 is my current rotation (D - upside down).

However, it doesn't register when I rotate it to other ones while in Text Editor

@mergen3107

Copy link
Copy Markdown
Contributor

Sorry again :D
The log above was when I tried previous iteration.

Now I don't see it at all

@Commodore64user

Copy link
Copy Markdown
Member

I wish you could add Menu key event to it.

@hius07

hius07 commented Oct 21, 2024

Copy link
Copy Markdown
Member Author

@mergen3107 thanks for testing, now it should work (tested with the httpInspector).

@hius07

hius07 commented Oct 21, 2024

Copy link
Copy Markdown
Member Author

Please note that if you have rotated TE manually, after closing TE the file manager remains in non-rotated orientation.
If you want FM to follow the TE rotation, rotate the device.

@mergen3107

Copy link
Copy Markdown
Contributor

@hius07
It did work really well:

  1. Gyro rotation in TE worked
  2. However, there is top menu draw over TE, so part of the TE text is not visible.
  3. Button in the top left corner works.
  4. If I use to rotate, the rotation window is still drawn, but doesn't work in TE (until I tap in the corner again).
  5. However, once I closed TE, I saw book page (where I was when launched TE), then Top Menu, then little window with rotations. That little window was also dismissible when I tapped outside. Also, top menu was also dismissible.

So it seems like layers of what is rendered and what is interactable got mismatched. See screenshots and logs (don't know if they help):
crash_TE.txt
Reader_2024-10-21_133943
Reader_2024-10-21_133949

@hius07

hius07 commented Oct 21, 2024

Copy link
Copy Markdown
Member Author

Have you applied changes to all 4 files? I cannot reproduce the top menu over the Text editor.

@mergen3107

Copy link
Copy Markdown
Contributor

@hius07
Thanks! Tested, works OK.

However, my observations are following:

  1. Rotating with gyro rotates both TE and Reader.
  2. Rotating by hand only rotates TE.

@hius07

hius07 commented Oct 25, 2024

Copy link
Copy Markdown
Member Author

I tested as follows: the device is 0 degrees, open reader (portrait mode), open TE menu, open any file in TE, rotate the device 90 - TE is rotated. Close TE - the reader is not rotated (still portrait mode) and the menu is still opened.

@mergen3107

Copy link
Copy Markdown
Contributor

Yes, this is true for me as well, but only for manual rotation.

@hius07

hius07 commented Oct 25, 2024

Copy link
Copy Markdown
Member Author

What do you see if you repeat my steps?

@mergen3107

Copy link
Copy Markdown
Contributor

If I do it with gyro, everything is the same, except that Reader with menu is rotate the same as TE.

@mergen3107

Copy link
Copy Markdown
Contributor

I rotate by 180 degrees, because I use that setting to Lock auto rotation to current orientation.

@hius07

hius07 commented Oct 25, 2024

Copy link
Copy Markdown
Member Author

Lock auto rotation to current orientation.

Can you uncheck this setting and rotate the device 90 with opened TE?

@mergen3107

Copy link
Copy Markdown
Contributor

OK, with this setting unchecked, it behaves as you describe: gyro only rotates TE (90 or 180).

@hius07

hius07 commented Oct 25, 2024

Copy link
Copy Markdown
Member Author

Thanks! I do not have a gyro device and do not have this setting. I'll check out the codepath to understand how it works.

@hius07

hius07 commented Oct 25, 2024

Copy link
Copy Markdown
Member Author

if self.device:isGSensorLocked() then
local matching_orientation = bit.band(rotation, 1) == bit.band(old_rotation, 1)
if rotation and rotation ~= old_rotation and matching_orientation then
-- Cheaper than a full SetRotationMode event, as we don't need to re-layout anything.
self.device.screen:setRotationMode(rotation)
UIManager:onRotation()
end
else
if rotation and rotation ~= old_rotation then
-- NOTE: We do *NOT* send a broadcast manually, and instead rely on the main loop's sendEvent:
-- this ensures that only widgets that actually know how to handle a rotation will do so ;).
return Event:new("SetRotationMode", rotation)
end
end

With this setting activated there is no rotation event, but screen rotation and repainting.
I'm afraid separating the upper widget (Text editor) from all the underlying stuff would be rather tricky. Is it worth? @NiLuJe

@NiLuJe

NiLuJe commented Oct 25, 2024

Copy link
Copy Markdown
Member

Yeah, I'll try to take a look tomorrow, can't quite muster the brainpower to grok what kind of interactions y'all are talking about here on a Friday night ;p.

But, yes, the gyro orientation lock essentially just swaps the rotation mode and refreshes the full widget stack, no events involved.

@hius07

hius07 commented Oct 25, 2024

Copy link
Copy Markdown
Member Author

Actually, I do not think it's a bothering behavior.
Text editor rotation is useful to see long lines in the landscape mode, and if a user has disabled this orientation, and rotates the device by 180, it means maybe he wants just to change the hold, and it's okay to rotate the Text editor and all the layers under it.
And manual rotation can help in any case.

@hius07

hius07 commented Oct 26, 2024

Copy link
Copy Markdown
Member Author

TL;DR I believe it's good now.

@hius07

hius07 commented Oct 26, 2024

Copy link
Copy Markdown
Member Author

Lock auto rotation to current orientation.

BTW, @mergen3107 having this setting enabled you cannot use Profiles auto-exec on rotation.

@mergen3107

Copy link
Copy Markdown
Contributor

Thanks! I haven't noticed it yet, because I stayed in Portrait/Portrait for a while.

Having it unchecked is tough (as I described in another close ticket recently)

I guess I'll revert to my manual complex rotation profiles :D

@mergen3107

Copy link
Copy Markdown
Contributor

Having it unchecked is tough (as I described in another close ticket recently)

#12666

@mergen3107

Copy link
Copy Markdown
Contributor

Oh, wait, disregard my comment above :D

Yes, I won't be able to use auto profiles because I locked 90 deg rotations.

I left auto rotation profiles set up and now I just use another profiles to just rotate by 90, and it works.

All good!

the module

Cleaning up the handlers and the dead code will have to wait for a
dedicated PR (ideally, post-release, as I don't really trust any of
these things ;p).

@NiLuJe NiLuJe left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 10 of 10 files at r1, all commit messages.
Reviewable status: :shipit: complete! all files reviewed, all discussions resolved (waiting on @hius07)

@hius07 hius07 merged commit 97a7ebe into koreader:master Oct 29, 2024
@hius07 hius07 deleted the text-editor-rotate branch October 29, 2024 18:49
@hius07 hius07 added this to the 2024.10 milestone Oct 29, 2024

@NiLuJe NiLuJe left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 5 of 5 files at r2, all commit messages.
Reviewable status: :shipit: complete! all files reviewed, all discussions resolved

@poire-z

poire-z commented Nov 6, 2024

Copy link
Copy Markdown
Contributor

(Just mentionning this, not requesting any change.
Tried this today for the first time, and hitting one of these 90° buttons, and anticipating unconsciously how I expected the rotation to happen by turning my device, I got the text editor upside down :)
We had some talk before about these arrows image that we used to use in the bottom menu, and there are 2 ways to interpret them - it's either the device that is to be rotated that way by the user, or it's the buffer that is rotated -, and @NiLuJe ended up replacing them with out current bottom icons showing the device and the expected rotation : image without ambiguity.)

@hius07

hius07 commented Nov 7, 2024

Copy link
Copy Markdown
Member Author

The menu rotation buttons in TE work in the same way as in the FM Rotation menu.
And the upper 90 button works in the same way as the leftmost Reader bottom menu button.
Looks like consistent, isn't it?

@poire-z

poire-z commented Nov 7, 2024

Copy link
Copy Markdown
Contributor

Kudos for the consistency :)
(I was just mentionning that, for me who have ever only used the bottom menu ones for the last 3 years, and only now tried again these curvy arrows, I was hit by the same ambiguity as I had been before.)

Commodore64user pushed a commit to Commodore64user/KOReader_fork that referenced this pull request Nov 13, 2024
wbstx added a commit to wbstx/koreader that referenced this pull request Nov 29, 2024
KOReader 2024.11 "Slang"

![koreader-2024-11-slangie](https://github.com/user-attachments/assets/cb9e68bf-aa0f-47c7-a093-46fbf8bb19c3)

Some of you on Android may have had dictionary issues. That should be fixed now.

Connecting to Wi-Fi should be more reliable on platforms where we manage it ourselves, most notably Kobo (koreader/lj-wpaclient#11).

Color is now supported when reflowing (koreader#12085).

This month's logo was contributed by @Sonnenfee

We'd like to thank all contributors for their efforts. Some highlights since the previous release include:

* Certain network features will now work in Flatpak (<flathub/rocks.koreader.KOReader#52>) @kii-chan-reloaded
* 'Use left and right keys for page turning' option added (koreader#12174) @Commodore64user
* Text editor: enhancement (koreader#12176) @hius07
  (1) Speed up adding/deleting chars (by avoiding a call of expensive splitToChars), noticeable on big files.
  (2) Indicate select mode: wider cursor.
* Annotations: more fixes (koreader#12181) @hius07
  (1) Allows annotations with equal datetime fields.
  (2) Allows page bookmarks with equal page numbers.
* kopt: color support (koreader#12085) @benoit-pierre
* bump base (updated build system) & fix macOS CI (koreader#12187) @benoit-pierre
* AltStatusBar/Footer: add the read timer value (koreader#12002) @zwim
* bump translations (koreader#12193) @pazos
* CRE call cache: don't wrap setViewMode (koreader#12194) @poire-z
* bump crengine: various fixes and optimizations (koreader#12200) @poire-z
* Add author option for alt status bar (koreader/crengine#575) (koreader#12197) @trash-pandy
* Page turns: invert vertical tap zones (koreader#12195) @hius07
* Annotations: pageno honors reference pages and hidden flows (koreader#12214) @hius07
* ToggleSwitch: fix long-press (koreader#12215) @hius07
* SDL: Return true in NetworkMgr:isConnected on !hasWifiToggle platforms (koreader#12217) @NiLuJe
* Kobo: Refactor various aspects of the Kaleido/MTK support (koreader#12221) @NiLuJe
* ReaderAnnotation: fix doesMatch func (koreader#12231) @hius07
* bump base (koreader#12241) @benoit-pierre
* NetworkMgr: Attempt to handle wpa_supplicant rescans better (koreader#12236) @NiLuJe
* miscellaneous build system changes (koreader#12242) @benoit-pierre
* make: handle old build data directory (koreader#12259) @benoit-pierre
* ReaderFooter: improve (koreader#12243) @hius07
* Annotations: fix exporting (koreader#12261) @hius07
* make: install missing `cr3.css`… (koreader#12262) @benoit-pierre
* [fix] NetworkMgr: apply HTTP proxy setting on startup (koreader#12260) @Frenzie
* Kobo: Track frontlight state more accurately on suspend/resume (koreader#12256) @NiLuJe
* Make W-Fi scan more reliable (koreader#12265, koreader/lj-wpaclient#11) @NiLuJe
* ReaderAnnotation: fix doesMatch func 2 (koreader#12270) @hius07
* make: fix android update sdcv (koreader#12275) @benoit-pierre
* [plugin] Reader footer: check if header resp. footer are available (koreader#12264) @zwim
* ReadHistory: On remove, trust the index from FileManagerHistory if possible (koreader#12253) @NiLuJe
* ReaderUI: add `seamless` argument to switchDocument (koreader#12290) @ziz57
* Fix early unhighlight after Add to vocab builder (koreader#12288) @poire-z
* [CoverBrowser.MosaicMenu] Increase the thickness of the mosaic’s focus underline (koreader#12189) @Commodore64user
* doc: update building documentation (koreader#12295) @benoit-pierre
* NetworkMgr: fix debug trace (koreader#12297) @benoit-pierre
* Panel zoom: Properly handle `renderPage()` not rendering the whole page (koreader#12296) @fbriere
* PowerD: Keep track of frontlight state change by interactive callers for suspend/resume purposes (koreader#12283) @NiLuJe
* InputDialog and MultiInputDialog: improve enter and edit callback handling, and implement addWidget (koreader#12289) @ziz57
* ReaderSearch: "All text" improve (koreader#12287) @hius07
* Show/Hide Virtual keyboard and more keyboard shortcuts (koreader#12162) @Commodore64user
* bump base; mostly thirdparty bumps (koreader#12311) @benoit-pierre
* Document: Do not cache panel-zoom tiles to disk and fix their caching and rendering (koreader#12303) @NiLuJe
* Disable the legacy ReaderRotation module (koreader#12309) @NiLuJe
* bump luajit (koreader#12317) @benoit-pierre
* [AutoWarmth] Delay front light actions after resume (koreader#12315) @zwim
* Allow numbers in measure text: fixes a crash in table of contents when debugging on (koreader#12310) @zwim
* ReaderFooter: Add page-turn item (koreader#12249) @Commodore64user
* luajit launcher: out of tree build + don't rebuild luajit (koreader#12285) @benoit-pierre
* BookInfo: rating, review (koreader#12313) @hius07
* fix missing android APK asset (koreader#12333) @benoit-pierre
* ImageWidget: Don't attempt to pan if we haven't rendered the bb yet (koreader#12331) @NiLuJe
* OTM: Unbreak koreader#11999  (koreader#12337) @NiLuJe
* Kobo: Refactor suspend in order to be able to catch input events sent during the 2s window of ntx madness (koreader#12330) @NiLuJe
* [Menu] Remove title bar buttons from layout on hasSymKey or hasScreenKB (koreader#12328) @Commodore64user
* [doc] Build: update Android instructions to openjdk-17-jdk (koreader#12345) @Frenzie
* Support 'Ctrl' shortcuts on hasKeyboard (koreader#12347) @Commodore64user
* Annotations: fix page numbers (koreader#12324) @hius07
* Bug Fix: DPad conflict on Kindle Keyboard (koreader#12341) @Commodore64user
* Nit: Make some cache keys prettier (koreader#12354) @NiLuJe
* Dispatcher: minor wording fixes (koreader#12356) @hius07
* kodev rework (koreader#12338) @benoit-pierre
* czmq & libzmq: update to 4.2.1 & 4.3.5 respectively (koreader#12350) @benoit-pierre
* [TextViewer] Add hamburger menu to FocusManager and Menu key (koreader#12365) @Commodore64user
* ci: fix test / coverage (koreader#12367) @benoit-pierre
* A couple of tiny fixes (koreader#12359) @NiLuJe
* android: tweak update rule (koreader#12370) @benoit-pierre
* doc: update Android build instructions (koreader#12368) @benoit-pierre
* Display menu preview of italic-only fonts (koreader#12351) @charrarr
* ReaderStatus, Book status widget: cleanup (koreader#12343) @hius07
* ci/macos: fix homebrew packages install (koreader#12382) @benoit-pierre
* Fix terminal broken cursor and backspace (koreader#12375) @zwim
* Screensaver: add option to rotate to fit screen (koreader#12366) @charrarr
* Minor keyboard corrections (koreader#12372) @Commodore64user
* Touch menu: always go up to correct parent page (koreader#12378) @hius07
* Collections: fix context menu (koreader#12383) @hius07
* PDF: no "Contrast set to" notification on opening (koreader#12391) @hius07
* Closing Bookmark details dialog with X should also refresh list entry (koreader#12390) @fbriere
* Add numerical key_codes to event_map on kindle 3 (koreader#12358) @Commodore64user
* FocusManager: Fix focus_flags check in moveFocusTo, and deal with the fallout (koreader#12361) @NiLuJe
* Various notification, text editor and footnote popup minor fixes (koreader#12406) @poire-z
* Bug: Account for local reading order direction adjustments. (koreader#12388) @Commodore64user
* android: add custom `adb logcat` formatter (koreader#12385) @benoit-pierre
* kodev: improve `kodev prompt` (koreader#12408) @benoit-pierre
* kodev: fix `./kodev run android…` (koreader#12407) @benoit-pierre
* Readerfont: Current font on top in menu; New fonts from current session on top in font test doc (koreader#12410) @jonnyl2
* Fix a couple of potentially spurious footer refreshes (koreader#12422) @NiLuJe
* FileManager: Handle the FlushSettings event (koreader#12425) @NiLuJe
* PageBrowser: fix drawing of thicker thumbnail frame on tap (koreader#12432) @poire-z
* FileManagerSetDefaults: Handle strings that we default to nil (koreader#12433) @NiLuJe
* Input: Ignore ABS_X, ABS_Y & ABS_PRESSURE for snow_protocol (koreader#12427) @NiLuJe
* Add color highlight menu (koreader#11044) @smasher816
* Exporter: choose highlight styles to be exported (koreader#12431) @hius07
* ReaderView: Don't crash on pre-koreader#11044 highlights without a color field (koreader#12438) @NiLuJe
* Terminal fixes (koreader#12369) @ziz57
* Dispatcher/DeviceListener: Temporarily turn on Accelerometer/GSensor for 5 sec (koreader#12419) @jonnyl2
* fix bug preventing export to joplin; (koreader#12446) @bitterlox
* bump base: blitbuffer, android build, crengine (koreader#12451) @poire-z
* InputText: Unbreak onTapTextBox on an already in-focus field (koreader#12449) @NiLuJe
* Update el_popup.lua (koreader#12463) @ichnilatis-gr
* [Dispatcher] add [missing] conditions to dispatcher items (koreader#12453) @Commodore64user
* ReaderView: Fix a couple of edge-cases in onReaderFooterVisibilityChange (koreader#12466) @NiLuJe
* misc: Move cleanupSelectedText to util (koreader#12477) @NiLuJe
* ReaderHighlight: Fix an old typo in the OCR help string (koreader#12479) @NiLuJe
* Highlights popup dialog: add "Color" and "Details" buttons (koreader#12461) @hius07
* ButtonDialogTitle: remove (koreader#12394) @hius07
* [Dispatcher] new events for selecting links (koreader#12474) @Commodore64user
* Doc: Update quickstartguide on kindle non touch (koreader#12426) @Commodore64user
* [NT] Call GotoViewRel for page up/down on useDPadAsActionKeys devices (koreader#12495) @cccslater
* bump base (koreader#12503) @benoit-pierre
* Defaults: Deprecate DKOPTREADER_CONFIG_DOC_LANGS_TEXT (koreader#12504) @NiLuJe
* ReaderAnnotation: skip old highlights with invalid xpointers (koreader#12494) @hius07
* Cloud Sync: handles potentially incompatible backup and incoming dbs (koreader#12470) @weijiuqiao
* VocabBuilder.koplugin: Better handling word context (koreader#12469) @weijiuqiao
* Write highlights into PDF: revisited (koreader#12509) @hius07
* SyncService: Only require online connectivity when using Dropbox (koreader#12520) @NiLuJe
* Chore: Don't cache static data tables (ui/elements, ui/data, kb layouts & co) (koreader#12519) @NiLuJe
* Fix page gap inconsistencies between doc open & config change (koreader#12507) @NiLuJe
* Kindle: Restore hall effect sensor state on startup (koreader#12521) @NiLuJe
* VocabBuilder.koplugin: save dict headword as entry (koreader#12530) @weijiuqiao
* Add PocketBook Verse Pro Color (PB634K3) (koreader#12476) @ElimGarak1
* Onyx Boox Go 10.3 support (koreader#12533) @hugleo
* Statistics: fix null terminated strings, add toggle stats (koreader#12547) @hius07
* input: drop use of `ffi/input` (koreader#12486) @benoit-pierre
* ci/circle: fix tests parallelism (koreader#12551) @benoit-pierre
* input: fix kobo init (koreader#12553) @benoit-pierre
* [ReaderFooter] update status bar in real time when inverting page turning (koreader#12424) @Commodore64user
* input: fix pocketbook init (koreader#12555) @benoit-pierre
* use new `ffi.loadlib` helper (koreader#12545) @benoit-pierre
* input: fix loading of `fbink_input` library (koreader#12560) @benoit-pierre
* Fix typos in quickstart (koreader#12566) @cheywood
* File search: improve (koreader#12549) @hius07
* [DictQuickLookup] shortcuts for editing searches (koreader#12539) @Commodore64user
* Profiles: auto-execute on events (koreader#12564) @hius07
* Exporter: export to book folder, register to Dispatcher (koreader#12569) @hius07
* sdl: use our compiled version for the AppImage (koreader#12575) @benoit-pierre
* Add kobov4 & kobov5 targets (koreader#12568) @NiLuJe
* android: switch to monolibtic mode (koreader#12576) @benoit-pierre
* android: fix apkanalyzer location (koreader#12563) @benoit-pierre
* Disabled rotation map for Android devices where "hw media keys follow gravity" (koreader#12557) @jkl16
* Quickstart guide kindle illustrations (koreader#12577) @Commodore64user
* [plugin] Exporter: fix typo (koreader#12592) @Frenzie
* Dispatcher: values' range consistent with bottom menu (koreader#12580) @hius07
* metadata translations for fdroid/flathub (koreader#12581) @pazos
* ProgressWidget: fix misalignment (koreader#12526) @wbstx
* Add wifi support to Cervantes Touch Light devices (koreader#12148) @jsanpe
* ReaderTypeset: fix margins info (koreader#12609) @hius07
* DocSettingsTweak: apply to books with status (koreader#12606) @hius07
* Menu widget: rotation handler (koreader#12573) @hius07
* Profiles: add "on rotation" auto-execute event (koreader#12612) @hius07
* ReaderHighlight: adjustable "Edit highlight" dialog position (koreader#12599) @hius07
* KOSync/Kobo: Explicitly kill Wi-Fi on suspend (koreader#12616) @NiLuJe
* Kobo: Minor simplification after koreader#12616 (koreader#12629) @NiLuJe
* bump luajit-launcher (koreader#12630) @benoit-pierre
* Terminal: Minor cleanups (koreader#12631) @NiLuJe
* Menu widget: draw focus on focused item (koreader#12583) @hius07
* Cloud storage: fix sorting non-English filenames (koreader#12644) @hius07
* Text editor: show current line number (koreader#12632) @hius07
* InputText: fix Terminal plugin input (koreader#12652) @hius07
* ReaderFont test: Error correction -- new fonts were not rendering in own font (koreader#12646) @jonnyl2
* ReaderHighlight: fix color for extended highlight in pdf (koreader#12654) @hius07
* Kindle Scribe: fix elseif for orientation code (koreader#12663) @mergen3107
* Menu: Fix fallout from koreader#12583 on hasDPad devices (koreader#12657) @NiLuJe
* Misc: Some more FocusManager fallout (koreader#12667) @NiLuJe
* plugin messages (koreader#12636) @pazos
* And deprecation to autofrontlight (koreader#12619) @pazos
* Add deprecation for unmaintained targets (koreader#12620) @pazos
* Profiles: more auto-exec triggers (koreader#12651) @hius07
* PatchManagement: prettify menu (koreader#12668) @hius07
* Fix KOReader spelling in the code (koreader#12670) @mergen3107
* Update Building.md - meson install from backports (koreader#12680) @mergen3107
* OTA: Make the final ConfirmBox undismissable (koreader#12676) @NiLuJe
* Text editor: rotate (koreader#12658) @hius07
* Profiles: more auto-exec triggers 2 (koreader#12691) @hius07
* Add authentication request and cookies management for news (koreader#12496) @bateast
* calibre: always use custom fast parser (koreader#12714, koreader#12715) @pazos
* Add Nextcloud Notes to exporter plugin (koreader#12301) @kotnik
* [plugin] Wallabag: remove empty file when download fails (koreader#12723) @fenuks
* [plugin] Wallabag: separate option to delete ‘on hold’ articles (koreader#12722) @fenuks
* kopt: fix OCR segmentation mode (koreader#12726) @benoit-pierre
* bump base (koreader#12727) @benoit-pierre
   Most notably dropbear: update to 2024.85 (koreader/koreader-base#1964)
* bump android-luajit-launcher (koreader#12734) @pazos
* ci/circle: manually cap build jobs (koreader#12751) @benoit-pierre
* Adjust Minimum Font Size in Terminal Emulator (koreader#12752) @pphszx
* ReaderHighlight: Highlight menu, change 'Delete' to Trash can icon (koreader#12758) @jonnyl2

* @trash-pandy made their first contribution in koreader#12197
* @fbriere made their first contribution in koreader#12296
* @charrarr made their first contribution in koreader#12351
* @smasher816 made their first contribution in koreader#11044
* @bitterlox made their first contribution in koreader#12446
* @cccslater made their first contribution in koreader#12495
* @cheywood made their first contribution in koreader#12566
* @jkl16 made their first contribution in koreader#12557
* @wbstx made their first contribution in koreader#12526
* @jsanpe made their first contribution in koreader#12148
* @fenuks made their first contribution in koreader#12723
* @pphszx made their first contribution in koreader#12752

**Full Changelog**: koreader/koreader@v2024.07...v2024.11 — [closed milestone issues](https://github.com/koreader/koreader/milestone/74?closed=1)

---

**Installation instructions**: [Android](https://github.com/koreader/koreader/wiki/Installation-on-Android-devices) • [Cervantes](https://github.com/koreader/koreader/wiki/Installation-on-BQ-devices) • [ChromeOS](https://github.com/koreader/koreader/wiki/Installation-on-Chromebook-devices) • [Kindle](https://github.com/koreader/koreader/wiki/Installation-on-Kindle-devices) • [Kobo](https://github.com/koreader/koreader/wiki/Installation-on-Kobo-devices) • [PocketBook](https://github.com/koreader/koreader/wiki/Installation-on-PocketBook-devices) • [ReMarkable](https://github.com/koreader/koreader/wiki/Installation-on-ReMarkable) • [Desktop Linux](https://github.com/koreader/koreader/wiki/Installation-on-desktop-linux) • [MacOS](https://github.com/koreader/koreader/wiki/Installation-on-MacOS)
0xstillb pushed a commit to 0xstillb/koreader-thai that referenced this pull request May 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

FR: Text editor: Landscape orientation

6 participants