It's nowhere near done yet, but I just published my new project, Lua Carousel, a lightweight cross-platform environment for creating small Lua and LÖVE programs. It's been tested across a wide variety of screen sizes on Windows, Linux, Mac, iOS and Android. On Windows, Linux and Mac you can also edit its sources live while it runs.
One major sharp edge: it doesn't save your programs yet, so they won't be restored after restart.
https://akkartik.itch.io/carousel
Source code: https://git.sr.ht/~akkartik/carousel.love
Comments most appreciated, thank you.
Lua Carousel: a programming environment for computers and mobile devices
- Kartik Agaram
- Prole
- Posts: 34
- Joined: Fri Apr 01, 2022 4:46 am
- BrotSagtMist
- Party member
- Posts: 657
- Joined: Fri Aug 06, 2021 10:30 pm
Re: Lua Carousel: a programming environment for computers and mobile devices
Not bad at all.
But why is it wasting so much space on the right?
Bugs i encountered: I cannot type any symbols, =()[] etc are ignored. I do have a non standard keyboard but these are properly send by texintput() and should just work.
Changing the window size or font size leads to crashes.
But why is it wasting so much space on the right?
Bugs i encountered: I cannot type any symbols, =()[] etc are ignored. I do have a non standard keyboard but these are properly send by texintput() and should just work.
Changing the window size or font size leads to crashes.
obey
- Kartik Agaram
- Prole
- Posts: 34
- Joined: Fri Apr 01, 2022 4:46 am
Re: Lua Carousel: a programming environment for computers and mobile devices
Both those issues are unexpected indeed. I'm only looking for those keys in `love.textinput`, not `love.keypressed`. Though I've been watching out for reports from other keyboard layouts for some time: https://github.com/akkartik/lines.love/ ... ffcb979301
Can I ask what device + OS (+ keyboard layout) you're using?
Can I ask what device + OS (+ keyboard layout) you're using?
- Kartik Agaram
- Prole
- Posts: 34
- Joined: Fri Apr 01, 2022 4:46 am
Re: Lua Carousel: a programming environment for computers and mobile devices
The space on the right is available for your programs, as my examples show
I'd appreciate alternative suggestions! My goals are to keep the text at a readable width (around 40em at most), and to support everything from phones to large monitors with something simple. The choice of editor width is currently:
Safe_width comes from love.window.getSafeArea()
I'd appreciate alternative suggestions! My goals are to keep the text at a readable width (around 40em at most), and to support everything from phones to large monitors with something simple. The choice of editor width is currently:
Code: Select all
math.min(30*width('m'), Safe_width*2/3)
- BrotSagtMist
- Party member
- Posts: 657
- Joined: Fri Aug 06, 2021 10:30 pm
Re: Lua Carousel: a programming environment for computers and mobile devices
de_neo on debian.
= for example is composed of caps+f.
Your code seems to ignore textinput when caps is pressed, at least thats the only way i could explain the problem.
= for example is composed of caps+f.
Your code seems to ignore textinput when caps is pressed, at least thats the only way i could explain the problem.
obey
- Kartik Agaram
- Prole
- Posts: 34
- Joined: Fri Apr 01, 2022 4:46 am
Re: Lua Carousel: a programming environment for computers and mobile devices
I'm not doing any strange checking of caps-lock. I _do_ check for some modifiers though at https://git.sr.ht/~akkartik/carousel.lo ... t.lua#L158. That's probably no good for a layout like this..
Do you know what modifier key LÖVE returns when you press caps lock in your setup. Here's a test program for your convenience:
---
Also, could you please share the error messages and call stacks if any for the crashes?
Do you know what modifier key LÖVE returns when you press caps lock in your setup. Here's a test program for your convenience:
Code: Select all
F = ''
function love.keypressed(key)
F = key
end
function love.draw()
love.graphics.print(F)
end
Also, could you please share the error messages and call stacks if any for the crashes?
- Kartik Agaram
- Prole
- Posts: 34
- Joined: Fri Apr 01, 2022 4:46 am
Re: Lua Carousel: a programming environment for computers and mobile devices
The reason for that logic: I want to handle shortcuts like ctrl+c to copy in `love.keypressed` without also inserting the printable character within `love.textinput`. I wonder if there's a better way to achieve that..
- BrotSagtMist
- Party member
- Posts: 657
- Joined: Fri Aug 06, 2021 10:30 pm
Re: Lua Carousel: a programming environment for computers and mobile devices
I have 6 modifier keys here and half of them is registered as alt, despite not being alt. The other return "unknown".
You are probably eating events on layout alt, you may need to change this to position alt.
I get
When changing the font size and the char € is in the text. But that error is at least cought properly.
I get a 100% cpu usage freeze when i resize the window. No error message there.
You are probably eating events on layout alt, you may need to change this to position alt.
I get
Code: Select all
Something is wrong. Sorry!
Error: text.lua:866: Text.offset returned nil; this is likely a failure to handle utf8
stack traceback:
[C]: in function 'assert'
text.lua:866: in function 'offset'
text.lua:800: in function 'x_after'
text.lua:782: in function 'nearest_pos_less_than'
text.lua:137: in function 'populate_screen_line_starting_pos'
text.lua:938: in function 'redraw_all'
on.resize:7: in function 'resize'
main.lua:153: in function <main.lua:149>
app.lua:35: in function <app.lua:35>
app.lua:174: in function <app.lua:165>
[C]: in function 'xpcall'
app.lua:193: in function <app.lua:192>
[C]: in function 'xpcall'
[love "boot.lua"]:370: in function <[love "boot.lua"]:337>
(Note: function names above don't include outer tables. So functions like on.draw might show up as just 'draw', etc.)
Options:
- press "ctrl+c" (without the quotes) to copy this message to your clipboard to send to me: ak@akkartik.com
- press any other key to retry, see if things start working again
- run driver.love to try to fix it yourself. As you do, feel free to ask me questions: ak@akkartik.com
This is error #4 in this session; things will probably not improve in this session. Please copy the message and send it to me: ak@akkartik.com.
I get a 100% cpu usage freeze when i resize the window. No error message there.
obey
- BrotSagtMist
- Party member
- Posts: 657
- Joined: Fri Aug 06, 2021 10:30 pm
Re: Lua Carousel: a programming environment for computers and mobile devices
I do not handle events at all in my editor, Löve already skips text input on its own if crtl is pressed. So there is no reason to do a modifier check at all.
obey
- Kartik Agaram
- Prole
- Posts: 34
- Joined: Fri Apr 01, 2022 4:46 am
Re: Lua Carousel: a programming environment for computers and mobile devices
Thanks a lot for those details!
Who is online
Users browsing this forum: No registered users and 1 guest