tynet-lichat/shirakumo - IRC Chatlog
Search
11:47:25
Colleen
Shinmera: sorry if i forgot but did you mention which code causes the random scrolling of text input components? i would like to do some non-random scrolling and maybe copy from there
11:47:25
scymtym
Shinmera: sorry if i forgot but did you mention which code causes the random scrolling of text input components? i would like to do some non-random scrolling and maybe copy from there
11:53:07
shinmera
oh, uh, you might be talking about ENSURE-VISIBLE which is meant to, well, as it says on the tin, make sure the element is in view somehow
12:05:04
shinmera
ensure-visible is known to be broken when things are nested within multiple clip-views, but should be working fine as long as it is within one?
12:26:39
Colleen
Shinmera: yeah, sorry, found it in the meantime. the problem seems to be that scrolling happens if the element is larger than the view. because the element will never be "in view" then. i'm trying to tweak ensure-visible to prevent that
12:26:39
scymtym
Shinmera: yeah, sorry, found it in the meantime. the problem seems to be that scrolling happens if the element is larger than the view. because the element will never be "in view" then. i'm trying to tweak ensure-visible to prevent that
12:27:21
Colleen
i'm also adding methods for scolling to a point and an extent so that i can scroll to the text cursor location
12:27:21
scymtym
i'm also adding methods for scolling to a point and an extent so that i can scroll to the text cursor location
12:27:52
Colleen
for things like isearch or just simply keeping the cursor from moving out of the view
12:27:52
scymtym
for things like isearch or just simply keeping the cursor from moving out of the view
12:45:22
shinmera
I'm also once again reminded of how nice it would be to have the standard dockable layout thing that Qt and GTK have
12:53:35
shinmera
ok. do you want me to do that or would you prefer me not to muck about in your files?
12:54:41
Colleen
please do. i think the earlier we start some sort of integration, the better. that said, would you add the actions in the branch?
12:54:41
scymtym
please do. i think the earlier we start some sort of integration, the better. that said, would you add the actions in the branch?
12:55:49
Colleen
keeping the cursor visible works. but the smooth scrolling gets confused somehow. if i generate extra events by e.g. pressing and releasing shift, it slowing converges to the location i want. without, it scrolls some amount but falls short
12:55:49
scymtym
keeping the cursor visible works. but the smooth scrolling gets confused somehow. if i generate extra events by e.g. pressing and releasing shift, it slowing converges to the location i want. without, it scrolls some amount but falls short
13:03:22
shinmera
iirc the way the smooth scroller works is that it remembers the last scroll position, then the new one it's set to, and then tries to interpolate
13:41:06
Colleen
here is the fixed smooth scrolling thing: https://filebox.tymoon.eu/?upload=4EDFFDIVE . the recording is choppy because my old system is running at 1/4 the normal clock speed
13:41:06
scymtym
here is the fixed smooth scrolling thing: https://filebox.tymoon.eu/?upload=4EDFFDIVE . the recording is choppy because my old system is running at 1/4 the normal clock speed
14:59:17
Colleen
i made some changes so that the new text system is used for all components. that mostly works but in some, like in the trial-ide menu, a text shape is asked to suggest a size for the smallest possible width which leads to a one-column-wide arrangement of the text
14:59:17
scymtym
i made some changes so that the new text system is used for all components. that mostly works but in some, like in the trial-ide menu, a text shape is asked to suggest a size for the smallest possible width which leads to a one-column-wide arrangement of the text
15:01:51
Colleen
would be nice if i was just not passing that on or something simple like that. i will check later
15:01:51
scymtym
would be nice if i was just not passing that on or something simple like that. i will check later
15:02:19
shinmera
the menu system needs to be revised anyway to allow the entries to have icons and show the accelerator and so on
17:02:44
Colleen
When people talked about the turnaround for quicklisp being slow, I wasn't expecting -weeks to be reviewed- slow. :<
17:02:44
jungy
When people talked about the turnaround for quicklisp being slow, I wasn't expecting -weeks to be reviewed- slow. :<
17:03:19
shinmera
it's never been fast, but ever since xach's life changed pretty drastically it's been on the order of half a year/years to get a new dist version out
17:05:21
shinmera
it's been on my todo for years now to make a "quickerdist" which is the same package set as quicklisp, but just releasing once a week, to give people preview on what it will look like
17:05:45
shinmera
redist is theoretically capable of doing this, but I just haven't had the time to do the necessary testing for it
17:09:42
Colleen
Yeah I was tinkering with redist and it worked perfectly the first time. Not used to that with software.
17:09:42
jungy
Yeah I was tinkering with redist and it worked perfectly the first time. Not used to that with software.
17:10:37
shinmera
it does have issues still that have tripped me up in production, but I don't have the capacity to deal with it atm
17:27:14
Colleen
yeah I'm just pretty excited that I'm coming close to my first project that someone else might actually use so I want to get it hosted somewhere.
17:27:14
jungy
yeah I'm just pretty excited that I'm coming close to my first project that someone else might actually use so I want to get it hosted somewhere.
17:29:16
Colleen
Yeah I mostly want to lower the threshold for it to be used, since it's more likely to be used by people who aren't familiar with CL.
17:29:16
jungy
Yeah I mostly want to lower the threshold for it to be used, since it's more likely to be used by people who aren't familiar with CL.
17:29:48
Colleen
Because for the longest time instructions involved downloading things to your dependencies and then manually loading it.
17:29:48
jungy
Because for the longest time instructions involved downloading things to your dependencies and then manually loading it.
17:47:21
shinmera
scymtym: hitting an error when defining a text shape with an extent rather than a margin:
17:47:29
shinmera
There is no applicable method for the generic function
#<STANDARD-GENERIC-FUNCTION (COMMON-LISP:SETF ORG.SHIRAKUMO.ALLOY::MAX-WIDTH) (4)>
when called with arguments
(16.0 NIL).
17:47:43
shinmera
2: ((:METHOD ORG.SHIRAKUMO.ALLOY:SUGGEST-SIZE (T ORG.SHIRAKUMO.ALLOY.RENDERERS.OPENGL.MSDF:TEXT)) (ORG.SHIRAKUMO.ALLOY:EXTENT 2.0un 1.0un 16.0un 16.0un) #<ORG.SHIRAKUMO.ALLOY.RENDERERS.OPENGL.MSDF:TEXT b..
3: ((:METHOD SHARED-INITIALIZE :AFTER (ORG.SHIRAKUMO.ALLOY.RENDERERS.OPENGL.MSDF:TEXT T)) #<ORG.SHIRAKUMO.ALLOY.RENDERERS.OPENGL.MSDF:TEXT bounds (ORG.SHIRAKUMO.ALLOY:EXTENT 2.0un 1.0un 16.0un 16.0un) re..
4: ((SB-PCL::EMF SHARED-INITIALIZE) #<unused argument> #<unused argument> #<ORG.SHIRAKUMO.ALLOY.RENDERERS.OPENGL.MSDF:TEXT bounds (ORG.SHIRAKUMO.ALLOY:EXTENT 2.0un 1.0un 16.0un 16.0un) real size NIL {121..
5: ((:METHOD MAKE-INSTANCE (CLASS)) #<STANDARD-CLASS ORG.SHIRAKUMO.ALLOY.RENDERERS.OPENGL.MSDF:TEXT> :TEXT "" :BOUNDS (ORG.SHIRAKUMO.ALLOY:EXTENT 2.0un 1.0un 16.0un 16.0un) :FONT #<ORG.SHIRAKUMO.ALLOY.RE..
6: ((LABELS SB-PCL::CALL-NEXT-METHOD-N :IN "/home/linus/Projects/cl/alloy/renderers/simple/defaults.lisp") #<ORG.SHIRAKUMO.FRAF.TRIAL.IDE::UI UI> (ORG.SHIRAKUMO.ALLOY:EXTENT 2.0un 1.0un 16.0un 16.0un) ""..
7: ((:METHOD ORG.SHIRAKUMO.ALLOY.RENDERERS.SIMPLE.PRESENTATIONS:REALIZE-RENDERABLE (ORG.SHIRAKUMO.ALLOY.RENDERERS.SIMPLE.PRESENTATIONS:DEFAULT-LOOK-AND-FEEL ORG.SHIRAKUMO.ALLOY:MENU-ITEM)) #<ORG.SHIRAKUM..
8: ((SB-PCL::EMF ORG.SHIRAKUMO.ALLOY.RENDERERS.SIMPLE.PRESENTATIONS:REALIZE-RENDERABLE) #<unused argument> #<unused argument> #<ORG.SHIRAKUMO.FRAF.TRIAL.IDE::UI UI> #<ORG.SHIRAKUMO.ALLOY:MENU-ITEM Open (..
9: ((:METHOD ORG.SHIRAKUMO.ALLOY.RENDERERS.SIMPLE.PRESENTATIONS:REALIZE-RENDERABLE :AROUND (ORG.SHIRAKUMO.ALLOY.RENDERERS.SIMPLE.PRESENTATIONS:RENDERER ORG.SHIRAKUMO.ALLOY.RENDERERS.SIMPLE.PRESENTATIONS:..
10: ((:METHOD ORG.SHIRAKUMO.ALLOY:REGISTER :AROUND (ORG.SHIRAKUMO.ALLOY:LAYOUT-ELEMENT ORG.SHIRAKUMO.ALLOY:RENDERER)) #<ORG.SHIRAKUMO.ALLOY:MENU-ITEM Open (ORG.SHIRAKUMO.ALLOY:EXTENT 0.0px 0.0px 0.0px 0.0..
17:53:31
shinmera
also once again hitting the thing where I'd like to use layouts to position shapes
18:03:06
shinmera
wondering if we can somehow re-use layouts for shape positioning and sizing strategy
18:43:09
Colleen
Shinmera: should be fixed in my version. i can probably push soon. passing the :wrap initarg fixed a lot of stuff
18:43:09
scymtym
Shinmera: should be fixed in my version. i can probably push soon. passing the :wrap initarg fixed a lot of stuff
18:43:54
Colleen
but besides that, i'm not sure whether my changes (to use the new text info for everything) break the toolbar and editor tabs
18:43:54
scymtym
but besides that, i'm not sure whether my changes (to use the new text info for everything) break the toolbar and editor tabs
18:55:13
shinmera
for the menu items not being weirdly wide, that's a recent change I just pushed to the alloy branch
19:53:30
shinmera
namely that you make the finalizer push the foreign pointer and class onto a queue, and then process that queue whenever you feel like it
19:53:55
shinmera
and being on a queue lets you process it from the correct thread, at a time that is suitable
19:54:32
shinmera
sure, you won't be able to trigger the finalization before gc pressure arrives or whatever, but at least it annulls most of the issues
19:56:03
shinmera
might take that and other lessons I've learned doing a billion wrappers and turn it into another library
21:10:46
Colleen
Speaking of wrappers, it seems pretty odd to me that no one has written a C parser in CL and used it to generate cffi bindings
21:10:46
Visen
Speaking of wrappers, it seems pretty odd to me that no one has written a C parser in CL and used it to generate cffi bindings
21:11:39
Colleen
Which? I know of none, all the existing ones I've found have been using an llvm wrapper or something to parse the C code
21:11:39
Visen
Which? I know of none, all the existing ones I've found have been using an llvm wrapper or something to parse the C code
21:12:04
shinmera
I remember hearing of two, but I don't remember either ever being like, finished, or at least finished to a point where they found use elsewhere
21:12:48
Colleen
hmm, cl-bindgen and claw are the two binding generators I know of, and they both rely on external C/C++ libraries/programs to function
21:12:48
Visen
hmm, cl-bindgen and claw are the two binding generators I know of, and they both rely on external C/C++ libraries/programs to function
21:13:09
shinmera
iirc scymtym did some work like that for one, and the other one that iirc even implemented all the actual call routines and so on to be able to call out with struct values and so on
21:14:42
shinmera
iirc it was called "noffi" but I can't find that on the useless search engines, so
21:17:41
Colleen
Yeah I know C can be tricky to parse, and the preprocessor makes things more difficult, etc..etc.., but I just really miss the seamless ffi experience that zig has when using CL
21:17:41
Visen
Yeah I know C can be tricky to parse, and the preprocessor makes things more difficult, etc..etc.., but I just really miss the seamless ffi experience that zig has when using CL
21:20:16
Colleen
Yes but llvm is built into the compiler, so the experience is seamless. I don't need to install anything special to use the bindings generator. Also I think zig uses this https://github.com/Vexu/arocc for C processing now
21:20:16
Visen
Yes but llvm is built into the compiler, so the experience is seamless. I don't need to install anything special to use the bindings generator. Also I think zig uses this https://github.com/Vexu/arocc for C processing now
21:21:35
shinmera
I often find myself slightly changing naming or doing things slightly different to make it more amenable for lisp use
21:22:09
shinmera
especially when it comes to gigantic APIs I pretty much never want to wrap all of it anyway
21:22:40
Colleen
Yes hand coded bindings will be better, but autogenerated stuff has the advantage of being available instantly, so there is less friction when prototyping
21:22:40
Visen
Yes hand coded bindings will be better, but autogenerated stuff has the advantage of being available instantly, so there is less friction when prototyping
21:25:37
Colleen
shinmera: im mostly modifying code for testing and learning reasons, its how i figure out things. when i do fixes ill upstream of course
21:25:37
zyd
shinmera: im mostly modifying code for testing and learning reasons, its how i figure out things. when i do fixes ill upstream of course
21:37:09
shinmera
scymtym: I've added a feedback project for Trial with tracks for the engine/alloy/ide
21:44:19
Colleen
I can do that ql code but then I will easily look track of changes, or forget etc. At least a magit buffer will easily show me "hey dumbass, remember that stupid thing you added? yup, still there."
21:44:19
zyd
I can do that ql code but then I will easily look track of changes, or forget etc. At least a magit buffer will easily show me "hey dumbass, remember that stupid thing you added? yup, still there."
21:49:53
Colleen
but yeah, the actual size of just source code is much small but dunno how to count that. i just ran du -hs on my dir to get the size so not really accurate lol
21:49:53
zyd
but yeah, the actual size of just source code is much small but dunno how to count that. i just ran du -hs on my dir to get the size so not really accurate lol
21:53:32
shinmera
(reduce #'+ (directory "~/Projects/cl/**/*.lisp") :key (lambda (p) (with-open-file (s p :element-type '(unsigned-byte 8)) (file-length s))))
21:53:49
shinmera
god I need to add a file-size function to filesystem-utils that isn't as stupid as CL's