00:08:38 | * | sz0 joined #nim |
00:08:57 | * | ftsf joined #nim |
00:22:58 | * | Yaiyan quit (Ping timeout: 240 seconds) |
00:25:35 | * | Guest88863 quit (K-Lined) |
00:27:41 | * | yaiyan joined #nim |
00:28:20 | FromGitter | <JorySchossau> @Araq *facepalm* Thanks! |
00:31:08 | * | Nobabs27 quit (Quit: Leaving) |
00:39:30 | * | bjz joined #nim |
00:48:04 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
01:01:41 | * | yaiyan is now known as Yaiyan |
01:07:52 | * | Nobabs27 joined #nim |
01:14:25 | * | Gonzih quit (Ping timeout: 268 seconds) |
01:37:36 | * | Gonzih joined #nim |
02:10:29 | * | krux02 quit (Quit: Leaving) |
02:34:21 | * | sz0 quit (Quit: Connection closed for inactivity) |
02:46:06 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
02:54:23 | * | chemist69 quit (Ping timeout: 264 seconds) |
02:54:42 | * | def-pri-pub joined #nim |
03:10:09 | * | chemist69 joined #nim |
03:16:38 | * | PMunch quit (Quit: leaving) |
03:30:32 | * | rauce quit (Ping timeout: 246 seconds) |
03:32:49 | * | bjz joined #nim |
03:33:54 | * | rauce joined #nim |
03:43:50 | * | SerenityStyle joined #nim |
03:45:23 | * | brson quit (Quit: leaving) |
03:46:12 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
03:46:27 | * | brson joined #nim |
03:46:58 | * | Serenit0r quit (Ping timeout: 240 seconds) |
03:47:37 | * | brson quit (Client Quit) |
03:53:05 | * | bjz joined #nim |
03:59:21 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
04:08:06 | * | BitPuffin|osx quit (Ping timeout: 240 seconds) |
04:25:56 | * | Jesin joined #nim |
04:31:32 | * | girvo joined #nim |
04:31:38 | * | girvo waves hello |
04:34:17 | girvo | quick q: what's the best way of stubbing out imports for testing? |
04:40:30 | def-pri-pub | quit |
04:40:32 | * | def-pri-pub quit (Quit: leaving) |
04:54:53 | * | bjz joined #nim |
04:59:47 | * | ftsf quit (Ping timeout: 246 seconds) |
05:04:19 | * | Nobabs27 quit (Quit: Leaving) |
05:10:00 | * | vlad1777d joined #nim |
05:11:13 | girvo | didn't realise nickserv hadn't logged me in there |
05:11:40 | * | ftsf joined #nim |
05:11:49 | * | rauss quit (Quit: WeeChat 1.7) |
05:13:41 | * | chemist69 quit (Ping timeout: 260 seconds) |
05:21:12 | girvo | Another q: is 'var param' better than defining a 'ref object' type? |
05:21:20 | girvo | In my uses, I can |
05:21:33 | girvo | I can't really see much of a difference, so I'd rather lean towards whats conventional |
05:22:10 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
05:22:52 | girvo | Sorry, meant `var SomeType` as a param |
05:34:28 | * | bjz joined #nim |
05:53:44 | FromGitter | <Varriount> Girvo: You there? |
05:54:08 | girvo | Varriount, yep |
05:56:05 | FromGitter | <Varriount> girvo: Don't worry about memory use when passing arguments. Unless a certain pragma is used, objects above than a certain size (a pointer, I think) are passed via pointer behind the scenes. |
05:56:17 | girvo | Ah brilliant, that's what I was hoping :) |
05:56:19 | girvo | Thanks! |
05:57:38 | * | chemist69 joined #nim |
06:00:19 | girvo | Wonder what I'm doing wrong with a self: var Type: Error: unhandled exception: cannot open: [IOError] |
06:02:24 | girvo | https://hastebin.com/kudobawula.nim |
06:02:41 | girvo | Weirdly, another method on the same object works fine |
06:03:29 | ftsf | can't open a socket? |
06:03:40 | girvo | Socket's opening fine weirdly |
06:04:25 | girvo | And reading data correctly! |
06:04:50 | girvo | I think it's because of the curResponse property, it's a Response type but is modified inside of the HttpParser method |
06:05:29 | ftsf | what is the problem you're encountering? |
06:05:40 | girvo | Let me chuck the code up, one second |
06:06:07 | girvo | Alright, the whole module is: https://hastebin.com/jifehujiba.nim |
06:06:41 | girvo | Output when I execute the compiled binary: https://hastebin.com/focibovova.txt |
06:07:11 | girvo | Now 'method addRawHeader' is being called correctly, and not failing |
06:07:35 | girvo | But 'method parseHeaders' fails with IOError; I believe it's because it's calling 'self.curResponse.headers.add' |
06:08:03 | ftsf | hmm, the IOError is interesting |
06:08:47 | girvo | Does `var HttpParser` mean that the `curResponse: Response` property is _also_ `var Response`? I guess not hey |
06:10:39 | girvo | Actually, red herring. Removing those lines, it still gives IOError |
06:11:20 | girvo | Ah! It seems rawHeaders was being left empty for some reason |
06:11:28 | girvo | lines() on it was giving the IOError? |
06:12:26 | girvo | Yep that was it. Replacing the method with: `for line in lines(self.rawHeaders): echo line` |
06:12:41 | girvo | Gives the IOError (interestingly, at the method definition line, not the real line that causes it?) |
06:14:24 | girvo | Ah I'm an idiot. I concatenated some lines together incorrectly with join() so it was always empty. I'm guesing `for line in lines()` on an empty string should be throwing a nicer error though? |
06:19:07 | girvo | Or I should be using the right proc lol. I meant splitLines -- jfc I'm an idiot |
06:22:40 | ftsf | girvo, solved your issue? |
06:23:26 | girvo | I did indeed :) |
06:23:30 | girvo | Thanks for the help! |
06:24:17 | girvo | https://hastebin.com/ritiwalapi.txt |
06:25:46 | girvo | I attempted to write an HTTP response parser that worked regardless of transport, but I didn't realise how context-sensitive the HTTP protocol is to the transport its running on heh |
06:26:32 | girvo | Docker's Unix socket "speaks" HTTP, which is neat, and now I've just got to add chunked encoding and gzip handling to responses, and we can communicate with Docker in Nim via the /var/run/docker.sock without TCP :) |
06:27:17 | ftsf | nice |
06:29:59 | girvo | Then all my "execCmd" stuff in https://github.com/girvo/dup can go away, which will be lovely |
06:38:37 | girvo | Would it be crazy to have the HttpParser take procvars for it's transport handling? Then one could give it procs for AF_UNIX sockets, TCP, etc. I've not done much with procvars mind you |
06:46:32 | * | zachcarter quit (Quit: zachcarter) |
06:47:47 | * | zachcarter joined #nim |
06:51:58 | * | nsf joined #nim |
06:54:58 | * | zachcarter quit (Ping timeout: 240 seconds) |
07:15:55 | * | djellemah quit (Remote host closed the connection) |
07:24:44 | * | gangstacat quit (Quit: Ĝis) |
07:27:32 | * | Vladar joined #nim |
07:31:02 | * | gangstacat joined #nim |
07:31:08 | * | ftsf quit (Quit: :q!) |
07:35:47 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
07:38:23 | * | bjz joined #nim |
07:47:40 | * | girvo quit (Quit: leaving) |
07:47:47 | * | shashlick quit (Ping timeout: 264 seconds) |
07:48:15 | * | shashlick joined #nim |
08:13:46 | * | rokups joined #nim |
08:15:16 | * | Andris_zbx joined #nim |
08:51:34 | * | Arrrr joined #nim |
08:51:34 | * | Arrrr quit (Changing host) |
08:51:34 | * | Arrrr joined #nim |
08:57:46 | * | tankfeeder joined #nim |
09:11:43 | * | gokr joined #nim |
09:15:54 | * | gangstacat quit (Read error: Connection reset by peer) |
09:16:37 | * | byte512 joined #nim |
09:32:49 | * | Arrrr quit (Ping timeout: 240 seconds) |
09:36:25 | * | rauce quit (Ping timeout: 260 seconds) |
09:43:48 | * | Arrrr joined #nim |
09:43:48 | * | Arrrr quit (Changing host) |
09:43:48 | * | Arrrr joined #nim |
09:46:48 | * | rauce joined #nim |
09:49:53 | * | vlad1777d quit (Quit: Leaving) |
10:01:32 | * | djellemah joined #nim |
10:08:27 | * | gangstacat joined #nim |
10:27:37 | * | bjz quit (Read error: Connection reset by peer) |
10:33:10 | * | bjz joined #nim |
10:36:12 | Araq | nimsuggest is getting really good :-) excellent suggestions, stable memory usage |
10:36:18 | Araq | fast. |
10:39:54 | Araq | and the occasional bug that annoys me -.- |
10:45:30 | * | ftsf joined #nim |
10:48:00 | * | tankfeeder quit (Quit: Leaving) |
10:59:06 | * | derlafff quit (Remote host closed the connection) |
11:16:35 | * | gokr quit (Ping timeout: 264 seconds) |
11:16:37 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
11:22:07 | * | bjz joined #nim |
11:37:37 | * | elrood joined #nim |
12:02:57 | * | Snircle joined #nim |
12:10:08 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
12:24:12 | * | couven92 joined #nim |
12:31:36 | * | dexterk_ is now known as dexterk |
12:42:43 | * | StarBrilliant joined #nim |
12:43:00 | * | djellemah_ joined #nim |
12:43:03 | * | djellemah quit (Ping timeout: 256 seconds) |
12:51:33 | * | PMunch joined #nim |
12:53:32 | * | BitPuffin|osx joined #nim |
12:55:38 | * | gokr joined #nim |
12:58:04 | * | derlafff joined #nim |
13:00:32 | * | zachcarter joined #nim |
13:07:51 | * | tankfeeder joined #nim |
13:08:44 | * | BitPuffin|osx quit (Remote host closed the connection) |
13:09:18 | * | BitPuffin|osx joined #nim |
13:15:14 | * | kokozedman joined #nim |
13:15:44 | * | zachcarter quit (Quit: zachcarter) |
13:28:30 | * | Salewski joined #nim |
13:29:16 | kokozedman | hey guys, been a long time since I haven't been playing and I'm a bit rusty. please, how do I deal with this again? |
13:29:18 | kokozedman | client.nim(65, 25) Error: type mismatch: got (ptr string, uint16, uint8, ptr InAddr) but expected one of: proc writeIPHeader(buff: var string; totallen: uint16; proto: uint8; dst: ref InAddr) |
13:29:57 | flyx | kokozedman: well, a `ptr string` is certainly not a `var string` |
13:30:18 | flyx | and a `ref InAddr` is not a `ptr InAddr` |
13:30:22 | kokozedman | flyx: yeah, I know... but I don't remember at all how I dealt with this kind of thing before |
13:30:33 | flyx | well you need to show your code |
13:31:08 | kokozedman | well, the proc signature is already above, this is how I call it: writeIPHeader(addr ipicmp, 20.uint16, 1.uint8, addr dest[0].sin_addr) |
13:31:40 | kokozedman | I'm guessing, I shouldn't give the addr |
13:31:48 | kokozedman | but, that won't work either |
13:32:06 | flyx | drop the addr on ipicmp |
13:32:16 | flyx | for the InAddr, things are more complicated |
13:32:27 | flyx | you need to make a ref InAddr from your ptr InAddr |
13:32:32 | flyx | this is not a trivial conversion |
13:33:02 | flyx | can you change the proc signature to take a `ptr InAddr`? |
13:34:11 | kokozedman | yeap, already done |
13:34:35 | kokozedman | thanks flyx |
13:39:06 | Salewski | Araq, thanks for fixing the latest nimsuggest bugs. Will be more fun now without that random crashes! |
13:42:09 | * | couven92 quit (Quit: Client disconnecting) |
13:42:27 | * | couven92 joined #nim |
13:44:17 | * | Salewski left #nim (#nim) |
13:50:48 | * | fredrik92 joined #nim |
13:50:50 | * | couven92 quit (Quit: Bye) |
13:51:25 | * | fredrik92 is now known as couven92 |
14:04:39 | * | zachcarter joined #nim |
14:16:29 | * | byte512 quit (Ping timeout: 240 seconds) |
14:37:17 | * | zachcarter_ joined #nim |
14:39:13 | * | zachcarter quit (Ping timeout: 256 seconds) |
14:39:13 | * | zachcarter_ is now known as zachcarter |
14:42:43 | * | rauss joined #nim |
14:44:55 | * | vlad1777d joined #nim |
14:47:17 | * | PMunch quit (Quit: leaving) |
14:49:00 | * | zachcarter_ joined #nim |
14:51:53 | * | zachcarter quit (Ping timeout: 260 seconds) |
14:51:53 | * | zachcarter_ is now known as zachcarter |
14:56:58 | * | gokr1 joined #nim |
14:57:21 | * | gokr quit (Ping timeout: 256 seconds) |
14:58:04 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
15:01:05 | * | vlad1777d quit (Remote host closed the connection) |
15:05:38 | * | kokozedman quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
15:10:53 | * | gokr1 quit (Ping timeout: 246 seconds) |
15:17:28 | * | gangstacat quit (Quit: Ĝis) |
15:27:24 | * | tankfeeder quit (Quit: Leaving) |
15:48:58 | * | zachcarter quit (Quit: zachcarter) |
16:09:37 | * | couven92 quit (Read error: Connection reset by peer) |
16:30:23 | * | zachcarter joined #nim |
16:33:53 | * | deavmi joined #nim |
16:34:17 | * | kokozedman joined #nim |
16:39:12 | zahary_ | I wrote a short guide for debugging the compiler for a friend, who wants to start contributing. Some of you may find it useful too: https://github.com/nim-lang/Nim/wiki/Debugging-the-compiler |
16:55:54 | * | deavmi quit (Quit: deavmi) |
17:06:03 | dom96 | zahary_: nice :D |
17:07:13 | Araq | zahary_ just use 'koch temp' |
17:07:27 | Araq | and write about 'koch temp -d:useNodeIds' |
17:07:30 | Araq | bbl |
17:09:20 | * | Trustable joined #nim |
17:27:54 | * | Andris_zbx quit (Remote host closed the connection) |
17:29:16 | * | freevryheid joined #nim |
17:29:22 | * | freevryheid is now known as fvs |
17:36:49 | * | brson joined #nim |
17:48:49 | * | gokr joined #nim |
17:57:19 | * | tankfeeder joined #nim |
17:57:20 | * | Trustable quit (Remote host closed the connection) |
18:00:01 | * | kokozedman quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
18:05:51 | * | BitPuffin|osx quit (Remote host closed the connection) |
18:06:25 | * | BitPuffin|osx joined #nim |
18:24:58 | * | vendethiel quit (Ping timeout: 240 seconds) |
18:28:57 | * | vendethiel joined #nim |
18:36:42 | * | tankfeeder quit (Quit: Leaving) |
19:01:02 | * | nsf quit (Quit: WeeChat 1.7) |
19:07:58 | * | rauss quit (Ping timeout: 240 seconds) |
19:09:57 | FromGitter | <konqoro> hey dom96, sometime ago I submitted a package to nimble (not mine) for gnuplot, so would it be ok if I changed it to the fork I made, instead? |
19:10:05 | * | rauss joined #nim |
19:10:53 | FromGitter | <konqoro> cause I tried to make pr's but it takes alot for him to merge them, and now I made a lot of changes |
19:12:36 | * | fvs left #nim ("leaving") |
19:18:07 | dom96 | konqoro: can you get in contact with the owner? |
19:23:03 | * | libman joined #nim |
19:23:54 | * | Vladar quit (Remote host closed the connection) |
19:25:38 | FromGitter | <konqoro> well I thought about sending an email, but I dont see a point |
19:26:34 | * | PMunch joined #nim |
19:28:53 | elrood | the point would be that transferring the ownership over a package with the consent of its current owner would be a much cleaner and more pleasant approach than just doing it without consulting him, perhaps? |
19:30:49 | FromGitter | <konqoro> well I took the initiative to clean it and make a package from shitty code from 2015, so who the f* cares |
19:31:11 | FromGitter | <konqoro> ...honestly |
19:32:33 | FromGitter | <konqoro> but ok I will notify him first even though he hadn't merge my previous prs |
19:33:14 | FromGitter | <konqoro> or I wouldn't bother do anything cause I already spent a lot of time on it |
19:33:26 | FromGitter | <konqoro> and im busy |
19:34:18 | elrood | we don't know who does or doesn't care. would it be such an unreasonable hassle to find out instead of just doing it? your point of having invested a lot of effort is valid, of course, but it still is someone else's package technically and originally |
19:36:20 | elrood | sorry for barging in, it's essentially dom96's call, i guess |
19:36:48 | FromGitter | <konqoro> no its ok, I agree with you elrood |
19:36:59 | euantor | This whole issue is why PHP packages are namespaced like `euantor\somepackage`, rather than just `somepackage`. Same with .NET: `Euantor.SomePackage` |
19:37:09 | euantor | Would probably make sense for something similar in Nim |
19:37:41 | dom96 | yeah, I would like to do something similar for Nimble. |
19:38:23 | euantor | Ah, dom96 whilst I have you here did you see my PR for nimforum? |
19:38:44 | dom96 | yes |
19:38:51 | dom96 | Haven't had a chance to review though |
19:38:53 | euantor | If so, was my assumption right about the "Illegal capture" error I was getting, and if so what do you think would be the best approach to fixing it? |
19:38:56 | dom96 | But waitFor is a show stopper |
19:39:15 | euantor | Yes, I don't want it merging until I get that fixed |
19:40:06 | PMunch | Hmm, Araq: in the wxWidgets bindings I noticed that some of the widgets were missing. Some of them were easy to import but spinctrl required me to add a {.emit: "#include <wx/spinctrl.h>".} statement to my code (for some reason I couldn't add it to spinctrl.nim). Why does this one specifically require it but none of the others? |
19:45:00 | Araq | PMunch: ha, no idea. you're holding it wrong :P |
19:45:09 | PMunch | :P |
19:45:20 | PMunch | That's honestly what it feels like |
19:45:37 | Araq | well create some PR and let me review it |
19:50:02 | * | byte512 joined #nim |
19:52:41 | PMunch | https://github.com/Araq/wxnim/pull/3 |
19:53:01 | PMunch | Since I'm working off of my old branch it automatically added them to my last PR |
19:53:08 | PMunch | But nim.cfg is reverted now |
19:53:39 | PMunch | To your version (I still use --passL:"`wx-config --libs`" on my system) |
19:54:56 | Araq | oh btw your DSL is weird |
19:55:15 | PMunch | Haha, still not convinced? :P |
19:55:32 | Araq | mainFrame%Frame(...) |
19:55:41 | Araq | (Frame as mainFrame)(...) ? |
19:55:48 | PMunch | Yeah, that part was implemented in a rush |
19:56:00 | Araq | let mainFrame = Frame(...): ... |
19:56:08 | Araq | though that needs better parsing support |
19:56:11 | PMunch | The syntax of the whole thing is something that I've more or less selected randomly :P |
19:56:27 | Araq | yeah it shows |
19:56:43 | PMunch | It's more of a proof of concept |
19:57:01 | Araq | StaticBox(label = "Numbers")[proportion = 1] | Boxsizer(orient = wxVertical) |
19:57:03 | Araq | --> |
19:57:29 | Araq | StaticBox(label = "Numbers")[proportion = 1, orient = wxVertical] # I don't care wxWidgets requires a Boxsizer for that |
19:57:50 | PMunch | Oh no |
19:58:05 | PMunch | proportion is how the static box would be packed into the parent sizer |
19:58:15 | PMunch | And then | Boxsizer is the sizer for the StaticBox |
19:58:38 | PMunch | so [proportion = 1] is used for packing it into the parent Panels sizer |
19:58:45 | Araq | yes? that's what I mean. I don't care. |
19:59:07 | Araq | in fact the sizers are all horrible design, but that's besides the point |
19:59:29 | PMunch | Well, the idea is fair enough. Keep layouting separate from your widgets |
19:59:57 | Araq | what's a widget then? it's not layout, it's not behaviour, it's not ... |
20:00:30 | PMunch | Widgets (or window which they are confusingly called in WX) are the visual elements on the screen |
20:00:48 | PMunch | Sizers define the layout for the widgets in them |
20:00:56 | Araq | see? *visual* elements. hence layout belongs to them. :P |
20:01:19 | PMunch | Well, you don't really see layout as such |
20:01:43 | Araq | well I use text to describe it. |
20:02:23 | PMunch | But that is more out of necessity for WxWidgets. The whole thing is supposed to be as transparent with WxWidgets as possible. |
20:02:37 | PMunch | So if you know WxWidgets it would be a small step to start using this |
20:02:55 | * | vendethiel quit (Ping timeout: 268 seconds) |
20:03:40 | * | vendethiel joined #nim |
20:03:53 | PMunch | It would obviously be possible to wrap it in a further layer of abstraction |
20:04:22 | PMunch | But for now I just wanted something that was easier and more pleasing to work with than WxWidgets but still allowed to the same power and flexibility |
20:04:35 | Araq | I don't think a shortcut for BoxSizer would be a further layer of abstraction |
20:04:46 | PMunch | Well, there are other sizers |
20:04:50 | PMunch | Like Grid sizer |
20:05:03 | Araq | "orient = wxVertical" could imply BoxSizer |
20:05:15 | Araq | and "orient= wxGrid" or whatever the grid sizer |
20:05:26 | Araq | anyway, https://github.com/Araq/wxnim/blob/master/private/spinctrl.nim looks like I wrapped this |
20:05:38 | Araq | and it uses header: wx, not wx/spinctrl |
20:05:52 | Araq | most likely that was wrapped but never tested? |
20:07:30 | PMunch | Oh yeah, it was wrapped already |
20:08:04 | PMunch | But it doesn't work unless you add {.emit: "#include <wx/spinctrl.h>".} to your file for some reason |
20:08:17 | PMunch | As you can see in controlgallery.nim |
20:08:36 | Araq | I think wx.h only #includes common controls |
20:09:07 | Araq | and so we don't get away with header: wx for some controls like wxSpinCtrl |
20:09:20 | Araq | does that make sense? |
20:09:31 | PMunch | And about the sizers "orient" is just one of the arguments that the boxsizer takes. It would definitely be possible to add some more defaults but for now I've kept it as light-weight and transparent as possible. |
20:09:49 | PMunch | Aah right, that makes sense |
20:10:36 | PMunch | So SpinCtrl is basically not a part of the most common set of controls |
20:10:44 | Araq | PMunch: I'm not telling you what to do. I only make some incompetent suggestions |
20:11:25 | Araq | but the DSL syntax should be a bit nicer, no matter if you abstract over the foolish sizers or not ;-) |
20:12:13 | * | rokups quit (Quit: Connection closed for inactivity) |
20:12:19 | PMunch | Oh yeah, the DSL could be a lot nicer. |
20:13:09 | PMunch | And the whole system could be nicer if it was either wrapped in an abstraction or if you wrote something from the bottom up. |
20:16:43 | Araq | well the DSL is not bad, I only dislike the % and | really |
20:17:00 | PMunch | Yeah, I wasn't quite sure what do do with those |
20:17:07 | PMunch | Earlier I didn't have | |
20:17:19 | PMunch | And sizers just looked like normal widgets |
20:17:35 | PMunch | But that had some issues since they are not really handled in the same way |
20:18:02 | PMunch | So it was cleaner to put the sizers along with the widget they belonged to |
20:18:18 | PMunch | And | was randomly designated to be the character for that :P |
20:18:31 | Araq | yeah, sizers should be hidden, so no need for | |
20:18:45 | PMunch | Well, that would break with the transparency idea |
20:18:48 | Araq | and % should be an explicit 'let name = ...' |
20:18:57 | PMunch | Plus the system DSL would need to know where to add them.. |
20:19:10 | Araq | it's still transparent if you document it well. |
20:19:27 | Araq | some list of props that indicate a sizer |
20:19:30 | PMunch | Currently it doesn't really know anything about the system :P It just generate code and let's the compiler decide if the resulting code should work or not |
20:19:48 | Araq | that's how DSLs should work :-) |
20:19:49 | PMunch | Yeah, but then I would have to compile a list |
20:19:56 | Araq | yeah but that's simple. |
20:20:00 | * | Arrrr quit (Ping timeout: 240 seconds) |
20:20:06 | PMunch | I know, but I'd still have to do it :P |
20:20:28 | PMunch | This is a v0.0.1 proof of concept |
20:20:43 | PMunch | I actually added the first defaults yesterday night |
20:20:59 | Araq | it's not v0.0.1, it's close to "useful" |
20:21:33 | PMunch | Now all widgets expand to their containers and have a slight border on them. Earlier you basically required packing options on all widgets :P |
20:22:41 | Araq | yeah, wxWidgets is cumbersome to work with |
20:23:12 | Araq | there is a reason why web apps took off :P the native UI libraries are all quite bad |
20:23:50 | PMunch | Yeah, it's a shame really |
20:24:41 | PMunch | I was actually thinking about rewriting LibUI in Nim, and make a "native" DSL for it |
20:26:00 | Araq | wow :-) |
20:30:19 | * | scriptum quit (Quit: Leaving) |
20:30:20 | PMunch | But that would require a bit of work.. |
20:32:03 | * | RPG joined #nim |
20:32:12 | * | Matthias247 joined #nim |
20:32:26 | * | RPG is now known as Guest46148 |
20:32:27 | * | brson quit (Ping timeout: 260 seconds) |
20:35:18 | FromGitter | <Jeff-Ciesielski> I always found kivy fairly nice to work with in python, but it lacked a lot of 'business' widgets. That DSL looks great and sort of reminds me of the KV DSL that kivy uses. |
20:35:30 | * | vendethiel quit (Ping timeout: 240 seconds) |
20:35:36 | * | vendethiel- joined #nim |
20:47:42 | * | shashlick quit (Ping timeout: 258 seconds) |
20:48:16 | * | shashlick joined #nim |
20:51:09 | * | brson joined #nim |
20:56:09 | Calinou | libui is alright, except that it targets GTK+3 on Linux :P |
20:56:16 | Calinou | (it should have targeted Qt 5 instead) |
20:56:28 | Calinou | (but maybe that's not possible with a C library) |
20:59:11 | PMunch | Qt 5? :S |
21:00:14 | PMunch | Problem with Qt is that it's quite different from other widget toolkits |
21:05:14 | * | nsf joined #nim |
21:11:15 | cheatfate | it should not target any ugly windows toolkits |
21:11:30 | cheatfate | i mean windows/linux toolkits |
21:11:37 | PMunch | ? |
21:13:02 | demi- | cheatfate: harsh but fair :) |
21:14:54 | cheatfate | PMunch, what is current native UI on Linux? |
21:15:02 | cheatfate | its XWindows, Mir and Wayland |
21:15:02 | PMunch | Well |
21:15:19 | PMunch | Linux doesn't really have one native UI, since it's not really one system |
21:15:20 | cheatfate | except XWindows Mir and Wayland don't have widgets |
21:15:43 | PMunch | But most distributions typically ships their core utilities in either Gtk or Qt |
21:16:05 | PMunch | KDE for example is QT, while Gnome is Gtk |
21:16:16 | cheatfate | but most stable applications are using xcb,xlib |
21:16:30 | PMunch | Only the really low-level stuff |
21:16:49 | PMunch | I've written stuff in xlib and trust me, that's not something you want to do |
21:17:02 | demi- | i think the same can be said about Qt tho |
21:17:21 | cheatfate | PMunch, i know what i'm talking about because i have used xlib/xcb too |
21:17:45 | FromGitter | <Jeff-Ciesielski> QT also has licensing issues |
21:18:08 | PMunch | Oh yeah, that's also a factor |
21:19:47 | Calinou | same for GTK+ |
21:19:48 | Calinou | both are LGPL |
21:20:29 | Calinou | the most permissive widely-used solution is wxWidgets (LGPL + static linking exception), but it's not very pretty |
21:21:19 | PMunch | wxWidgets uses the system default graphics toolkit |
21:21:31 | PMunch | So it should look like any other native program |
21:22:25 | PMunch | And Qt is only LGPLv3 for open source projects |
21:22:34 | Calinou | it's LGPLv3 for everyone |
21:22:47 | Calinou | you can develop proprietary software, comply with the LGPLv3 and distribute your commercial software |
21:22:51 | Calinou | it's cumbersome but possible :) |
21:22:56 | PMunch | https://www.qt.io/licensing-comparison/ |
21:23:00 | Calinou | "LGPLv3 for open source projects" doesn't make sense |
21:23:04 | PMunch | Not according to their licensing chart |
21:23:15 | Calinou | they like to sell lies :) |
21:23:21 | Calinou | (and apparently, it work)s |
21:23:22 | Calinou | works* |
21:23:39 | PMunch | LGPLv3, GPLV2/GPLV3, or Commercial licence (for $79 a month). |
21:23:59 | Calinou | if you don't use any GPLv2/v3 components, you should be fine with dynamic linking |
21:24:57 | PMunch | Gtk+ is GNU LPGL for everyone |
21:29:16 | PMunch | And wxWidgets has it's own license, but it's pretty much the same as LGPL |
21:29:54 | * | Snircle joined #nim |
21:30:29 | * | Nobabs27 joined #nim |
21:32:13 | PMunch | Hmm, Araq you on? |
21:32:31 | PMunch | I was wondering if you could screenshot the controlgallery window |
21:32:39 | PMunch | I'm curious to see what it looks like on Windows |
21:35:39 | * | bjz joined #nim |
21:39:43 | * | couven92 joined #nim |
21:46:45 | * | brson quit (Ping timeout: 260 seconds) |
21:55:52 | Araq | PMunch: sorry I'm busy |
21:56:59 | PMunch | No problem |
22:00:18 | * | brson joined #nim |
22:05:57 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
22:06:36 | * | zachcarter quit (Ping timeout: 240 seconds) |
22:08:00 | * | djellemah_ quit (Ping timeout: 240 seconds) |
22:24:44 | * | Ven joined #nim |
22:36:48 | * | vlad1777d joined #nim |
22:40:22 | Araq | PMunch: you have debug echos in your macro constructions |
22:40:34 | PMunch | Huh? |
22:40:57 | PMunch | Oh yeah, I forgot to take those out when I pushed it |
22:41:29 | Araq | ok |
22:41:36 | Araq | tell me when you want it merged |
22:42:00 | PMunch | Will do |
22:48:41 | * | nsf quit (Quit: WeeChat 1.7) |
22:50:49 | * | byte512 quit (Ping timeout: 240 seconds) |
22:51:31 | * | zachcarter joined #nim |
22:57:29 | * | djellemah joined #nim |
23:00:07 | * | rauss quit (Quit: WeeChat 1.7) |
23:13:48 | * | elrood quit (Remote host closed the connection) |
23:18:01 | * | ftsf_ joined #nim |
23:30:11 | * | Matthias247 quit (Read error: Connection reset by peer) |
23:30:58 | * | libman quit (Quit: Connection closed for inactivity) |
23:37:29 | * | Nobabs27 quit (Quit: Leaving) |
23:39:00 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
23:46:30 | * | gokr quit (Ping timeout: 240 seconds) |
23:51:58 | * | brson quit (Ping timeout: 240 seconds) |
23:52:59 | * | onionhammer joined #nim |
23:58:57 | * | Pisuke quit (Ping timeout: 260 seconds) |