This is gonna be a long one, have fun reading it and possibly having an epileptic seizure from all the animated PNGs (please don't).
Most (not all) of the things I've added/changed in KryptonIDE:
[00:] Main menu has been changed.
The main menu now shows a clock and battery status, and I've stripped out a few of the "shell-like" features that were there before, since pretty much everyone with a +CE uses Cesium or some other shell that already has those features, and you don't need that code to be taking up extra space.
Now, the main menu presents a list of programs immediately, asking for you to select a program to edit. You can also create a new program or delete an existing one, but for anything else, use your shell.
[01:] A way to immediately launch KryptonIDE into editing a program.
If you put the name of a program into the ANS var, KryptonIDE will attempt to open the editor directly to that program.
You can also specify a token offset with a number after a colon after the program name, and the editor will move your caret to that offset upon entry.
For example:
"PROGRAM":prgmKEDIT will launch KryptonIDE straight into editing "PROGRAM".
"PROGRAM:142" will launch KryptonIDE straight into editing "PROGRAM", and move the caret to after the 142nd token.
[02:] Scrolling up actually works!
In the (now very,
very outdated) beta I posted a while ago, scrolling up apparently didn't work, at all. Oops. I promise it works now, here, look:
[03:] Editor looks different.
The editor now has a header which shows a clock and battery status, the name of the program you are currently editing, and the size (in bytes of course) of the program you are currently editing. (Yes, the size is updated in real time, and so is the clock).
[04:] Function menus in the editor.
The editor now has three function menus,
File,
Edit, and
Goto. The options in the menus are:
<File> :
Open... : Does nothing right now.
Save : Saves the program you're currently editing.
Save As : Prompts for a program name and saves to that program instead.
[b] <Edit> : [/b]Everything in this menu doesn't do anything, yet.
[b][b] <Goto>[/b][/b]
:
Goto Label... : Lists all the names of the
Lbls in your program and allows you to jump to their locations. (Like the feature in PHASM, if anyone every used that shell.)
Goto Line... : Prompts you for a line number and moves your caret to that line. Line numbers start at 1 since that's how TI-OS does it.
Goto Start : Brings your caret all the way to the beginning of the program.
Goto End : Brings your caret all the way to the end of the program.
Here's the menus:
Save As:
Goto Label:
Goto Line:
Goto Start and Goto End:
[05:] I added a bunch of token menus, there are still quite a few missing ones, but you should have most of the ones you'd want to use right now.
[06:] Editor now has a save prompt upon attempting to exit (The prompt can be disabled in the settings menu)
[07:] Battery icon colors are customizable in the settings menu.
Here you see a dark theme battery:
Here you see a battery with colors that no one could possibly use:
[08:] Custom fonts!
You can now tell KryptonIDE to load a font from an appvar. The font data should be formatted in the exact same way you would format it if using the C Libraries function "gfx_SetFontData()". KryptonIDE will treat the data as compressed and attempt to decompress it before loading if the data is smaller than 2048 bytes.
(Note that in the demo, the fonts appear to shift over a few pixels, that's not KryptonIDE's fault, it's just because I messed up the fonts, oops.)
[09:] KryptonIDE will hide itself from the program list. Well, not right now. It will in the next version of the C Libs (8.4), but right now, KryptonIDE uses version 8.3.
[10:] Caret blink rate setting.
You can change how fast your caret blinks in the editor tab of the settings menu.
Either have it blink so fast that it distracts you from forming any thoughts:
Or so slow that you will keep forgetting where it even is:
[11:] Font test menu looks neater
It's no longer a screen with characters tossed onto it:
[12:] Token menu colors.
Token menus now respect your [s]horrible[/s] fantastic sense of fashion, and will follow the colors you have chosen for the editor:
[NOTE 00:] The battery status is updated every three minutes, so if you notice a slight stutter/freeze or the charging LEDs go ham every three minutes whilst in KryptonIDE, that's why.
[NOTE 01:] Right now, the APD (
Auto
Power-
Down) is disabled when in KryptonIDE to prevent crashing, so, don't leave your calculator on inside KryptonIDE if you don't want to drain your battery. I'll be adding something to turn the LCD off after an idle time soon.
[NOTE 02:] Right now, the editor doesn't auto save like the TI editor does, so remember to do an
[F1],
Save every now and then. I'll be adding an auto save soon.
[NOTE 03:] The sizes shown in the editor are for how many bytes are in the program, not for the size of the program itself. So the program you're editing takes up a few more bytes in RAM/Archive than the number shown in the editor. (You can see the actual size of the program in the main menu, though.)
As promised, a release is coming on Friday the 10th.
Just, uh, remind me on IRC, maybe. It's entirely possible that I might forget, I mean, I did just stay up the entire night, from sunset to sunrise, programming and writing this post, so I don't know how my memory will serve.