2022-05-30 01:03:01 +01:00
|
|
|
# Plain text with lines
|
|
|
|
|
2022-06-07 02:33:44 +01:00
|
|
|
An editor for plain text where you can also seamlessly insert line drawings.
|
|
|
|
Designed above all to be easy to modify and give you early warning if your
|
|
|
|
modifications break something.
|
|
|
|
|
2022-05-30 01:03:01 +01:00
|
|
|
http://akkartik.name/lines.html
|
|
|
|
|
2022-06-07 21:58:38 +01:00
|
|
|
## Invocation
|
|
|
|
|
|
|
|
Like all LÖVE apps, lines.love can be invoked either from a terminal or
|
|
|
|
by clicking on the application in a graphical desktop.
|
|
|
|
|
|
|
|
When invoked from a terminal, you can pass the love binary the path to either
|
|
|
|
the zipped lines.love or a directory containing lines.love unzipped.
|
|
|
|
|
|
|
|
```sh
|
|
|
|
$ path/to/love path/to/lines.love
|
|
|
|
|
|
|
|
$ path/to/love . # from this repo directory
|
|
|
|
$ path/to/love path/to/lines/directory # from anywhere
|
|
|
|
```
|
2022-06-07 02:33:44 +01:00
|
|
|
|
|
|
|
By default, lines.love reads/writes the file `lines.txt` in your default
|
|
|
|
user/home directory (`https://love2d.org/wiki/love.filesystem.getUserDirectory`).
|
|
|
|
|
2022-06-07 21:58:38 +01:00
|
|
|
When invoked from a terminal, you can pass in a different file to edit, either
|
|
|
|
to the zipped or unzipped versions:
|
2022-06-07 02:33:44 +01:00
|
|
|
|
|
|
|
```sh
|
2022-06-07 21:58:38 +01:00
|
|
|
$ path/to/love path/to/lines.love path/to/file/to/edit
|
|
|
|
|
|
|
|
$ path/to/love path/to/lines/directory /path/to/file/to/edit
|
2022-06-07 02:33:44 +01:00
|
|
|
```
|
|
|
|
|
2022-06-07 21:58:38 +01:00
|
|
|
On a graphical desktop you can also drag and drop a file icon on to the
|
|
|
|
lines.love window.
|
|
|
|
|
2022-06-07 22:20:54 +01:00
|
|
|
You can also configure the size of the window on the commandline. For example:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
$ path/to/love path/to/lines.love -geometry 640x480+10+10 path/to/file/to/edit
|
|
|
|
```
|
|
|
|
|
|
|
|
The syntax of the geometry parameter is {width}x{height}+{x}+{y} which will
|
|
|
|
position the top-left corner of the window at co-ordinate (x,y). The geometry
|
|
|
|
parameter must come before the file to edit.
|
|
|
|
|
2022-06-07 02:33:44 +01:00
|
|
|
## Keyboard shortcuts
|
|
|
|
|
|
|
|
While editing text:
|
|
|
|
* `ctrl+f` to find patterns within a file
|
|
|
|
* `ctrl+c` to copy, `ctrl+x` to cut, `ctrl+v` to paste
|
|
|
|
* `ctrl+z` to undo, `ctrl+y` to redo
|
|
|
|
* `ctrl+=` to zoom in, `ctrl+-` to zoom out, `ctrl+0` to reset zoom
|
|
|
|
|
|
|
|
For shortcuts while editing drawings, consult the online help. Either:
|
|
|
|
* hover on a drawing and hit `ctrl+h`, or
|
|
|
|
* click on a drawing to start a stroke and then press and hold `h` to see your
|
|
|
|
options at any point during a stroke.
|
|
|
|
|
2022-06-07 21:48:59 +01:00
|
|
|
lines.love has been exclusively tested so far with a US keyboard layout. If
|
|
|
|
you use a different layout, please let me know if things worked, or if you
|
2022-06-09 20:16:03 +01:00
|
|
|
found anything amiss: http://akkartik.name/contact
|
2022-06-07 21:48:59 +01:00
|
|
|
|
2022-05-30 01:03:01 +01:00
|
|
|
## Known issues
|
2022-05-21 18:36:27 +01:00
|
|
|
|
2022-06-12 00:07:34 +01:00
|
|
|
* There's a bug in freehand drawings (`ctrl+p` mode) that causes them to be
|
2022-06-03 22:42:08 +01:00
|
|
|
highlighted even when the mouse is nowhere near them.
|
|
|
|
|
2022-05-18 06:05:00 +01:00
|
|
|
* No support yet for Unicode graphemes spanning multiple codepoints.
|
2022-05-21 18:36:27 +01:00
|
|
|
|
2022-06-10 23:08:13 +01:00
|
|
|
* Undo/redo may be sluggish in large files. Large files may grow sluggish in
|
|
|
|
other ways.
|
2022-06-05 18:26:35 +01:00
|
|
|
|
2022-06-10 22:19:27 +01:00
|
|
|
* If you kill the process, say by force-quitting because things things get
|
|
|
|
sluggish, you can lose data.
|
|
|
|
|
2022-05-19 02:19:27 +01:00
|
|
|
* The text cursor will always stay on the screen. This can have some strange
|
|
|
|
implications:
|
2022-05-21 18:36:27 +01:00
|
|
|
|
2022-05-19 02:19:27 +01:00
|
|
|
* A long series of drawings will get silently skipped when you hit
|
|
|
|
page-down, until a line of text can be showed on screen.
|
2022-05-20 06:56:55 +01:00
|
|
|
* If there's no line of text at the top of the file, you may not be able
|
|
|
|
to scroll back up to the top with page-up.
|
2022-05-21 18:36:27 +01:00
|
|
|
|
2022-05-20 06:56:55 +01:00
|
|
|
So far this app isn't really designed for drawing-heavy files. For now I'm
|
2022-05-19 02:19:27 +01:00
|
|
|
targeting mostly-text files with a few drawings mixed in.
|
2022-05-21 18:36:27 +01:00
|
|
|
|
2022-05-21 22:03:06 +01:00
|
|
|
* No clipping yet for drawings. In particular, circles and point labels can
|
|
|
|
overflow a drawing.
|
|
|
|
|
2022-05-21 18:36:27 +01:00
|
|
|
* Insufficient handling of constraints when moving points. For example, if you
|
|
|
|
draw a manhattan line and then move one of the points, you may not be able
|
|
|
|
to hover on it anymore.
|
|
|
|
|
|
|
|
There's two broad ways to fix this. The first is to relax constraints,
|
|
|
|
switch the manhattan line to not be manhattan. The second is to try to
|
|
|
|
maintain constraints. Either constrain the point to only move along one line
|
|
|
|
(but what if it's connected to two manhattan lines?!), or constrain the
|
|
|
|
other end of the line to move alongside. I'm not sure yet which would be
|
|
|
|
more useful. Getting into constraints would also make the program more
|
|
|
|
complex.
|
|
|
|
|
|
|
|
Bottomline: at the moment moving points connected to manhattan lines,
|
|
|
|
rectangles or squares can break drawings in subtle ways.
|
2022-05-30 01:03:01 +01:00
|
|
|
|
|
|
|
* Touchpads can drag the mouse pointer using a light touch or a heavy click.
|
|
|
|
On Linux, drags using the light touch get interrupted when a key is pressed.
|
|
|
|
You'll have to press down to drag.
|
2022-06-03 21:32:42 +01:00
|
|
|
|
|
|
|
* Can't scroll while selecting text with mouse.
|
|
|
|
|
|
|
|
* No scrollbars yet. That stuff is hard.
|
2022-06-07 02:33:44 +01:00
|
|
|
|
|
|
|
## Mirrors and Forks
|
|
|
|
|
|
|
|
Updates to lines.love can be downloaded from the following mirrors in addition
|
|
|
|
to the website above:
|
|
|
|
* https://github.com/akkartik/lines.love
|
|
|
|
* https://repo.or.cz/lines.love.git
|
|
|
|
* https://codeberg.org/akkartik/lines.love
|
|
|
|
* https://tildegit.org/akkartik/lines.love
|
|
|
|
* https://git.tilde.institute/akkartik/lines.love
|
|
|
|
* https://git.sr.ht/~akkartik/lines.love
|
|
|
|
* https://pagure.io/lines.love
|
|
|
|
|
2022-06-07 20:34:58 +01:00
|
|
|
Forks of lines.love are encouraged. If you show me your fork, I'll link to it
|
2022-06-07 02:33:44 +01:00
|
|
|
here.
|
|
|
|
|
|
|
|
## Feedback
|
|
|
|
|
|
|
|
[Most appreciated.](http://akkartik.name/contact)
|