00:02:02  * TooTallNatequit (Quit: Linkinus - http://linkinus.com)
00:10:53  * paddybyersquit (Quit: paddybyers)
00:11:26  * Ariajoined
00:16:20  * isaacsjoined
00:20:50  * isaacsquit (Remote host closed the connection)
00:29:46  * pfox___joined
01:17:53  * sh1mmerjoined
01:34:08  * pfox___quit (Ping timeout: 240 seconds)
01:37:52  * sh1mmerquit (Quit: sh1mmer)
02:12:00  * pfox___joined
02:16:19  * pfox___quit (Ping timeout: 248 seconds)
02:29:28  * sh1mmerjoined
02:40:26  * orlandovftwjoined
03:04:15  * orlandovftwquit (Ping timeout: 244 seconds)
03:12:05  * sh1mmerquit (Quit: sh1mmer)
03:12:52  * sh1mmerjoined
03:12:59  * sh1mmerquit (Client Quit)
03:30:47  * indutny_sleepingchanged nick to indutny
03:32:11  * mmaleckichanged nick to mmalecki[zzz]
04:15:39  * dshaw_joined
04:22:11  * orlandovftwjoined
04:26:42  * isaacsjoined
04:40:37  * dylukesquit (Quit: Pipes are broken. Sending packets via Fedex.)
04:45:51  * orlandovftwquit (Ping timeout: 250 seconds)
04:46:02  * isaacsquit (Remote host closed the connection)
05:11:26  * Ariaquit (Remote host closed the connection)
05:24:10  * mordy_part
06:28:11  * hij1nxjoined
06:32:37  * mikealjoined
06:38:18  * mikealquit (Quit: Leaving.)
06:45:56  * mikealjoined
06:48:27  * mikealquit (Client Quit)
06:50:17  * isaacsjoined
07:00:00  * mikealjoined
07:12:42  * orlandovftwjoined
07:40:57  * mikealquit (Quit: Leaving.)
07:47:59  * mikealjoined
07:49:36  * dshaw_quit (Quit: Leaving.)
07:54:32  * philipsquit (Excess Flood)
07:57:08  * philipsjoined
07:59:24  * orlandovftwquit (Ping timeout: 272 seconds)
08:17:00  * txdv_joined
08:18:35  * mmalecki[zzz]changed nick to mmalecki
08:20:46  * txdvquit (Ping timeout: 250 seconds)
08:50:39  * rendarjoined
09:16:14  * isaacsquit (Remote host closed the connection)
09:47:46  * `3rdEdenjoined
10:44:10  * mmaleckichanged nick to mmalecki[away]
11:01:50  * paddybyersjoined
11:02:06  * dvvjoined
11:02:20  <dvv>Hi!
11:02:44  <dvv>I;m failing to build a libuv.so with gyp:
11:02:50  <dvv> SOLINK(target) /home/dvv/projects/luvit/deps/uv/out/Debug/obj.target/libuv.so
11:02:51  <dvv>/usr/bin/ld: /home/dvv/projects/luvit/deps/uv/out/Debug/obj.target/uv/src/uv-common.o: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
11:03:04  <dvv>dvv@dvv:~/projects/luvit/deps/uv/out$ uname -a
11:03:05  <dvv>Linux dvv 3.0.0-16-generic #29-Ubuntu SMP Tue Feb 14 12:48:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
11:05:19  * paddybyersquit (Client Quit)
11:29:47  * `3rdEdenquit (Quit: Leaving...)
11:31:17  * paddybyersjoined
11:33:24  * paddybyersquit (Client Quit)
11:51:50  * `3rdEdenjoined
12:24:19  * paddybyersjoined
12:53:05  * paddybyersquit (Quit: paddybyers)
13:25:32  * paddybyersjoined
13:41:55  * paddybyersquit (Quit: paddybyers)
14:15:53  * hij1nxquit (Quit: hij1nx)
14:33:23  * dvvpart
14:49:23  * AndreasMadsenjoined
15:39:16  * isaacsjoined
16:05:23  * paddybyersjoined
16:10:01  * orlandovftwjoined
16:11:54  * paddybyersquit (Quit: paddybyers)
16:15:29  * isaacsquit (Remote host closed the connection)
16:30:12  * paddybyersjoined
16:30:13  * paddybyersquit (Client Quit)
16:32:40  * hij1nx_joined
16:32:53  * hij1nx_quit (Client Quit)
16:32:54  * paddybyersjoined
16:33:40  * paddybyersquit (Client Quit)
16:52:34  * TooTallNatejoined
17:07:36  * dylukesjoined
17:13:23  * skomskijoined
17:22:06  * dylukesquit (Quit: Pipes are broken. Sending packets via Fedex.)
17:25:20  * skomskiquit (Quit: skomski)
17:36:55  * mikealquit (Quit: Leaving.)
17:41:58  * mikealjoined
17:49:50  * orlandovftwquit (Ping timeout: 252 seconds)
17:52:51  * mikealquit (Quit: Leaving.)
17:56:40  * AndreasMadsenquit (Ping timeout: 260 seconds)
17:58:25  * mikealjoined
17:59:40  * AndreasMadsenjoined
18:16:09  * paddybyersjoined
18:24:12  * sh1mmerjoined
18:29:55  * mikealquit (Quit: Leaving.)
18:46:33  * paddybyersquit (Quit: paddybyers)
18:55:37  * paddybyersjoined
18:59:39  * mikealjoined
19:11:11  * bnoordhuisjoined
19:13:30  * `3rdEdenquit (Quit: Leaving...)
19:38:46  * AndreasMadsenquit (Remote host closed the connection)
19:39:51  * TooTallNatequit (Quit: Linkinus - http://linkinus.com)
19:43:50  * `3rdEdenjoined
19:56:24  * piscisaureus_joined
19:56:28  * TooTallNatejoined
19:58:48  * mikealquit (Quit: Leaving.)
20:06:48  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
20:08:07  * dylukesjoined
20:29:29  * `3rdEdenquit (Quit: Zz)
20:40:27  <dylukes>bnoordhuis: Hey.
20:41:55  * sh1mmerquit (Quit: sh1mmer)
20:47:30  * mikealjoined
20:47:47  <dylukes>Does anyone know where uv_udp_set_ttl is actually defined...?
20:47:49  <dylukes>I can't find it XD.
20:50:19  <dylukes>oh... it's defined by macro...
20:50:21  <dylukes>>_>.
20:57:52  * mikealquit (Quit: Leaving.)
21:05:20  * brsonjoined
21:07:31  * piscisaureus_joined
21:20:40  * Raynosquit (Max SendQ exceeded)
21:26:16  * mrb_bkquit (Max SendQ exceeded)
21:28:32  * mrb_bkjoined
21:39:18  * indutnyquit (Ping timeout: 245 seconds)
21:39:26  * coderarityquit (Ping timeout: 246 seconds)
21:40:14  * mrb_bkquit (Max SendQ exceeded)
21:54:30  * mrb_bkjoined
21:57:10  * mrb_bkquit (Max SendQ exceeded)
22:06:54  * mrb_bkjoined
22:14:34  <piscisaureus_>benvie: I do not understand your ticket
22:14:49  <piscisaureus_>benvie: setvbuf has no effect since we don't use the crt
22:15:52  <CIA-99>libuv: saghul master * re729a82 / uv.gyp :
22:15:52  <CIA-99>libuv: build: don't link against the Carbon framework
22:15:52  <CIA-99>libuv: Unused. The Makefile doesn't link against it either. - http://git.io/rGlivA
22:16:19  <piscisaureus_>benvie: yt?
22:16:27  <benvie>is there a way to make a way to conditionally use what would be needed to do so?
22:16:47  <benvie>that's what i was trying to figure it out before
22:16:48  <piscisaureus_>benvie: what are you attempting that does not work on windows?
22:16:55  <benvie>the -i flag
22:16:58  <TooTallNate>piscisaureus_: this is basically to make mintty usable with readline stuff
22:17:18  <TooTallNate>piscisaureus_: it's a problem now since mintty always reports false for isatty()
22:17:34  <TooTallNate>piscisaureus_: and subsequently, data on stdin is line buffered
22:17:36  <piscisaureus_>TooTallNate: that won't be fixed.
22:17:38  <TooTallNate>(which is bad)
22:18:01  <benvie>and I did confirm finally, man working with a broken shell is hard
22:18:08  <TooTallNate>python works around it...
22:18:16  * travis-cijoined
22:18:16  <travis-ci>[travis-ci] joyent/libuv#147 (master - e729a82 : saghul): The build is still failing.
22:18:16  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/c9c9d80...e729a82
22:18:16  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/944771
22:18:16  * travis-cipart
22:18:17  <benvie>I was wondering
22:18:42  <benvie>how much of a buy in it is in terms of the crt
22:18:52  <TooTallNate>piscisaureus_: all that we're looking to do is a way to force stdin into an unbuffered state, regardless of whether it's a pipe or a console
22:18:54  <piscisaureus_>benvie: we are not using the crt
22:19:15  <piscisaureus_>TooTallNate: in libuv, everything is always unbuffered, except for *reading* from the stdin
22:19:31  <benvie>yeah that's the problem point sadlu
22:19:45  <piscisaureus_>which is line-buffered by default, but that can be overridden with the setRawMode
22:19:55  <piscisaureus_>(uv_set_mode)
22:19:59  <TooTallNate>piscisaureus_: right, we need a way to do setRawMode()
22:20:03  <TooTallNate>on a pipe, not a console
22:20:08  <benvie>can that work a on pipe?
22:20:10  <TooTallNate>since that's what mintty gives us
22:20:18  <benvie>if that can work on a pipe
22:20:20  <benvie>then we're golden
22:20:25  <piscisaureus_>TooTallNate: so you want a pipe in line-buffered mode?
22:20:35  <benvie>unbuffered
22:20:40  <piscisaureus_>it is already unbuffered
22:20:43  <benvie>er
22:20:52  <TooTallNate>piscisaureus_: no, mintty gives us a pipe for stdin, we need to to be in "raw mode"
22:21:05  <TooTallNate>piscisaureus_: node sees it as a net.Socket, not a tty.ReadStream
22:21:17  <benvie>events are raised on lines rather than any input
22:22:02  <piscisaureus_>benvie: that is a flaw of mintty - we cannot do anything about that I think
22:22:34  <piscisaureus_>setrawmode can't work on a pipe because SetConsoleMode cannot work on a pipe
22:22:35  <TooTallNate>piscisaureus_: python works around it with it's -i flag
22:22:48  <benvie>I have a backupl plan though, you gave me an idea earlier
22:23:01  <piscisaureus_>TooTallNate: so what does the -i flag do in python?
22:23:15  <benvie>that code I put is what it does
22:23:17  <benvie>with setvbuf
22:23:26  <piscisaureus_>setvbuf will have no effect
22:23:28  <benvie>I think?
22:23:31  <piscisaureus_>setvbuf is a crt call
22:23:44  <benvie>yeah so that's what I sort of thought might be the issue
22:23:48  <TooTallNate>piscisaureus_: so is the difference that python uses the crt?
22:23:50  <benvie>that's not gonuig to work
22:23:52  <benvie>yeah
22:24:03  <piscisaureus_>line buffering on pipes is done by the crt
22:24:08  <piscisaureus_>we don't use the crt
22:24:21  <piscisaureus_>line buffering for pipes therefore is always off
22:24:52  <piscisaureus_>if you only get one data event per line, that's because mintty doesn't send us anything until you hit enter
22:25:07  <TooTallNate>piscisaureus_: would something like this be a workaround? http://stackoverflow.com/a/8482891/376773
22:25:14  <benvie>ok I'm going to look into it on that end more then
22:25:18  <benvie>this is so close to work
22:25:20  <benvie>working
22:25:44  <benvie>I mean it does work just stdin is a complete mess
22:26:09  <benvie>stdout is great now though
22:26:19  <piscisaureus_>TooTallNate: that code creates a console for non-console processes. It won't work in node.
22:26:59  <piscisaureus_>TooTallNate: your patch where the repl can work with any stream instead of with just pipes is as good as it gets
22:27:36  <TooTallNate>piscisaureus_: ok, and that's almost ready and will indeed help with mintty i believe
22:27:43  <benvie>I have one my hack to try
22:27:46  <TooTallNate>(give it colors at least.... maybe...)
22:27:54  <benvie>SetWindowsHookEx
22:28:03  <benvie>I will intercept the goddamn keyboard
22:28:11  <benvie>it will work!
22:33:13  <piscisaureus_>TooTallNate: benvie: https://gist.github.com/5eeded9d874f11af3d94
22:33:22  <piscisaureus_>Look, a pipe is unbuffered in node!
22:34:03  <benvie>arggggg I want that to work here
22:34:10  <benvie>I will make it
22:34:24  <benvie>I would beat my computer with my keyboard until it works
22:34:36  <benvie>I am going to
22:35:04  <benvie>and if now I'm going to set a WH_KEYBOARD hook up
22:35:12  <benvie>and I'm going to run a message loop using setTimeout
22:35:15  * sh1mmerjoined
22:35:18  <benvie>just to intercept the keypressed
22:35:59  <TooTallNate>benvie: i think we just gotta accept that mintty is gonna be crippled a little bit :p
22:36:18  <piscisaureus_>benvie: can you run vi in mintty?
22:36:55  * mikealjoined
22:37:00  <TooTallNate>good question
22:37:18  <TooTallNate>seems like it hangs
22:37:31  <piscisaureus_>TooTallNate: try to hit enter :-)
22:37:55  <TooTallNate>http://cl.ly/282r2j2N1x0q2A2q1q2a
22:39:02  <piscisaureus_>looks broken to me
22:39:09  <TooTallNate>yup
22:40:33  <benvie>hmm
22:40:35  <benvie>I haven't tried
22:40:36  <TooTallNate>http://code.google.com/p/mintty/issues/detail?id=56
22:40:43  <benvie>it's not just mintty though
22:40:45  <benvie>it's everything
22:41:00  <benvie>if there was another thing I'd use that but it's a fundamental issue with the stupid as windows console
22:41:31  <benvie>it's so tantalizingly close now though
22:41:53  <TooTallNate>what do you mean its not just mintty?
22:42:07  <piscisaureus_>benvie: you can probably make it work if you just give the repl stdin regardless of its type.
22:42:32  <piscisaureus_>benvie: (if/when TooTallNate's nate work on the repl is done)
22:42:34  <TooTallNate>piscisaureus_: it works mostly, just things like tab completion dont
22:42:39  <CIA-99>node: Andreas Madsen master * r83aae35 / doc/api/cluster.markdown : doc: fix markup in cluster docs - http://git.io/p9e71A
22:42:40  <CIA-99>node: Zachary Scott master * r0dd8e01 / doc/api/fs.markdown :
22:42:40  <CIA-99>node: doc: document fs.createReadStream() encodings
22:42:40  <CIA-99>node: Fixes #2700. - http://git.io/pvD-Gw
22:43:38  * dylukesquit (Quit: Computer has gone to sleep.)
22:44:02  <piscisaureus_>benvie: if you really want to fix this, you'll have to fix mintty (or create a better alternative)
22:44:22  <piscisaureus_>benvie: there are only two approaches that can work in the general case.
22:44:28  <piscisaureus_>benvie: 1. a hidden console window a la console2
22:45:10  <piscisaureus_>benvie: 2. hook all console related functions with EAT/IAT hooks and provide a better implementation for them
22:45:21  <piscisaureus_>benvie: both are going to be *a lot* of work
22:45:38  <piscisaureus_>benvie: option 2 is probably even more work but also the most #win
22:46:36  <benvie>but look
22:46:38  <benvie>http://bbenvie.com/img/MINTTY1.png
22:46:41  <benvie>http://bbenvie.com/img/MINTTY2.png
22:46:48  <benvie>it's so colorful
22:46:52  <TooTallNate>piscisaureus_: sounds like youre getting a little interested now :p
22:46:55  <benvie>some things are worth fighting for
22:47:19  <TooTallNate>benvie: so that's mintty?
22:47:22  <benvie>yeah
22:47:23  <piscisaureus_>benvie: yes, what are you meaning to tell me?
22:47:48  <benvie>I'm just trying to convey my love for xterm-256
22:48:07  <benvie>I'm just expatiating
22:48:10  <TooTallNate>benvie: so what doesn't work there?
22:48:19  <benvie>the input is totally screwed
22:48:22  <benvie>I can type
22:48:26  <benvie>and press enter
22:48:30  <benvie>but everything else is broken
22:48:41  <benvie>and also the input line regularly resets tot he beginning while I type code
22:48:42  <TooTallNate>sounds about right :p
22:48:44  <benvie>but I think that might be fixable
22:48:58  <benvie>the stdout really does work great and perfectly
22:49:01  <benvie>didn't use to
22:49:15  <benvie>also that core dump thing there is hilarious timing
22:49:15  <TooTallNate>how are you determining the window size?
22:49:22  <benvie>I don't even know!
22:49:23  <benvie>it just does!
22:49:29  <benvie>I didn't do it
22:49:34  <piscisaureus_>benvie: heh
22:49:45  <piscisaureus_>well, probably because the win size is now hardcoded in node
22:50:03  <benvie>no to some extent it resizes
22:50:09  <benvie>not horizontally but vertically
22:50:15  <benvie>I'm not sure what's going on there
22:50:30  <piscisaureus_>yeah
22:50:37  <TooTallNate>well if you're just using readline then it's agnostic of the height
22:50:55  <benvie>no it expands to the full height and then it never uses more lands
22:51:00  <benvie>it writes over the same area
22:51:12  <piscisaureus_>benvie: isn't that something mintty does
22:51:25  <benvie>I'm guessing it has some stuff
22:51:29  <benvie>I mean I know it has like
22:51:31  <piscisaureus_>but - yeah, of course the colors work
22:51:42  <piscisaureus_>because of node's internals
22:51:51  <benvie>it has some escape codes for controlling it, like special ones for mintty
22:52:07  <benvie>well it's the ansi escapes
22:52:12  <piscisaureus_>yeah
22:52:19  <benvie>just there can be more than 16 of them!
22:52:32  <piscisaureus_>and because *normally* libuv interprets the ansi escape codes :-)
22:52:37  <piscisaureus_>but not if stdout is a pipe
22:52:46  <piscisaureus_>so the ansi escape codes are transferred to mintty
22:52:53  <TooTallNate>oh that makes sense :)
22:53:09  <benvie>oh yeah so it's not munging the output too which either I fixed something or that improved since I last did this
22:53:29  * dylukesjoined
22:53:47  <piscisaureus_>benvie: so to make stdin work
22:54:17  <benvie>yeah that's basically the thing. Mintty provides all the escapes I need to get window size and that jazz
22:54:25  <piscisaureus_>either you make sure node thinks stdin is a pipe, but start the repl anyway, and present vt100 key codes to the stdin (because node interprets these)
22:54:49  <TooTallNate>benvie: what's the "get windows size" escape?
22:54:53  <TooTallNate>didn't know of that one
22:55:14  <TooTallNate>piscisaureus_: that's what the current -i does
22:55:19  * dylukesquit (Client Quit)
22:55:19  <TooTallNate>the one I put in recently
22:55:19  <benvie>I saw the general one in the comments for tty.js but I also think mintty has a set of custom escapes
22:55:40  <piscisaureus_>... or you make node think stdin is a tty, and (somehow) present INPUT_RECORD structs to ReadConsoleInput
22:55:40  <benvie>the docs for the browser part of tty.js have an incredible wealth of ansi escape seqeuence lore in then
22:56:08  <benvie>which you presumably don't expect to be provided in a non-real console situation
22:56:18  <piscisaureus_>benvie: TooTallNate: libuv-win does not support the "get window size" escape code
22:56:34  <TooTallNate>benvie: are you talking about chjj's tty.js project?
22:56:38  <benvie>yeah
22:56:44  <benvie>and I was thinking more the other way around
22:56:51  <TooTallNate>ok, node has one too so i was confused :p
22:56:53  <benvie>that mintty will read escapes
22:56:57  <benvie>oh yeah
22:57:14  <benvie>no chjj's tty.js on the client
22:57:17  <benvie>the interpretor
22:57:19  <benvie>holy hell
22:57:23  <benvie>that is miles behind
22:57:51  <benvie>it's basically all of the code that libuv has to support the tty combined with the js stuff in node and then some more
22:57:55  <piscisaureus_>benvie: TooTallNate: also, node does not use this atm. on unix the tty size is read with tcgetattr, and on windows it could be read with GetConsoleScreenBufferInfo
22:58:10  * travis-cijoined
22:58:10  <travis-ci>[travis-ci] joyent/node#642 (master - 0dd8e01 : Zachary Scott): The build is still failing.
22:58:10  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/4515987...0dd8e01
22:58:10  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/944883
22:58:10  * travis-cipart
22:58:16  <benvie>yeah I I was thinking about making a thing to grab that but
22:58:27  <benvie>the real goal is to be using not cmd.exe anyway
22:58:40  <TooTallNate>piscisaureus_: ya that's why i was surprised an ansi code even existed
22:58:49  <TooTallNate>i thought it was a native only thing
22:59:46  <piscisaureus_>TooTallNate: the ansi escape code exists, but I don't know how many terminals support it. Basically the idea is to write some escape code to stdout and then the window size will be presented to stdin by the terminal
22:59:56  <benvie>here it is
23:00:10  <TooTallNate>right, i've seen "get cursor pos" and "report mouse clicks" working
23:00:14  <TooTallNate>reading them from stdin
23:00:15  <bnoordhuis>piscisaureus_: btw, i'm at the office tomorrow
23:00:22  <piscisaureus_>bnoordhuis: ok, why?
23:00:30  <bnoordhuis>piscisaureus_: because i feel like it
23:00:31  <piscisaureus_>bnoordhuis: but, fine. I will be there too.
23:00:45  <bnoordhuis>that's my excuse for everything, really
23:00:53  <benvie>http://invisible-island.net/xterm/ctlseqs/ctlseqs.html
23:01:04  <benvie>halfway down
23:01:15  <benvie>P s = 4 ; height ; width → Resize the xterm window to given height and width in pixels. Omitted parameters reuse the current height or width. Zero parameters use the display’s height or width.
23:01:17  <bnoordhuis>piscisaureus_: also, i have a tentative beer date with edje but you're free to join
23:01:34  <piscisaureus_>ok, I'll consider it :-)
23:02:05  <benvie>so the escape codes for like everythig in this page are in chjj's tty.js
23:02:11  <benvie>it's crazy
23:02:23  <TooTallNate>lol
23:02:53  <TooTallNate>benvie: does like, mouse tracking, work in mintty?
23:02:59  <benvie>yeah
23:03:02  <benvie>and scrollwheel
23:03:10  <benvie>http://code.google.com/p/mintty/wiki/CtrlSeqs
23:03:14  <TooTallNate>in node?
23:03:32  <benvie>oh I guess it doesn't have full mouse control
23:03:44  <benvie>but yeah anything it does do is just going to be in the form of ansi escapes
23:03:48  <benvie>which means just parsing them
23:03:49  <TooTallNate>i mean it will probably work
23:04:01  <benvie>or emitting them
23:04:11  <piscisaureus_>so, what's the point?
23:04:23  <piscisaureus_>you can't control the mouse with node
23:04:27  <benvie>256 colors is priority number one
23:04:43  <piscisaureus_>benvie: use 256 colors where?
23:04:47  <TooTallNate>benvie: https://gist.github.com/1702813
23:04:59  <benvie>so I have my custom inspector code
23:05:07  <benvie>that has different colors
23:05:09  <benvie>for everything
23:05:14  <benvie>16 is terrible
23:05:41  <benvie>hmm
23:05:43  <TooTallNate>benvie: try running that gist in mintty
23:05:46  <piscisaureus_>benvie: well, the windows console does not support 256 colors so you're kind of out of luck with that.
23:05:49  <TooTallNate>needs master branch
23:05:56  <benvie>ok sec
23:06:04  <benvie>I know that's why I want mintty
23:06:05  <TooTallNate>piscisaureus_: i think he's only worried about mintty there
23:06:16  <benvie>if cmd.exe did
23:06:22  <benvie>then I wouldn't care about mintty =D
23:06:37  <TooTallNate>i hate how you can't resize cmd.exe horizontally
23:06:44  <benvie>you kind of can
23:06:48  <benvie>you have to go into the options to do
23:06:53  <benvie>and type the columsn in
23:06:53  <piscisaureus_>yeah but it is very painfuk
23:06:54  <TooTallNate>ya it sucks
23:06:55  <benvie>I have mine set to 140
23:06:56  <benvie>yeah
23:07:07  <piscisaureus_>that's why someone needs to write a better console for windows
23:07:11  <benvie>super bright red stdin must be initialized before calling setRawMode
23:07:19  <TooTallNate>piscisaureus_: do you use console2?
23:07:22  <benvie>the colors are so much more vibrant
23:07:30  <piscisaureus_>TooTallNate: sometimes
23:07:44  <TooTallNate>ahh, cool. i've yet to try it
23:07:46  <piscisaureus_>TooTallNate: but I can't get used to the fact that the cursor doesn't blink :-/
23:07:47  <benvie>I'm wondering how performant that could be made
23:07:54  <TooTallNate>hahah
23:08:02  <benvie>like that's the best solution in theory if it didn't lag
23:08:17  <TooTallNate>benvie: what is?
23:08:20  <benvie>since you're completely divorced from the console
23:08:34  <piscisaureus_>Someone should really write a IAT/EAT hook based console for windows
23:08:35  <benvie>it basically polls a hidden child cmd.exe
23:08:41  <benvie>and usses that as the tty
23:08:45  <piscisaureus_>(or a forkpty() extension for node that uses that)
23:09:19  <benvie>it seems like there'd be room there to make that into a full replacement but I dunno
23:09:21  <TooTallNate>piscisaureus_: and what would that be translated into? "keypress" events?
23:09:33  <TooTallNate>and lots of tiny "data" events?
23:09:40  <benvie>holy shit1]
23:09:42  <benvie>the mouse worked
23:09:48  <benvie>oh my god it scared the shit out of me
23:09:48  <TooTallNate>nice
23:09:50  <TooTallNate>go mintty
23:09:56  <TooTallNate>lol
23:10:00  <TooTallNate>it scared you?
23:10:09  <benvie>it clearly isn't working correctly
23:10:16  <benvie>I was moving my mouse like a minute after I put it in
23:10:24  <piscisaureus_>TooTallNate: if you read from a windows "pty" you should read utf8 w/ ansi escape codes
23:10:27  <benvie>and shit started popping out at me
23:10:42  <benvie>but yeah it works, ha
23:10:57  <benvie>another reason to get mintty working
23:11:05  <piscisaureus_>TooTallNate: and if you write vt100 key codes to the pty, the child processes should see CONSOLE_INPUT structs appear when they call ReadConsoleInput
23:11:45  <benvie>so I made a thing that uses the windows clipboard using node ffi
23:11:54  <benvie>and I made it so I could copy js objects to the clipboard
23:11:59  <benvie>pointers to them
23:12:14  <benvie>and it actually worked, like copying from one vm context to another
23:12:24  <benvie>kind of a funny idea
23:12:47  <benvie>I want to copy and paste js objects from like node into the browser
23:13:39  <TooTallNate>benvie: how did you get it working?
23:13:43  <TooTallNate>the mouse reporting
23:13:48  <TooTallNate>remove setRawMode()?
23:13:55  <benvie>I think I might be able to get mintty working, I just need figure ouit why all this stuff is broken
23:14:29  * dylukesjoined
23:14:34  <benvie>no actually
23:14:41  <benvie>I hit enter again
23:14:49  <TooTallNate>oh wow
23:14:50  <benvie>setRawMode won't work but it didn't need that
23:14:51  <TooTallNate>lame
23:15:13  <TooTallNate>it's not working like i was expecting
23:15:15  * skomskijoined
23:15:15  <benvie>I don't see a way setRawMode could work at all
23:15:35  <benvie>but I don't think it's needed
23:16:02  <benvie>I need to bypass the few remaining chunks of TTY.js
23:17:43  <benvie>wow
23:17:48  <benvie>so I exited node
23:17:57  <benvie>and now moving the mouse around is like a techno rave
23:18:01  <benvie>how is this...still happening
23:18:25  <TooTallNate>maybe mintty requires you to turn it off
23:18:27  * sh1mmerquit (Quit: sh1mmer)
23:18:46  <benvie>yeah just moving the mouse makes it go flipmode
23:19:08  * sh1mmerjoined
23:19:14  <benvie>well I like things that break by being too ridiculous more than by being boring
23:19:39  <benvie>cmd.exe never gave me a laser light show
23:20:51  <benvie>you should check this out when you have a minute too https://github.com/Benvie/view-buffer
23:27:16  * mrb_bkquit (Max SendQ exceeded)
23:27:28  * skomskiquit (Quit: skomski)
23:30:14  <TooTallNate>benvie: mouse reporting works in vim in cmd.exe so is possible somehow
23:33:37  <benvie>oh is it?
23:33:44  <benvie>cool
23:33:56  <TooTallNate>can't find any docs anywhere :\
23:34:22  <TooTallNate>piscisaureus_: or are there native Console calls for mouse clicks?
23:35:12  <piscisaureus_>TooTallNate: they are reported to the stdin but libuv does not translate them into ansi codes. Instead, they are ignored.
23:35:39  <TooTallNate>piscisaureus_: are they always reported or is there a way to enable/disable it?
23:35:39  <piscisaureus_>TooTallNate: http://msdn.microsoft.com/en-us/library/windows/desktop/ms684961%28v=vs.85%29.aspx
23:35:40  * mrb_bkjoined
23:35:50  <piscisaureus_>TooTallNate: can be enabled/disabled.
23:36:13  <piscisaureus_>TooTallNate: http://msdn.microsoft.com/en-us/library/windows/desktop/ms686033%28v=vs.85%29.aspx
23:36:24  <TooTallNate>well that's at least something that could be added to libuv right?
23:36:58  <piscisaureus_>TooTallNate: I think I would take patches for it but it is very low-prio.
23:36:58  * brsonquit (Quit: leaving)
23:37:21  <TooTallNate>piscisaureus_: sure, sure. but ideally this would work in cmd.exe: https://gist.github.com/1702813
23:37:27  <piscisaureus_>TooTallNate: we should then expand uv_tty_set_mode to take this as an option
23:38:05  <TooTallNate>piscisaureus_: xterm has you write \x1b[?1005h\x1b[?1003h to stduot
23:38:06  <piscisaureus_>TooTallNate: you are aware that the keypress event is going away right (you did the patch yourself)
23:38:07  <TooTallNate>stdout
23:38:08  * rendarquit
23:38:27  <TooTallNate>piscisaureus_: i think we still have to expose it as `readline.emitKeypressEvents()`
23:38:36  <piscisaureus_>TooTallNate: ah, right
23:38:39  <TooTallNate>`readline.emitKeypressEvents(readable)`
23:38:56  <piscisaureus_>TooTallNate: also, this does not prevent people from interpreting these codes themselves
23:39:15  <TooTallNate>right, they can still listen on 'data' themselves
23:39:24  <piscisaureus_>yeah
23:39:44  <TooTallNate>piscisaureus_: but isn't uv_tty_set_mode == setRawMode()?
23:39:47  <TooTallNate>which just takes a bool
23:39:54  <TooTallNate>err, a Boolean
23:39:54  <benvie>wait
23:40:08  <benvie>but the data event isn't just a line thing
23:40:19  <benvie>data is fine, it's just when it's not timely
23:40:24  <TooTallNate>benvie: i've moved onto cmd.exe for the moment
23:40:25  <benvie>is the issue
23:40:28  <piscisaureus_>TooTallNate: yeah, it takes just a bool at the moment, but that could change obviously
23:40:36  <benvie>yeah I mean
23:40:40  <piscisaureus_>TooTallNate: ryah and me discussed this but we just never did it
23:40:54  <piscisaureus_>TooTallNate: what can be reported on windows is described here -> http://msdn.microsoft.com/en-us/library/windows/desktop/ms683499%28v=vs.85%29.aspx
23:40:54  <benvie>basically there's still a way to listen for key events?
23:41:01  <TooTallNate>piscisaureus_: but what i'm saying is for compatibility with other programs, it should just be those commands written to stdout
23:41:12  <TooTallNate>then libuv interprets them, enables the click events,
23:41:18  <piscisaureus_>nah
23:41:24  <TooTallNate>and then translates them into ansi codes in stdin
23:41:28  <TooTallNate>no?
23:41:44  <piscisaureus_>TooTallNate: if we can do it with uv_tty_set_mode that would be fine with me.
23:42:16  <TooTallNate>piscisaureus_: it's just if we did that we would have to make it unix-compatible too, right?
23:42:32  <TooTallNate>and have libuv write \x1b[?1005h\x1b[?1003h to stdout for your
23:42:35  <TooTallNate>*you
23:43:58  <TooTallNate>bnoordhuis: how do you feel about that?
23:44:08  <bnoordhuis>TooTallNate: ?
23:44:41  <TooTallNate>bnoordhuis: a flag for uv_tty_set_mode to enable mouse click reporting. which would write \x1b[?1005h\x1b[?1003h to stdout on unix
23:44:47  <TooTallNate>and a Windows-equivalent on windows
23:46:08  * piscisaureus_quit (Ping timeout: 246 seconds)
23:46:16  <bnoordhuis>TooTallNate: uhm... i don't think that's easy to do, portably
23:46:30  <bnoordhuis>also, what do you need it for?
23:46:56  <TooTallNate>well it would only work on like xterm-compatible unix terminals
23:47:05  <TooTallNate>but windows has a notion of MouseEvents on it's cmd.exe
23:47:11  <TooTallNate>vim uses it
23:47:59  <TooTallNate>but on unix it's just 2 escape sequences written to stdout
23:48:15  * mikealquit (Quit: Leaving.)
23:48:29  <TooTallNate>bnoordhuis: i was saying to bert that instead, libuv should catch those 2 escape sequences when written to stdout
23:48:38  <TooTallNate>and then have libuv enable the windows reporting
23:48:52  <TooTallNate>but he insisted this other scenario
23:49:37  <bnoordhuis>TooTallNate: won't your terminal emulator filter them out unless you set a flag?
23:49:56  <TooTallNate>bnoordhuis: i was mainly trying to have this work on windows cmd.exe https://gist.github.com/1702813
23:50:11  <TooTallNate>bnoordhuis: it works already on unixes, so that's why i liked my approach better
23:51:08  <TooTallNate>bnoordhuis: specifically the "enable mouse reporting" bit at the bottom
23:51:15  <TooTallNate>could be interpreted by libuc
23:51:20  <TooTallNate>libuv, on windows
23:51:32  <TooTallNate>but on unix it would pass through as it does now
23:52:07  <bnoordhuis>i suppose that's workable
23:52:19  <TooTallNate>but bert didn't like that
23:52:29  <TooTallNate>instead he wanted to add an option to tty_set_mode()
23:52:29  <TooTallNate>:\
23:52:42  <TooTallNate>which would actually require an API change to node as well
23:52:51  <TooTallNate>since currently setRawMode() only accepts a Boolean
23:52:53  * mikealjoined
23:53:02  <bnoordhuis>i don't have a real strong opinion on the subject
23:53:09  <TooTallNate>damn :p
23:53:11  * piscisaureus_joined
23:53:17  <TooTallNate>youre supposed to be on my side :p
23:54:32  <bnoordhuis>TooTallNate: i'm on the side of justice and virtue
23:54:42  <bnoordhuis>also, i don't know how complicated it is to implement on windows
23:54:43  <piscisaureus_>meh. UPC broke down
23:56:07  <piscisaureus_>TooTallNate: you are aware that you can control/read the terminal size, set/get the process title etc all via ansi escape codes
23:56:27  <piscisaureus_>TooTallNate: there are codes to kill puppies too as well as one to cure cancer
23:56:33  <piscisaureus_>But I am not really fond of this interaction mode
23:56:45  <TooTallNate>i agree about that
23:57:09  <TooTallNate>the whole request to stdout + response to stdin thing seems fragile
23:57:10  * mrb_bkquit (Ping timeout: 246 seconds)
23:57:50  <TooTallNate>but i figure libuv already normalizes the other escape codes
23:59:01  <piscisaureus_>TooTallNate: normalize?
23:59:22  <TooTallNate>i mean how it handles colors on windows
23:59:45  <bnoordhuis>TooTallNate: btw, what do 1003 and 1005 do? i thought 1000 was everything you need
23:59:55  <piscisaureus_>TooTallNate: well that's just parsing them. Windows has no notion of ansi escape codes.