Paginator that uses all available screen/window width
Go to file
Kartik K. Agaram 05bf3ca362 Merge template-live-editor 2024-03-10 22:37:06 -07:00
assets clip of broadsheet in action 2023-01-25 17:45:11 -08:00
0000-freewheeling-start Merge template-live-editor 2023-04-16 11:23:26 -07:00
0001-on wire up mouse move handler 2023-12-26 08:28:23 -08:00
0002-Debug_animations_in_progress debug animations 2023-11-11 10:00:54 -08:00
0002-Editors Merge template-live-editor 2023-04-16 11:23:26 -07:00
0003-on.key_release Merge template-live-editor 2023-04-16 11:23:26 -07:00
0003-refresh_debug_animations debug animations 2023-11-11 10:00:54 -08:00
0004-Cursor_editor Merge template-live-editor 2023-04-16 11:23:26 -07:00
0004-on.update debug animations 2023-11-11 10:00:54 -08:00
0005-animate debug animations 2023-11-11 10:00:54 -08:00
0005-on.mouse_release Merge template-live-editor 2023-04-16 11:23:26 -07:00
0006-loiter debug animations 2023-11-11 10:00:54 -08:00
0006-on.mouse_press Merge template-live-editor 2023-04-16 11:23:26 -07:00
0007-on.text_input switch to the new readonly support 2023-06-07 22:39:00 -07:00
0007-save_callstack debug animations 2023-11-11 10:00:54 -08:00
0008-Debug_animation_period debug animations 2023-11-11 10:00:54 -08:00
0008-Filename Merge template-live-editor 2023-04-16 11:23:26 -07:00
0009-Font_height Merge template-live-editor 2023-04-16 11:23:26 -07:00
0010-Screen_top Merge template-live-editor 2023-04-16 11:23:26 -07:00
0011-on.save_settings Merge template-live-editor 2023-04-16 11:23:26 -07:00
0012-on.load_settings Merge template-live-editor 2023-07-10 19:14:50 -07:00
0013-on.resize Merge template-live-editor 2023-04-16 11:23:26 -07:00
0014-on.keychord_press switch to the new readonly support 2023-06-07 22:39:00 -07:00
0015-on.draw Merge template-live-editor 2023-04-16 11:23:26 -07:00
0016-resync_editors Merge template-live-editor 2023-06-04 15:45:08 -07:00
0017-on.file_drop Merge template-live-editor 2023-04-16 11:23:26 -07:00
0018-on.initialize Merge template-live-editor 2023-04-16 11:23:26 -07:00
0019-initialize_editors Merge template-live-editor 2024-01-15 03:27:21 -08:00
LICENSE.txt add a license 2022-05-16 18:51:28 -07:00
Manual_tests.md Merge text0 2023-12-07 01:22:19 -08:00
MemoryReferenceInfo.lua.0 remove some memory leaks from rendered fragments 2022-06-10 11:16:41 -07:00
MemoryReferenceInfo.lua.unused clean up memory leak experiments 2022-06-10 13:46:59 -07:00
README.md Merge template-live-editor 2024-03-10 22:37:06 -07:00
app.lua Merge text0 2024-02-04 17:45:48 -08:00
button.lua bugfix :( 2023-12-18 21:39:01 -08:00
default_map suggest a default layout for freewheeling apps 2023-11-11 10:31:25 -08:00
edit.lua Merge template-live-editor 2024-02-16 21:36:42 -08:00
file.lua audit all asserts 2023-11-18 11:32:01 -08:00
json.lua forgot to add json.lua 2022-05-15 14:36:25 -07:00
keychord.lua support for num pad 2023-07-07 18:40:12 -07:00
live.lua rename a function to be more specific 2023-12-15 15:17:28 -08:00
main.lua Merge template-live-editor 2024-01-15 03:27:21 -08:00
nativefs.lua cleaner API for file-system access 2023-08-30 19:04:06 -07:00
reference.md Merge text0 2024-02-04 17:45:48 -08:00
search.lua Merge text0 2024-01-15 02:33:22 -08:00
select.lua Merge lines.love 2024-01-15 01:38:38 -08:00
test.lua show another detail on test failure 2023-01-20 21:48:49 -08:00
text.lua Merge template-live-editor 2024-02-08 03:04:33 -08:00
text_tests bugfix: clear selection when clicking above or below lines 2023-09-20 13:39:29 -07:00
text_tests.lua Merge template-live-editor 2024-02-08 03:04:33 -08:00
undo.lua fix a couple of asserts missed in the recent audit 2023-12-09 09:22:45 -08:00

README.md

A wide-screen reading app

Use all available width to read (no editing).

demo showing how the app renders text at different widths

This repo is an example of a Freewheeling App, designed above all to be easy to run, easy to modify and easy to share.

Getting started

Install LÖVE. It's just a 5MB download, open-source and extremely well-behaved.

To run from the terminal, pass this directory to LÖVE, optionally with a file path to edit.

$ path/to/love path/to/broadsheet.love path/to/file

Alternatively, turn it into a .love file you can double-click on:

$ zip -r /tmp/broadsheet.love *.lua

To load a file, drop it on the broadsheet.love window.

When restarting, broadsheet.love will load the file from the previous session by default.

Hacking

To modify it live without restarting the app each time, download the driver app. Here's an example session with a different freewheeling app:

making changes without restarting the app

Some reference documentation on how to create your own apps.

If the app being modified by the driver lives in a .love file, your changes will go into the save directory. If it lives in a directory (like this repo), your changes will go straight into the same directory.

Keyboard shortcuts

  • pgUp/pgDn to scroll
  • ctrl+f to find patterns within a file
  • ctrl+= to zoom in, ctrl+- to zoom out, ctrl+0 to reset zoom
  • mouse drag or shift + movement to select text, ctrl+a to select all, ctrl+c to copy selection to clipboard

Known issues

  • No support yet for Unicode graphemes spanning multiple codepoints.

  • No support yet for right-to-left languages.

  • Can't scroll while selecting text with mouse.

  • No scrollbars yet. That stuff is hard.

Mirrors and Forks

This repo is a fork of lines.love, an editor for plain text where you can also seamlessly insert line drawings. Its immediate upstream is the template repo for freewheeling apps. Updates to it can be downloaded from:

Further forks are encouraged. If you show me your fork, I'll link to it here.

Feedback

Most appreciated.