Rectangle Selection, Copy & Paste, Unicode, and More...


Big update this time! Big bugs, little bugs, and some new features!

New features include being able to select multiple text boxes using a rectangle selection, the ability to copy, cut, and paste text boxes, and text box highlighting along with a blinking cursor while editing text.

Bug fixes include Unicode filename support and proper backslash handling.

Then find out what’s next for L.I.N.K.

The Features

Rectangle select is now a thing. Press Shift and drag the mouse cursor across the screen to select the boxes inside the rectangle.

Now with all of your selected notes, you can easily copy, cut, and paste text boxes. The text is also copied over to the system clipboard so you can now copy and paste between L.I.N.K. and all of your other programs.

I tried to select the boxes in a logical manner, starting from the top and going down and selecting boxes on the left before the right.

When copying multiple boxes, each note is separated by a series of dashes.

So we can go from this:

To this:

Version 0.3
----------------------------
New features include...
----------------------------
Unicode file names
----------------------------
Rectangle selection!
----------------------------
Copy, Cut and Paste!
----------------------------
Paste to and from the system
----------------------------
Highlight note being edited!
----------------------------
Cursor Blinks!
----------------------------
...and more!

I’m still undecided how I want to copy text into the clipboard so this may change in the future. If you have any suggestions, please leave them in the comments below.

Currently, copying from the system to L.I.N.K. will result in the creation of a new note with the text added in.

Last but not least, I’ve tried to make it more obvious when you’re editing a note versus having it just selected.

A GIF of the cursor blinking would be pretty cool but I’m still working on how to do that but wanted to get this post ready sooner rather than later.

The Bugs

The big fix was Unicode filename support. I switched from Lua’s built in file handling code to a custom Windows code that uses the Unicode API. In all my tests I didn’t have a problem, but let me know if you run into any.

The next big bug was the way backslashes are parsed. When saving to a .link file all newlines are converted to the escape sequence: \n (as is tradition). However, that meant I now needed to escape backslashes or else they’d be treated as the start of an escape sequence.

Not handled properly you could type “\n” in a text box and screw up the formatting I so carefully worked on.

It wasn’t handled properly.

I found there were some edge cases I wasn’t catching, and ultimately discovered my code was flawed, so I rewrote that section and it’s working great!

There were a few other little quirks I’ve worked out that should give an overall more polished feel. Mostly things surrounding selecting and deselecting notes at appropriate times.

I’m sure there’s more bugs that I’ve missed. The code is pretty scary right now.

Up Next

The big thing I want to work on is text selection within a text box. This will enable the ability to copy, cut, and paste sections of text (much like you’d expect when editing text).

The undo feature is currently quite limited, it only undoes deletion of text boxes. I want to extend this feature to undo (and redo) all sorts of actions.

For the next release, I’d like to focus a bit on branding.

Right now I’m using the default LÖVE icon which was okay when I released this quickly for The Tool Jam but something that I’d like to change going forward.

I’ve had a request for a GIF on the main page of L.I.N.K. in action. This is something I’ve done little of in the past but is something I need to work on. Also, it’s a real shame I couldn’t show you a cool little GIF of the cursor blinking.

The tutorial text needs updating. With the new features and some more time to think about it, I feel like what I wrote in haste for The Tool Jam could use some work.

I’d also like to modify how the tutorial works as right now there’s no easy way to bring it back up once you’ve loaded a new file.

And there’s always more bugs to squash.


Please let me know if you have any questions, comments, problems, or just want to say, “Hello.”

I’d love to hear from you.

Files

L.I.N.K. v0.3 3 MB
May 23, 2021

Get LINK!

Comments

Log in with itch.io to leave a comment.

I think I found a bug with selection boxes,

steps to reproduce :

  1. draw 3 empty elements in a row

  2. Select them with a selection rectangle (shift-drag)

L.I.N.K crash with this error message :

./crazy.agpack/main.lua:1225: attempt to compare two nil values

stack traceback:
	main2.lua:277: in function <./data/main2.lua:111>

(If you cant reproduce it, it might be because I’m running L.I.N.K on linux. if that’s the case, no worries…)

Thank you!

I found that bug but only when I selected somewhere around 30 notes. This will help me quite a bit in trying to narrow it down.