diff --git a/.gitignore b/.gitignore index 2a8f86a..7105875 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ qmldiff hashchange .DS_Store DOC.md +.opencode/skills/qmd-port/SKILL.md diff --git a/3.27.3.0/batteryPercentage.qmd b/3.27.3.0/batteryPercentage.qmd new file mode 100644 index 0000000..111878d --- /dev/null +++ b/3.27.3.0/batteryPercentage.qmd @@ -0,0 +1,14 @@ +AFFECT [[16664384747789373392]] + TRAVERSE [[3819512207256720568]] > [[7081645463424]]#[[14500576802168220354]] > [[254494525842443467]] > [[254501558939456351]]#[[16044303013921817534]] + LOCATE AFTER ALL + INSERT { + ~&6503165774&~ { + ~&6504315758&~: ~&12464413590283098527&~.~&233722187800420&~.~&8399929542203138183&~ + ~&"180910&~ + ~&214622605608&~: ~&7082020628281&~.~&8399340017235344933&~ + ~&6503823200&~.~&254543497768871654&~: 24 + ~&6014474628714890946&~: ~&6503165774&~.~&14019785292674113803&~ + ~&7081629735527&~.~&254522510204479688&~: ~&5971598&~.~&14019785292674113803&~ + } + } + END TRAVERSE +END AFFECT diff --git a/3.27.3.0/clock.qmd b/3.27.3.0/clock.qmd new file mode 100644 index 0000000..6fccb44 --- /dev/null +++ b/3.27.3.0/clock.qmd @@ -0,0 +1,62 @@ +; credit for the original clock implementation: https://github.com/StarNumber12046/xovi-qmd-extensions/blob/main/clock.qmd +AFFECT /qml/device/view/navigator/Sidebar.qml + TRAVERSE DeviceKeyboardNavigationHandler > ColumnLayout#filterColumn + LOCATE BEFORE SidebarFilterItem#filterMyFiles + INSERT { + SidebarFilterItem { + id: clockSidebarItem + objectName: "clockSidebarObject" + title: Qt.formatDateTime(getCestTime(), set_Format_Date) + iconSource: "qrc:/ark/icons/system_clock" + active: false + enabled: true + + /* 1000 = 1 second / 60000 = 1 minute */ + property int set_Timer: 60000 + property string set_Format_Date: "dd/MM hh:mm" + + function getCestTime() { + return new Date(); + } + + Component.onCompleted: { + title = Qt.formatDateTime(getCestTime(), set_Format_Date); + } + + onClicked: { + + if (clockSidebarItem.set_Timer === 60000) { + clockSidebarItem.set_Timer = 1000; + clockSidebarItem.set_Format_Date = "dd/MM hh:mm:ss"; + } else { + clockSidebarItem.set_Timer = 60000; + clockSidebarItem.set_Format_Date = "dd/MM hh:mm"; + } + + timer.interval = clockSidebarItem.set_Timer + clockSidebarItem.title = Qt.formatDateTime(clockSidebarItem.getCestTime(), clockSidebarItem.set_Format_Date); + } + + /* Timer for update time */ + Timer { + id: timer + interval: clockSidebarItem.set_Timer + repeat: true + running: true + + onTriggered: { + clockSidebarItem.title = Qt.formatDateTime(clockSidebarItem.getCestTime(), clockSidebarItem.set_Format_Date); + } + } + + Layout.preferredHeight: Values.navigatorSidebarItemHeight + Layout.preferredWidth: parent.width + navigationHandler: root + + function activate() { + toggle(); + } + } + } + END TRAVERSE +END AFFECT diff --git a/3.27.3.0/convertToText_remover.qmd b/3.27.3.0/convertToText_remover.qmd new file mode 100644 index 0000000..a878604 --- /dev/null +++ b/3.27.3.0/convertToText_remover.qmd @@ -0,0 +1,11 @@ +AFFECT [[3197972396468700595]] + TRAVERSE [[6502786168]]#[[10742505294233322867]] + TRAVERSE [[12395602925408354507]]#[[214642769434]] + REMOVE [[425121728314878811.16765000136167945189.7081261925573]]#[[3012293087768835154]] + END TRAVERSE + END TRAVERSE +END AFFECT + +AFFECT [[3513522976947834303]] + REMOVE [[454089850271038938]] +END AFFECT diff --git a/3.27.3.0/quickSettingsClock.qmd b/3.27.3.0/quickSettingsClock.qmd new file mode 100644 index 0000000..bd8afd9 --- /dev/null +++ b/3.27.3.0/quickSettingsClock.qmd @@ -0,0 +1,68 @@ +; credit for the original clock implementation: https://github.com/StarNumber12046/xovi-qmd-extensions/blob/main/quickSettingsClock.qmd +AFFECT [[12542166428983872557]] + IMPORT [[7082573613689.5972775.6504315758]] [[180922.180921]] + + TRAVERSE [[7711468349764991]] > [[6502786168]] > [[8397788359424131273]] > [[14125623155555875541]]#[[233718721544006]] + + LOCATE AFTER [[6502786168]] > [[425121728314878811.15389500557572665857]]#[[6026822765657717152]] + + INSERT { + ~&6502786168&~ { + ~&7081629735527&~.~&17520348323745447649&~: ~&7082020628281&~.~&10286380502125731829&~ + ~&7081629735527&~.~&8399743405844438450&~: ~&254477762679831355&~.~&214603824602&~.~&7713684474795983&~.~&7713442318223278&~.~&233740248806464&~.~&7083363878252&~ + ~&7081629735527&~.~&499747351624466981&~: ~&254477762679831355&~.~&214603824602&~.~&7713684474795983&~.~&7713442318223278&~.~&233740248806464&~.~&7083363878252&~ + ~&7081629735527&~.~&254529418434902000&~: ~&6504329801&~ + + ~&14397210151462632996&~ { + ~&5972374&~: quickSettingsClock + ~&233721384511543&~ { + ~&6504027668&~: ~&7083038346995&~.~&6504027668&~ + ~&3441383163516681764&~: ~&7083038346995&~.~&3441383163516681764&~ + } + + property ~&6503679477&~ showSeconds: ~&214625660372&~ + property ~&7083178290016&~ minuteFormat: "dd/MM hh:mm" + property ~&7083178290016&~ secondFormat: "dd/MM hh:mm:ss" + property ~&197088788&~ minuteInterval: 60000 + property ~&197088788&~ secondInterval: 1000 + + ~&6504315758&~: ~&5971598&~.~&6460516198169535423&~( new ~&6502586279&~(), minuteFormat) + + function updateClock() { + ~&6504315758&~ = ~&5971598&~.~&6460516198169535423&~( new ~&6502586279&~(), showSeconds ? secondFormat : minuteFormat); + } + + ~&254480451320573660&~.~&495334332051582499&~: { + updateClock(); + } + + onShowSecondsChanged: { + quickSettingsClockTimer.~&233743006639214&~(); + updateClock(); + } + + ~&214604601930&~ { + ~&5972374&~: quickSettingsClockTimer + ~&7713147298280334&~: quickSettingsClock.showSeconds ? quickSettingsClock.secondInterval : quickSettingsClock.minuteInterval + ~&7083121289162&~: ~&6504329801&~ + ~&233743626668842&~: ~&6504329801&~ + + ~&495358363329399331&~: { + quickSettingsClock.updateClock(); + } + } + + ~&254494525842443467&~ { + ~&233721384511543&~.~&6503816592&~: ~&7083038346995&~ + ~&477346538929698200&~: ~&5971598&~.PointingHandCursor + ~&254542236275632405&~: { + quickSettingsClock.showSeconds = !quickSettingsClock.showSeconds; + } + } + } + } + } + + END TRAVERSE + +END AFFECT diff --git a/3.27.3.0/uncompressDock.qmd b/3.27.3.0/uncompressDock.qmd new file mode 100644 index 0000000..3c6b361 --- /dev/null +++ b/3.27.3.0/uncompressDock.qmd @@ -0,0 +1,89 @@ +; ported from 3.23.0.64 +; In 3.22/3.23 the create buttons were emitted by a C++ Repeater (not QML). +; By 3.27 the firmware migrated to a QML Repeater backed by createWidgets model, +; so this QMD was rewritten: it keeps the Repeater (search, calendar, quick-sheet) +; and inserts the notebook, folder and quick-sheet buttons inline after it. +AFFECT [[13636194074538366841]] + TRAVERSE [[6502786168]]#[[6504254477]] + TRAVERSE [[254501108490678590]]#[[16596251247453125840]] > [[254501558939456351]]#[[6391657810197849963]] + LOCATE AFTER ALL + INSERT { + ~&254501108490678590&~ { + ~&7081629735527&~.~&8399470807760157065&~: ~&6504329801&~ + ~&7081629735527&~.~&16239278111605497701&~: 2 + ~&214622605608&~: ~&"214621299494&~ + ~&233748328658231&~: ~&6504254477&~.~&6504391364&~ === ~&"233737316206498&~ || ~&6504254477&~.~&6504391364&~ === ~&"7834776425552261693&~ + } + ~&254494525842443467&~ { + ~&5972374&~: _notebookBtn + ~&7081629735527&~.~&254522510204479688&~: ~&5971598&~.~&14019785274593562237&~ + ~&7081629735527&~.~&16239278111605497701&~: 64 + ~&7081629735527&~.~&8399470807760157065&~: ~&6504329801&~ + ~&7081629735527&~.~&8399743405844438450&~: 40 + ~&233748328658231&~: ~&6504254477&~.~&6504391364&~ === ~&"233737316206498&~ || ~&6504254477&~.~&6504391364&~ === ~&"7834776425552261693&~ + ~&14125623155555875541&~ { + ~&233721384511543&~.~&7712879746914881&~: ~&7083038346995&~ + ~&233744706647566&~: 0 + ~&425121728314878811&~.~&6502767986&~ { + ~&7081629735527&~.~&254522510204479688&~: ~&5971598&~.~&14019785274593562237&~ + ~&6504284228&~: ~&425121728314878811&~.~&7082020628281&~.~&7713132906001613&~.~&7082925185962&~ + ~&7083172477658&~: ~&"8609871731041592465&~ + } + } + ~&254542236275632405&~: { + ~&197102514&~ ~&197093806&~ = ~&7083038346995&~.~&7083038346995&~.~&7083038346995&~.~&7083038346995&~; + ~&197093806&~.~&11689254259907176254&~(); + } + } + ~&254494525842443467&~ { + ~&5972374&~: _folderBtn + ~&7081629735527&~.~&254522510204479688&~: ~&5971598&~.~&14019785274593562237&~ + ~&7081629735527&~.~&16239278111605497701&~: 64 + ~&7081629735527&~.~&8399470807760157065&~: ~&6504329801&~ + ~&7081629735527&~.~&8399743405844438450&~: 40 + ~&233748328658231&~: ~&6504254477&~.~&6504391364&~ === ~&"233737316206498&~ + ~&14125623155555875541&~ { + ~&233721384511543&~.~&7712879746914881&~: ~&7083038346995&~ + ~&233744706647566&~: 0 + ~&425121728314878811&~.~&6502767986&~ { + ~&7081629735527&~.~&254522510204479688&~: ~&5971598&~.~&14019785274593562237&~ + ~&6504284228&~: ~&425121728314878811&~.~&7082020628281&~.~&7713132906001613&~.~&7082925185962&~ + ~&7083172477658&~: ~&"1888152859110688812&~ + } + } + ~&254542236275632405&~: { + ~&197102514&~ ~&197093806&~ = ~&7083038346995&~.~&7083038346995&~.~&7083038346995&~.~&7083038346995&~; + ~&197093806&~.~&1343967321191992457&~(~&"477188259920763378&~); + } + } + ~&254494525842443467&~ { + ~&5972374&~: _quickSheetBtn + ~&7081629735527&~.~&254522510204479688&~: ~&5971598&~.~&14019785274593562237&~ + ~&7081629735527&~.~&16239278111605497701&~: 64 + ~&7081629735527&~.~&8399470807760157065&~: ~&6504329801&~ + ~&7081629735527&~.~&8399743405844438450&~: 40 + ~&7081629735527&~.~&499747351624466981&~: 40 + ~&233748328658231&~: ~&6504254477&~.~&6504391364&~ !== ~&"214642862219&~ + ~&14125623155555875541&~ { + ~&233721384511543&~.~&7712879746914881&~: ~&7083038346995&~ + ~&233744706647566&~: 0 + ~&425121728314878811&~.~&6502767986&~ { + ~&7081629735527&~.~&254522510204479688&~: ~&5971598&~.~&14019785274593562237&~ + ~&6504284228&~: ~&425121728314878811&~.~&7082020628281&~.~&7713132906001613&~.~&7082925185962&~ + ~&7083172477658&~: ~&"5726907772531472741&~ + } + } + ~&254542236275632405&~: { + ~&197102514&~ doc = ~&2918312801265623842&~.~&498775298796480658&~(); + ~&5972376&~ (doc && doc.~&6504337259&~ === 1) { + ~&197102514&~ ~&197093806&~ = ~&7083038346995&~.~&7083038346995&~.~&7083038346995&~.~&7083038346995&~; + ~&197093806&~.~&2766288418351025740&~.~&6504147419&~(~&"80852525132738217&~, { + ~&8399386052748489877&~: doc.~&5972374&~, + ~&6504167078&~: doc.~&254543134818768527&~ - 1 + }); + } + } + } + } + END TRAVERSE +END AFFECT diff --git a/README.md b/README.md index d084d4f..b223681 100644 --- a/README.md +++ b/README.md @@ -20,41 +20,66 @@ Beta releases are not tested nor supported. ## Extensions +### Version 3.27.3.0 + +#### `batteryPercentage.qmd` +- Shows the battery percentage next to the battery icon in the main view header. + + + +#### `clock.qmd` +- Adds a live clock to the library sidebar; tap the entry to toggle seconds display. + + + +Note: You have to set the right timezone on the tablet (you can use [reManager](https://github.com/rmitchellscott/reManager) to set it) + +#### `convertToText_remover.qmd` +- Removes the `Convert to text` option from selection menus and the toolbar (ported from 3.23.0.64). + + + +#### `uncompressDock.qmd` +- Replaces the widget-based create menu with dedicated buttons for notebook, folder, and quick sheet creation. +- **Rewritten** for the new `HomeScreen.CreateMenu` — the old `Navigator.CreateMenu` is no longer used in 3.27. +- Note: Notebook and Folder use Navigator methods; Quicksheet uses `LibraryController` (experimental). + + + +#### `quickSettingsClock.qmd` +- Injects a tappable clock into the Quick Settings header; tap to toggle between minute and second precision. + + + +### `tagButton.qmd` & `favoriteButton.qmd` +- Those tweaks have been implemented by the reMarkable team in the latest update, so they are no longer needed :) + ### Version 3.23.0.64 #### `clock.qmd` - Adds a live clock to the library sidebar; tap the entry to toggle seconds display. -![Sidebar clock showing minutes](images/clock_1.png) -![Sidebar clock showing seconds](images/clock_2.png) -Note: You can add a timezone by editing the `clock.qmd` file and changing the timezone string in the line: -``` -~&197102514&~ utc = now.getTime() + (now.getTimezoneOffset() * 60000); -``` #### `quickSettingsClock.qmd` - Injects a tappable clock into the Quick Settings header; tap to toggle between minute and second precision. -![Quick settings clock](images/quickSettingsClock.png) -Note: You can add a timezone by editing the `quickSettingsClock.qmd`, see above for details. #### `forceSync.qmd` - Adds a cloud button in Quick Settings that forces a library sync when tapped (need further testing to confirm it works as intended). -![Force sync button in quick settings](images/forceSync.png) + #### `favoriteButton.qmd` - Restores a `Favorite` action in the document list header for faster pinning. -![Favorite button in action bar](images/favoriteButton.png) + #### `tagButton.qmd` - Puts a `Tag` action next to other list controls to open the tag editor directly. -![Tag button in action bar](images/tagButton.png) + #### `convertToText_remover.qmd` - Removes the `Convert to text` option from selection menus and the toolbar. -![Convert to text removed from menu](images/convertToText_remover.png) #### `uncompressDock.qmd` - Replaces the condensed `More` menu in the new document dock with dedicated buttons for notebook, folder, and quick sheet creation. -![Expanded create menu buttons](images/uncompressDock.png) + #### `hideDocumentClose.qmd` - Hides the close button in the document toolbar to prevent accidental exits. \ No newline at end of file diff --git a/images/batteryPercentage.png b/images/batteryPercentage.png new file mode 100644 index 0000000..ab20c77 Binary files /dev/null and b/images/batteryPercentage.png differ diff --git a/images/clock_1.png b/images/clock_1.png index 9892eec..8dff42c 100644 Binary files a/images/clock_1.png and b/images/clock_1.png differ diff --git a/images/clock_2.png b/images/clock_2.png index a9e023a..6740c04 100644 Binary files a/images/clock_2.png and b/images/clock_2.png differ diff --git a/images/convertToText_remover.png b/images/convertToText_remover.png index 203dc28..c8ff513 100644 Binary files a/images/convertToText_remover.png and b/images/convertToText_remover.png differ diff --git a/images/quickSettingsClock.png b/images/quickSettingsClock.png index e595603..f2b601e 100644 Binary files a/images/quickSettingsClock.png and b/images/quickSettingsClock.png differ diff --git a/images/uncompressDock.png b/images/uncompressDock.png index a8d41ff..5dee4a8 100644 Binary files a/images/uncompressDock.png and b/images/uncompressDock.png differ diff --git a/images/uncompressDock_old.png b/images/uncompressDock_old.png new file mode 100644 index 0000000..a8d41ff Binary files /dev/null and b/images/uncompressDock_old.png differ