**** BEGIN LOGGING AT Sat Jan 21 02:59:57 2012 Jan 21 03:16:00 dtzWill: ping me when u get back and have energy Jan 21 14:47:59 hmm, PuffTheMagic: getting close to fixing the black screen/just cursor on startup bug Jan 21 14:50:07 I wonder if there's any reason not to do this Jan 21 15:00:51 we call terminal->start() which does login and starts the reader thread and flushes its output buffer to sdlterminal (if sdlterminal is attached and is ready) Jan 21 15:01:12 then we do sdlTerminal->resetTerminal() to set terminal modes and such and then attach sdlterminal with terminal->setExtTerminal(sdlTerminal) Jan 21 15:03:30 basically the buffer flush happens before setExtTerminal() is called Jan 21 15:08:44 calling setExtTerminal() earlier fixes it but I dunno if that's the correct way to do it and there are lots of other ways to fix it (manually flushing it once at the start, setting it to retry the flush later on failure, etc) Jan 21 15:40:18 Brybry, i am happy with any 1 fix for now Jan 21 15:40:50 wow something kills my TP battery since being on 305 Jan 21 16:51:54 i wish my TP would boot Jan 21 16:52:10 over an hour and it still things it needs to change Jan 21 16:52:11 charge Jan 21 16:52:16 what is up with this 305 update Jan 21 16:52:25 a dead TP used to boot up in minutes Jan 21 16:52:39 this thing is gonna be fully charged before it decides to boot Jan 21 16:54:15 I don't think mine has actually been off of usb since 3.0.5 Jan 21 16:54:50 i moved the setExtTerminal shit to right after ->isReady() Jan 21 16:54:56 i cant test it though cause.... Jan 21 16:59:38 I've been testing it Jan 21 17:00:29 like, I always get the shell prompt but a couple of times after hitting backspace it would disappear (maybe any input, unsure) Jan 21 17:00:42 and I've been trying to reproduce that so I can figure out why Jan 21 17:07:24 grrrr Jan 21 17:07:27 still hasnt booted Jan 21 17:07:31 i might downgrade Jan 21 17:07:34 this is stupid Jan 21 17:11:35 * Brybry does basic style waits with for loops Jan 21 17:12:41 YAY! Jan 21 17:12:42 booting Jan 21 17:12:44 if I lag resetTerminal() it still happens but for different reasons that I'm not sure of yet Jan 21 17:12:47 2 hours later Jan 21 17:13:33 not usleep() ? Jan 21 17:15:30 wtf, my TP has a wopping 1% battery Jan 21 17:15:34 after charging for 2 hours Jan 21 17:25:36 Brybry, well im gonna commit the change I made for the time being, but if u find a more optimal solution let me know Jan 21 17:25:39 send a pull request Jan 21 17:25:48 will do Jan 21 18:12:06 Brybry, still around? Jan 21 18:12:15 yeah Jan 21 18:12:26 I'm pondering if it's ok to do call resetTerminal() earlier Jan 21 18:12:36 possibly Jan 21 18:13:09 i have another todo for you while you are poking around in that area of the code Jan 21 18:13:59 sure Jan 21 18:14:13 this call here -> PDL_CallJS("ready", NULL, 0); Jan 21 18:14:21 in terminalmain Jan 21 18:15:00 really shouldnt happen till syslog(LOG_INFO, "Started pseudo terminal."); is reached Jan 21 18:15:03 in terminal.cpp Jan 21 18:15:11 but im not sure how to wait for that Jan 21 18:15:19 since its in a forked child process Jan 21 18:15:45 this is an issue for the launch args i introduced Jan 21 18:15:59 cant inject a command until the shell is actually ready Jan 21 18:16:20 so the only way I can get that to work is a delayed called in the js Jan 21 18:16:25 which is sorta racey Jan 21 18:17:50 well, you know 'started pesudo terminal' happened if it isReady(), right? Jan 21 18:17:59 ehhh Jan 21 18:18:08 cause it sets it just after that Jan 21 18:18:18 yes but thats not good enough Jan 21 18:18:21 well Jan 21 18:18:27 there is some other async weirdness Jan 21 18:19:05 all i know is that if a command is injected before I see Started pseudo terminal. in syslog Jan 21 18:19:08 it fails Jan 21 18:19:21 even if it happens after there needs to be a little buffer Jan 21 18:19:39 so there is something else going on that we shoudl really defer telling enyo it ready till Jan 21 18:19:46 i havent figured it out yet though Jan 21 18:20:35 Woot, got a 5th fork of wterm Jan 21 18:29:25 like for shits and giggles do a while (!terminal->isReady()); before PDL_CallJS() and see if that solves it Jan 21 18:29:59 ooh Jan 21 18:30:03 i just noticed Jan 21 18:30:05 not how I'd want to solve it in the end Jan 21 18:30:10 sdlTerminal and terminal both have ready Jan 21 18:30:17 yup Jan 21 18:30:18 have an isReady Jan 21 18:30:19 doh Jan 21 18:30:23 totally overlooked that Jan 21 18:30:25 they both extend exterminal Jan 21 18:30:35 or extterminal, whatever Jan 21 18:30:38 i suppose i can throw a sched_yield in there Jan 21 18:30:50 in the while loop Jan 21 18:31:13 optionally the JS side could ask it if it's ready yet Jan 21 18:32:15 but I dunno if that even solves the race condition Jan 21 18:32:31 what you suggested should Jan 21 18:33:13 hell Jan 21 18:33:23 this might also even help with the blank term on startup issue Jan 21 18:33:23 idk Jan 21 18:33:32 nah Jan 21 18:34:23 the blank term on startup is entirely the screen getting erased/reset after the shell prompt is sent Jan 21 18:34:48 we just get lucky and it typically erases it before Jan 21 18:35:43 while (!terminal->isReady()) Jan 21 18:35:43 sched_yield(); Jan 21 18:35:43 PDL_CallJS("ready", NULL, 0); Jan 21 18:35:46 that did the trick Jan 21 18:35:54 I checked and that shouldn't infinite loop Jan 21 18:36:12 because if it fails to start/become ready then start() returns -1 and that never gets hit Jan 21 18:37:34 good call on that Jan 21 18:51:01 http://www.ustream.tv/channel/scale-10x people be visiting Jan 21 18:58:42 wow that mic is killing my speakers Jan 21 18:59:34 and too laggy to watch Jan 21 19:02:23 sensitive mic is sensitive Jan 21 19:06:11 i love the 5 second bursts of this stream Jan 21 19:07:26 lol Jan 21 19:08:16 halfhalo, tell that guy its rude to wear hats indoors Jan 21 19:09:59 lol Jan 21 19:12:52 <_minego> PuffTheMagic: I've just built wTerm and installed it on the emulator. It causes a luna crash every time I try to start it though. Am I doing something wrong? Jan 21 19:13:35 umm Jan 21 19:13:46 i havent tried this in the emu Jan 21 19:13:55 but its probably related to SDL Jan 21 19:13:58 and opengl Jan 21 19:14:10 and it being a hybrid plugin Jan 21 19:14:12 <_minego> Okay, I'll try on the device then Jan 21 19:14:53 <_minego> How do I do an arm build? I tried the emulator because the default build game me an i686 build. Jan 21 19:15:44 export DEVICE=1 Jan 21 19:15:45 make Jan 21 19:15:55 <_minego> Awesome. Thanks. Jan 21 19:16:08 assuming you are using a build.git setup Jan 21 19:16:20 <_minego> Yeah Jan 21 19:16:27 <_minego> That worked. I have an arm build now. Jan 21 19:17:00 make test will install and launch it Jan 21 19:17:04 make install will just install it Jan 21 19:17:13 you can also do export LOGLEVEL= Jan 21 19:17:18 with values from 0-7 Jan 21 19:17:20 <_minego> I saw that. I use the same build targets in my apps. Jan 21 19:17:24 <_minego> Oh nice Jan 21 19:17:26 to control how verbose syslog is Jan 21 19:17:32 and then there is also DEBUG= Jan 21 19:17:34 <_minego> I do a lot of similar stuff in my Makefiles, but yours are more elegant hehe Jan 21 19:17:40 0-3 Jan 21 19:17:59 my makefiles are a mess Jan 21 19:18:18 <_minego> If this is a mess then mine are REALLY bad. Jan 21 19:18:50 <_minego> Well crap, luna restart on the device too Jan 21 19:19:12 do a make clean Jan 21 19:19:15 <_minego> Oh something isn't right with my PDK setup... Jan 21 19:19:22 <_minego> I got a "command not fund" on one command Jan 21 19:19:53 break it down Jan 21 19:19:54 make Jan 21 19:19:56 make install Jan 21 19:19:57 make test Jan 21 19:20:14 <_minego> I see the problem. I'm going to re-do my PDK setup. I think I screwed part of it up. Jan 21 19:21:02 _minego, so what are you thinking about doing to the keyboard? Jan 21 19:21:40 <_minego> I have a few things I'd like to try. The first is making it so that you can slide from shift, alt or control to another key to press them together. Jan 21 19:22:30 <_minego> So if you touch control and then slide it to C and release then you'll get a control-C Jan 21 19:22:42 <_minego> If you don't slide then it would work exactly like it does now Jan 21 19:23:41 idk how you would do that with multitouch Jan 21 19:23:46 but knock your self out Jan 21 19:23:52 ;) Jan 21 19:23:58 <_minego> hehe Jan 21 19:24:15 <_minego> Yeah the way the events work will make it tricky. I'm going to try though. Jan 21 19:25:34 <_minego> So I've been looking through the code and I've gotta ask.... who hates ; and why? Jan 21 19:26:08 :D Jan 21 19:26:56 that would be me Jan 21 19:27:22 so used to python where such things are not needed Jan 21 19:27:28 <_minego> Ah Jan 21 19:27:29 felt like keeping up with that style Jan 21 19:27:50 <_minego> I spend most of my time in C, so seeing a line without a ; looks ... odd. Jan 21 19:28:14 i did a lot of C for a long time but I try not to any more Jan 21 19:28:36 <_minego> I write C for a living, and it is still my favorite language. Jan 21 19:29:00 <_minego> Are you gonna reject my patches if they have ;s? Jan 21 19:29:11 no Jan 21 19:29:24 <_minego> Well then I have no complaints :) Jan 21 19:30:14 <_minego> I think I know how I can make this work with the touch events, but it would only work with one finger at a time. Jan 21 19:30:25 <_minego> It won't prevent multitouch from working though Jan 21 19:30:49 <_minego> You just wouldn't be able to do the drag thing if you already have a finger touching. Jan 21 19:31:08 <_minego> Anyway, I'll play with it and see if I can get anywhere Jan 21 19:31:10 we have alternating braces styles too :D Jan 21 19:31:31 <_minego> Brybry: Yeah I noticed that Jan 21 19:32:35 <_minego> It looks like my coding style is pretty similar to PuffTheMagic's, except that I use ; Jan 21 19:33:18 _minego, i typically match the existing code Jan 21 19:33:26 so like all the C++ code is BSD style Jan 21 19:33:33 cause thats how the orig code was Jan 21 19:33:43 but i would prob do KnR style if i started it my self Jan 21 19:33:48 <_minego> That makes sense Jan 21 19:33:50 with the JS since I did that my self i used no ; Jan 21 19:38:29 I think for the keyboard we could potentially benefit from toggling on some of the modifier keys like the palm vkb does but I dunno exactly how the best implementation would be Jan 21 19:38:48 like, press ctrl once to toggle, or hold down ctrl for x time to toggle, or double tap ctrl to toggle, etc Jan 21 19:39:51 <_minego> I was thinking the same thing Jan 21 19:40:01 and then should it release the toggle on one keypress or lock until modifier is pressed again? or have input methods for both single toggle and toggle lock? etc Jan 21 19:40:15 <_minego> I think just a tap would work well enough Jan 21 19:41:35 <_minego> I was thinking if you tap ctrl or alt quickly then it should toggle. Then the next time all keys are up should release. Jan 21 19:41:53 <_minego> So you can tap ctrl, then press one or more keys and once they are all released it turns off. Jan 21 19:41:57 <_minego> Does that make sense? Jan 21 19:42:31 <_minego> Maybe that's too confusing though Jan 21 19:42:47 I was thinking tap: toggle, double tap: lock, and then if they're holding it down still after a keypress of non-modifier don't set it up when the toggle is canceled (or maybe don't cancel the toggle at all then) Jan 21 19:43:04 <_minego> Yeah I like that Jan 21 19:43:32 we send keypress on down not release and we have a stuck key/release not firing bug =/ Jan 21 19:43:50 <_minego> oh? Jan 21 19:44:09 yeah, sometimes the touchend event doesn't fire for keys and we don't really know why Jan 21 19:44:15 or at least I don't think anyone has figured it out yet Jan 21 19:44:48 <_minego> Well that's annoying Jan 21 19:50:06 _minego, Brybry or better yet, to prevent confusion, figure out how the stock VKB behaves and mimic that Jan 21 19:50:36 from a users point of view, I would prefer that it matches the same behavior as the stock one for the modifier keys Jan 21 19:51:25 my way is close to the stock Jan 21 19:51:43 the stock only has shift though and doesn't really do multitouch Jan 21 19:51:47 and fires on keyups Jan 21 19:52:49 hmm, I do like that if you hold, hit a key, and then release on the stock it doesn't set the toggle Jan 21 19:52:57 * Brybry adds to notes Jan 21 19:54:03 <_minego> The stock keyboard gets rid of caps lock as well because shift can lock Jan 21 19:54:16 trying to tap A and L at the same time (you can use two different hands) and give it a few tries and you should see a stuck key bug =( Jan 21 19:54:59 <_minego> Brybry: Does it only happen when you're tapping multiple keys at once? Jan 21 19:55:17 I think so Jan 21 19:55:43 <_minego> If that is the case then it might be possible to work around the problem Jan 21 19:55:54 it also happens sometimes if you like, hold on key, hold on another key, then drag off and release Jan 21 19:56:04 one of the problems is I can never 100% repeat it Jan 21 19:56:26 so it's hard to even logic out what the actual problem is Jan 21 19:56:53 <_minego> I wonder if it is combinging the touch end events Jan 21 19:57:44 <_minego> We could look through changedTouches when the touchEnd event fires and see if it has the missing event Jan 21 19:57:56 <_minego> It does sound like it is very tricky though Jan 21 20:03:38 I didn't think about that Jan 21 20:03:50 definitely worth a look Jan 21 20:19:04 <_minego> *sigh* the downloads for installing the PDK take forever Jan 21 20:44:34 Brybry, re toggling yes Jan 21 20:44:39 but i didnt like how it was done in the past Jan 21 20:44:45 so i ripped all that out Jan 21 20:44:57 _minego, arent you using build.git Jan 21 20:45:03 err never mind Jan 21 20:45:08 u talk talking about the SDK stuff right? Jan 21 20:45:15 <_minego> Yeah Jan 21 20:45:20 Brybry, we will need toggling again to support phones Jan 21 20:50:44 <_minego> PuffTheMagic: I've finished the instructions on http://www.webos-internals.org/wiki/WebOS_Internals_PDK#Installation_on_Ubuntu_for_webOS_PDK_cross_compiling but it still doesn't seem to be right Jan 21 20:50:58 <_minego> When I build I get this error: Jan 21 20:50:59 <_minego> make[1]: /srv/preware/build/toolchain/i686-unknown-linux-gnu/build/i686-unknown-linux-gnu/bin/i686-unknown-linux-gnu-g++: Command not found Jan 21 20:51:31 <_minego> It looks like that g++ is there but in a different spot: /srv/preware/cross-compile/toolchain/i686-unknown-linux-gnu/bin/i686-unknown-linux-gnu-g++ Jan 21 20:51:52 export DEVICE=1 Jan 21 20:52:13 you need the arm toolchain Jan 21 20:52:14 ;) Jan 21 20:53:46 <_minego> I thought I'd have the arm toolchain after following the instructions on the wiki Jan 21 20:54:46 <_minego> I'm very confused right now Jan 21 20:55:29 if you did make toolchain Jan 21 20:55:33 you have the toolchain Jan 21 20:55:43 but u need to do export DEVICE=1 Jan 21 20:55:52 to tell wTerm makefile to use the arm toolchain Jan 21 20:56:24 <_minego> With DEVICE=1 I get: make[1]: /srv/preware/build/toolchain/cs07q3armel/build/arm-2007q3/bin/arm-none-linux-gnueabi-g++: Command not found Jan 21 20:56:44 you must not have done 'make toolchain' Jan 21 20:56:48 in the build.git dir Jan 21 20:57:03 OHHHHH Jan 21 20:57:07 no i know what this is :D Jan 21 20:57:12 you are on a 64bit box arent you Jan 21 20:57:18 you need ia32-libs Jan 21 20:57:21 or something lik ethat Jan 21 20:57:22 <_minego> Yes I am Jan 21 20:57:38 <_minego> I have ia32-libs installed Jan 21 20:57:38 i thought ka6sox-away updated the wiki to reflect that Jan 21 20:57:40 but the PDK I thought? Jan 21 20:58:09 _minego, well that error either means u really dont have those files or you dont have the ia32 libs Jan 21 20:58:16 thats the only way to get those errors Jan 21 20:58:32 <_minego> I'll go through the instructions again in case I missed something Jan 21 20:58:44 _minego, just cd into /src/preware/build Jan 21 20:58:47 and do make toolchain Jan 21 20:59:10 <_minego> I don't have that directory Jan 21 20:59:30 <_minego> Just /srv/preware/cross-compile Jan 21 20:59:38 eww Jan 21 20:59:43 i hate those instructions Jan 21 20:59:48 <_minego> haha Jan 21 20:59:50 cross-compile is not necessary at all Jan 21 20:59:58 in /src/preware clone built.git Jan 21 21:00:03 then cd into it and run make toolchain Jan 21 21:00:16 all that scratchbox shit is a waste of time, imo Jan 21 21:00:26 <_minego> /src/preware? Not /srv/preware? Jan 21 21:00:32 srv sorry Jan 21 21:01:35 <_minego> "cd /srv/preware && git clone http://git.webos-internals.org/preware/build/" ? Jan 21 21:01:59 <_minego> err s/build\//build.git I guess Jan 21 21:02:42 PuffTheMagic, you got mac? Jan 21 21:02:48 egaudet, i do Jan 21 21:02:52 a few Jan 21 21:03:00 You can use the PDK to build rather than preware toolchain now right Jan 21 21:03:03 for linux too Jan 21 21:03:07 I just did it quick Jan 21 21:03:11 4 ppc mac minis, 3 intel MBPs Jan 21 21:03:24 ya you can Jan 21 21:03:27 well Jan 21 21:03:45 sorta Jan 21 21:03:46 <_minego> okay cloning Jan 21 21:03:59 wTerm just needs to change ROOT to /opt/palmPDK and then LIB_ROOT to /opt/PalmPDK/device (for device) and then chagne -L to use $(LIB_ROOT) Jan 21 21:04:00 egaudet, if you are just going to use the libs provided by palm/hp then yes Jan 21 21:04:29 We still have the widk stuff ? Jan 21 21:04:30 the toolchain provided by HP can not build all of build.git's staging dir though Jan 21 21:04:43 it has some weird issues on a package or 2 Jan 21 21:04:46 ah ok Jan 21 21:04:49 and i havent figured out how to fix it Jan 21 21:05:08 egaudet, i've never used the widk stuff Jan 21 21:05:15 i've only used my gentoo root Jan 21 21:05:19 and build.git Jan 21 21:05:29 i refuse to setup sb2 Jan 21 21:06:00 <_minego> PuffTheMagic: So should I just delete /srv/preware/cross-compile then? Jan 21 21:06:03 egaudet, are you exclusively mac these days? Jan 21 21:06:24 _minego, idk, you could, i've never used it, cant say you will never use it Jan 21 21:06:44 <_minego> I don't see why I would Jan 21 21:09:02 _minego: there are a number of packages (e.g. XServer) for which we use the cross-compile.git environment to build Jan 21 21:10:00 <_minego> rwhitby: Okay. I won't delete it then. My goal today is to get wterm building but I may want to work on other things later. Jan 21 21:10:08 <_minego> rwhitby: thanks Jan 21 21:24:23 <_minego> Well that didn't go very well Jan 21 21:24:30 <_minego> srv/preware/build/toolchain/i686-unknown-linux-gnu/build/i686-unknown-linux-gnu/bin/../i686-unknown-linux-gnu//sys-root/usr/lib/crt1.o: In function `_start': Jan 21 21:24:33 <_minego> (.text+0x18): undefined reference to `main' Jan 21 21:26:25 what were you building at the time? Jan 21 21:26:40 PuffTheMagic, I've never used a mac Jan 21 21:27:00 was just going to ask if the PDK was the same/similar between mac/linux so that your makefile could remove the darwin check Jan 21 21:27:19 <_minego> I had just done a "make toolchain" in /src/preware/build Jan 21 21:27:44 egaudet, well if u removed the darwin check you would still need some way to specify which toolchain to use Jan 21 21:35:36 right, just overwrite the ROOT or TC variable or what not Jan 21 21:35:47 make TC=/srv/preware or something Jan 21 21:38:09 egaudet, my main concern is that it builds on our autobuilder, if others want to "enhance" the makefile they can, as long as it still builds on autobuilder Jan 21 21:38:53 what if autobuilder went to a mac in the future, then it'd fail :P Jan 21 21:39:04 it never will Jan 21 21:39:10 but if it did, then i would have to change things Jan 21 21:39:36 egaudet, you know where the fork button is on github right ;) Jan 21 21:44:02 I dont' know where anything is on github lol Jan 21 21:44:21 but I'll find it Jan 21 21:46:26 _minego, weird error :/ Jan 21 21:46:49 couldn't _minego just have symlinked /srv/preware/cross-compile to /srv/preware/build (or changed BUILD_ROOT to /src/preware/cross-compile)? Jan 21 21:47:07 nfc Jan 21 21:47:22 _minego: are you pdk'ing or widk? Jan 21 21:47:36 hes build.git'ing Jan 21 21:48:08 oh, ok. Jan 21 21:48:27 * dwc- had a failed build.git and then the sdk had a pdk so I just use that Jan 21 21:48:28 mmm, I guess he couldn't have Jan 21 21:48:36 the directory layout is slightly different Jan 21 21:49:11 Brybry, i moved the resetTerm to before terminal->start() Jan 21 21:49:15 nothing seems to have broke Jan 21 21:49:37 yeah, I knew it didn't crash or anything Jan 21 21:49:55 I just couldn't figure out if there were bad things that weren't obvious Jan 21 21:49:57 * Brybry shrugs Jan 21 21:50:15 that 100% fixes potential blank terms Jan 21 21:51:19 Brybry, https://twitter.com/#!/_PuffTheMagic_/status/155401782644842496/photo/1 Jan 21 21:51:38 :D Jan 21 21:52:43 time for wterm exhibition mode running htop :D Jan 21 21:54:31 * Brybry glares at ustream Jan 21 21:54:55 both justin.tv and ustream suck at making sure their flash ads obey mute settings Jan 21 21:55:27 did they ever promise to do that? Jan 21 21:55:40 justin.tv did Jan 21 21:56:06 and most of the ads behave but some don't Jan 21 21:56:17 ahh Jan 21 21:57:25 it's ok, all they do is drive more people to adblock Jan 21 21:58:30 now... to figure out why wterm gets weird with ssh Jan 21 21:58:39 anyone else get ssh weirdness? Jan 21 22:00:59 <_minego> dwc-: Grabbed build.git and did a "make toolchain" Jan 21 22:02:18 PuffTheMagic, define weirdness Jan 21 22:02:47 well for me, its with the bash prompt Jan 21 22:02:50 if I ssh to the touchpad from the touchpad (dropbear) I haven't run into any issues yet Jan 21 22:03:17 i see these escape codes and then the real prompt Jan 21 22:03:24 but if i rotate my tp Jan 21 22:03:30 the weird escape codes go away Jan 21 22:04:24 http://ompldr.org/vY2Rsdw Jan 21 22:04:25 what are you doing, wterm+ssh into what Jan 21 22:04:36 into my gentoo box Jan 21 22:04:53 that's likely going to be highly dependent on your shell Jan 21 22:05:11 and what prompt or xterm titling is going on Jan 21 22:05:34 ohhhh Jan 21 22:05:37 good call Jan 21 22:05:46 thats the escape code to set window title :D Jan 21 22:06:25 ]0; ? no Jan 21 22:06:57 tsunami[~]grep echo bin/xtitle Jan 21 22:06:57 echo -en \\033]\;$LINE\\007 Jan 21 22:07:00 at least that's not what I have in mine Jan 21 22:08:04 hmm Jan 21 22:08:05 #case "$TERM" in Jan 21 22:08:05 #xterm*|rxvt*) Jan 21 22:08:05 # PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"' Jan 21 22:08:31 ya \077 is bell Jan 21 22:08:32 thats right Jan 21 22:08:39 0 -> Change Icon Name and Window Title to Pt Jan 21 22:08:49 1 -> Change Icon Name to Pt Jan 21 22:08:54 2 -> Change Window Title to Pt Jan 21 22:09:02 4 6 -> Change Log File to Pt (normally disabled Jan 21 22:09:03 mine is missing something between ] and ; ... but I know it used to work Jan 21 22:09:18 if there is no number is prob defualts to 0 Jan 21 22:09:24 but I haven't used X on that account in a few years Jan 21 22:09:34 yea, that's possible Jan 21 22:13:25 is ST == STX Jan 21 22:13:49 i dont see ST on http://www.asciitable.com/ Jan 21 22:14:01 OSC Ps ; Pt ST and OSC Ps ; Pt BEL Jan 21 22:14:07 are supposed to be the same it looks like Jan 21 22:16:28 * PuffTheMagic wonders what can be dont with the title information Jan 21 22:23:12 what I want to know is how we're supposed to detect if someone exits their shell Jan 21 22:23:29 the parent should get a SIGCHLD Jan 21 22:23:59 Brybry, me too Jan 21 22:24:26 what do you want to -do- if someone exits their shell Jan 21 22:24:35 respawn it Jan 21 22:25:16 "it won't go away! I keep killing it and it keeps coming back!" Jan 21 22:25:37 it should do something other than what it does Jan 21 22:26:13 which is nothing? Jan 21 22:26:37 terminus exited, that seems reasonable too Jan 21 22:27:02 terminus sucked ass Jan 21 22:27:14 we should be able to catch it Jan 21 22:27:18 and do what the user wants Jan 21 22:27:19 you can catch it Jan 21 22:27:23 as specified in prefs Jan 21 22:27:41 what are the options? I don't think I had that in my prefs last I looked Jan 21 22:27:50 no there are no prefs yet Jan 21 22:27:53 but there could be Jan 21 22:28:23 1) respawn, 2) show some message that shell is dead and display button to respawn, 3) close wterm Jan 21 22:30:52 damn wterm will not catch that OSC sequence Jan 21 22:56:06 dwc- is the best Jan 21 22:56:20 SIGGCHLD seems to work Jan 21 22:56:28 SIGCHLD* Jan 21 23:02:26 dwc-, i dont get why u dont fork wterm already Jan 21 23:07:02 damn parsing of sequences is broken Jan 21 23:07:23 it does not seem to like ascii chars as strings Jan 21 23:07:36 it sorta assumes any ascii char terminates a sequence Jan 21 23:33:13 Brybry, got some respawning goodness going on over there? Jan 21 23:33:57 I'm grappling with sigaction() but eventually, yes Jan 21 23:34:17 I don't want to use a global variable so I'm trying to pass it a context pointer Jan 21 23:36:40 it's ok to use a global variable for signal handlers, just make sure it's something like a sig_atomic_t volatile Jan 21 23:38:02 given that you've got multi-cards working, I'd be inclined just to print a [Shell exited] or something and just be done with it Jan 21 23:38:12 if people want another shell they can launch another one, right? Jan 22 00:13:24 the multiple card instances are completely separate Jan 22 00:22:56 yeah, they're not a threading concern Jan 22 00:23:10 the threading in general is not an issue in this case Jan 22 00:41:54 dtzWill, have u recovered from your trip yet? Jan 22 01:12:56 Brybry, i think my erase changes has killed cmatrix Jan 22 01:14:02 cause they're too slow or something? Jan 22 01:14:15 ya its so laggy now Jan 22 01:14:51 but im gonna add cmatrix to the wterm build Jan 22 01:14:55 and install it along vttest Jan 22 01:15:12 cause im gonna use cmatrix as wterms default exhibition mode app :D Jan 22 01:15:31 :D Jan 22 01:43:44 PuffTheMagic: yeppers, back! :D Jan 22 01:43:52 awesome Jan 22 01:44:03 dtzWill, i improved and made worse the erase function Jan 22 01:44:10 what's the haps? sorry that i didn't pull req that htop stuff, was poking at fixing the insertline/deletelines stuff Jan 22 01:44:17 it behaves as it should but it is not efficient Jan 22 01:44:19 in short they don't do anything re:graphics state and they really need to Jan 22 01:44:26 PuffTheMagic: yeah i was afraid of that. Jan 22 01:44:46 and i know insert/delete are also bad Jan 22 01:45:07 i think the whole graphics state stuff needs to be merged with the line buffer stuff Jan 22 01:45:12 came very close to fixing them each, but something was still wrong. perhaps it's something elsewhere, idk Jan 22 01:45:24 and instead of the line buffers being vectors of char's it needs to be vector of struct Jan 22 01:45:35 so we can store the char and graphics state together Jan 22 01:45:42 yeah the decoupling seems curious Jan 22 01:45:51 doesnt make any sense to me Jan 22 01:46:01 well for low total number of screen states Jan 22 01:46:06 say less than the number of lines on the screen Jan 22 01:46:17 err for low number of graphics states on the screen Jan 22 01:46:25 but..yeah i don't know that it makes any sense either Jan 22 01:46:32 and the binary search to find a line's graphics state Jan 22 01:46:36 always made me twitch Jan 22 01:46:36 lol Jan 22 01:46:39 lol Jan 22 01:47:00 i like the idea of vectors for each line Jan 22 01:47:03 so you're saying just have each char directly know it's graphics state/modes Jan 22 01:47:11 and never ever decouple them Jan 22 01:47:15 s/char/cell/ Jan 22 01:47:21 and you can pass that directly to the renderer too Jan 22 01:47:22 yes, cell. Jan 22 01:47:40 well i was saying we permaassociate the entire cell's contents: character, and related graphics information Jan 22 01:47:41 ya, big overhaul, but it would simplify the code all over Jan 22 01:47:54 * dtzWill nods Jan 22 01:48:18 who ever takes this on should also think about line numbering Jan 22 01:48:25 and how to support a scroll buffer Jan 22 01:49:52 you mean the user's ability to look at previous buffered lines Jan 22 01:49:57 ? Jan 22 01:50:00 ya Jan 22 01:50:24 what's not there re:line numbeing? Jan 22 01:51:12 well all the rendering currently is based on a "fixed height" buffer Jan 22 01:51:19 and all the line references Jan 22 01:51:31 and that would have to be decoupled from the actual location in the buffer Jan 22 01:51:33 to support scrolling Jan 22 01:51:53 unless Jan 22 01:51:55 actually Jan 22 01:51:59 maybe its a little simpler Jan 22 01:52:03 "terminal actions Jan 22 01:52:05 sorry Jan 22 01:52:22 "terminal actions" which update th ebuffer might always act on the end of the buffer Jan 22 01:52:28 but rendering is what is decoupled Jan 22 01:53:10 oh okay sure Jan 22 01:53:19 i think that already exists to some extent Jan 22 01:53:39 or thought it did :) Jan 22 01:53:45 ya it seems like it does Jan 22 01:53:52 but i might have broke some of that Jan 22 01:53:58 and or it was always broke, idk Jan 22 01:54:03 * dtzWill shrugs Jan 22 01:54:04 :) Jan 22 01:57:12 oh you changed the erase behavior beyond the changes i made? hmm /me looks Jan 22 01:57:30 oh ya Jan 22 01:57:33 your changes were fine Jan 22 01:57:39 mine are what is inefficient Jan 22 01:57:50 check the commit referenced in the bug report Jan 22 01:57:54 oh, you sure? kk i wasn't sure if mine made things Jan 22 01:57:55 oh Jan 22 01:57:57 yay bug reports Jan 22 01:57:59 my favorite Jan 22 01:58:01 * dtzWill looks Jan 22 01:58:04 well Jan 22 01:58:07 no im not sure actually Jan 22 01:58:19 i first noticed it was slow when i ran cmatrix an hour ago Jan 22 01:58:27 every other test seemed fine Jan 22 01:58:33 or wasnt stressfull enough of a test Jan 22 01:58:43 cmatrix has a shit ton of erasing Jan 22 02:00:41 oh dear i apparently dev'd without tabs setup haha sorry about that Jan 22 02:00:46 was coding on my tp in the hotel xD :) Jan 22 02:01:03 Tide worked out? Jan 22 02:01:14 oh i was using vim in wterm Jan 22 02:01:17 ah Jan 22 02:01:37 and building 'dtzterm' which is just my local rebranding of wterm for use in testing (so i can use wterm to dev) Jan 22 02:01:50 since can't very well replace the binary you're actively using and such Jan 22 02:01:55 right Jan 22 02:06:13 PuffTheMagic: what does 0db4a834103c92b7bd3acbb870d5bfe9611fe5b3 do? (is there a short explanation?) Jan 22 02:08:24 (is there some test that acts differently..?) Jan 22 02:08:37 ya Jan 22 02:08:43 the echo tests that I explained about Jan 22 02:08:49 you made it work for a single line only Jan 22 02:08:56 kk in the issue? Jan 22 02:08:59 i see. Jan 22 02:09:19 okay, ty, that answer that nicely. Jan 22 02:10:07 the main issue is the removeGraphicsState function Jan 22 02:10:19 the one that takes a range of multiple lines Jan 22 02:10:22 (potentially) Jan 22 02:10:27 and this actually wasnt your fault Jan 22 02:10:57 it only erased 1 line Jan 22 02:11:21 i think it was copy and paste fail/overlook Jan 22 02:11:22 idk Jan 22 02:12:46 errrr Jan 22 02:12:56 what do you mean only erased one line? hmm i'm not understanding something i guess Jan 22 02:13:03 im sorry Jan 22 02:13:05 * dtzWill verifies he's looking at the right side of the diff :D Jan 22 02:13:08 it always erased more than 1 line Jan 22 02:13:13 the issue was always the graphics state Jan 22 02:13:26 the chars were always removed Jan 22 02:13:39 let me start over again Jan 22 02:13:49 before you did anything this is was happens Jan 22 02:13:53 oh you mean it would erase the graphics state for the current line which could be a problem if following lines implicitly used the graphics state there Jan 22 02:14:01 no Jan 22 02:14:17 like if line 1 had graphics state saying use blue, and next 3 lines needed it, it wasn't good about ensuring the /next/ lines got a graphics state set? Jan 22 02:14:19 oh okay Jan 22 02:14:25 here Jan 22 02:14:26 echo -e -n "\e#8\e[20;20H\e[1;4;5;44mHello\e[J\e[m\n" Jan 22 02:14:37 lets start with what this should do Jan 22 02:14:49 it should fill the whole screen with E's Jan 22 02:14:50 * dtzWill fetches his tp Jan 22 02:14:59 oh it doesn't for me, it fills top half Jan 22 02:14:59 then move to row 20 col 20 Jan 22 02:15:04 err in urxvt anyway Jan 22 02:15:10 * dtzWill fires up another terminal Jan 22 02:15:17 oh /me stfu and listen Jan 22 02:15:37 after moving it sets the graphics state to bold, blink, underline and blue background Jan 22 02:15:45 it then write Hello Jan 22 02:16:01 following that it erases from the cursor location to the end of screen Jan 22 02:16:19 finally it resets the graphics state to normal Jan 22 02:16:21 and sends a new line Jan 22 02:16:27 so u should see Jan 22 02:16:32 half the screen with E's Jan 22 02:16:40 then in the middle a bold, underline, blinking Hellow Jan 22 02:16:42 hello Jan 22 02:16:56 and then after that u should see a blue background all the way to the end Jan 22 02:17:06 .... Jan 22 02:17:08 of the line? why not for the rest of the screen? Jan 22 02:17:27 of the line? Jan 22 02:17:28 since we did a 'erase' with current graphics state of blue/etc, shouldn't it all have that setting? Jan 22 02:17:49 *blue background all the way to the end Jan 22 02:17:49 the Hello is blue bg, bold, blinking underline Jan 22 02:18:01 should that be end of the line, or end of the screen? Jan 22 02:18:01 after hello, its blue background to the end of the screen Jan 22 02:18:14 okay well in xterm/konsole/rxvt-unicode it's only to the end fo that line Jan 22 02:18:29 idk what that's about. Jan 22 02:18:44 not in my konsole Jan 22 02:19:10 it fills to end of screen, but something that happens after that resets it Jan 22 02:19:20 maybe my shell does something different, idk Jan 22 02:19:41 yeah, in 'sh' with nothing set it does what you describe Jan 22 02:19:46 ya zsh will do weird things Jan 22 02:19:54 bash and sh do what I say it should do ;) Jan 22 02:20:10 ok so back to what wterm does Jan 22 02:20:11 ... Jan 22 02:20:14 before you commits Jan 22 02:20:16 by 'sh' you mean busybox? Jan 22 02:20:24 dwc-: i mean 'sh' on my local desktop Jan 22 02:20:33 so on wterm.... Jan 22 02:20:46 so that could be dash or bash in sh-poor-emulation mode? Jan 22 02:20:50 PuffTheMagic: lol okay i was just looking for a visual confirmation of what you meant :) Jan 22 02:20:51 \e[J would erase from cursor to end of screen Jan 22 02:20:57 dwc-: haha yeah probably Jan 22 02:21:01 with no blue background Jan 22 02:21:13 (the latter) Jan 22 02:21:14 oh Jan 22 02:21:15 after your change... Jan 22 02:21:25 it would erase all the text to end of screen Jan 22 02:21:26 BUT Jan 22 02:21:35 for the line of the cursor Jan 22 02:21:43 it would be blue underlined and blinking Jan 22 02:21:51 and the rest would be black Jan 22 02:22:14 so not only was the character attributes not reset (bold, blinking, underline) Jan 22 02:22:26 but the bg color was not carried though to the rest of the erased cahrs Jan 22 02:22:28 chars Jan 22 02:22:59 oh b/c when we render an empty line we use the default graphics state? ahh of course Jan 22 02:25:27 b/c the grpahics state for the middle empty lines /is/ the correct one Jan 22 02:25:39 huh Jan 22 02:25:49 or so i thought, since they'd use the graphics state of the last-set one Jan 22 02:25:52 but since the lines containted no data Jan 22 02:26:01 we rendered nothing for them, so the whole line was the default graphics state Jan 22 02:26:31 its a combination of having no data or having no graphics state entry Jan 22 02:29:23 a line cannot have /no/ graphics entry unless no line in the entier terminal has no graphics state Jan 22 02:29:37 should default to the most recently defined graphics state (pervious line, etc) Jan 22 02:29:58 only good part about the current grpahics state stuff is that it's well-suited, if obnoxious to deal with, for runs of text with the same state Jan 22 02:30:07 and esp with the old rendering model that was partic important Jan 22 02:30:48 okay anyway i think i get it now Jan 22 02:31:21 we shouldn't have to set a graphics state for every column however Jan 22 02:31:44 but then again they should be compressed such that you don't actually have that /anyway/, but still Jan 22 02:31:45 hmm Jan 22 02:31:45 well if u can think of a way to do runs of cols then do it Jan 22 02:31:57 yeah, idk. Jan 22 02:32:21 where does one get this cmatrix? :) Jan 22 02:33:00 and why does resetstate not include the current graphics settings about bold/underline/etc? Jan 22 02:33:05 i have the code, i will commit it in a few min Jan 22 02:33:09 kk hooray Jan 22 02:33:21 resetstate? Jan 22 02:33:38 sorry, in erase(Point,Point) Jan 22 02:33:46 we used to use the entirey graphics state as the state to set the cleared text to Jan 22 02:33:50 why does erase reset the char attributes and not bg/fg? Jan 22 02:34:00 you define a new reset state that only borrows the fg/bg from the current graphics state Jan 22 02:34:06 ya Jan 22 02:34:13 (and erases to that, explicitly setting char attrs to zero) Jan 22 02:34:19 instead of using the current grpahics state's full information Jan 22 02:34:31 is that just what erase is supposed to do? :) Jan 22 02:34:33 because using current graphics state is wrong Jan 22 02:34:42 no, its not what it should do Jan 22 02:34:44 you just want current graphics fg/bg? okay Jan 22 02:34:49 oh Jan 22 02:35:02 this is a vt100/vt102 commands Jan 22 02:35:09 its pre color (fg/bg) Jan 22 02:35:30 so it resets only the char attributes (bold,blink,underline,reverse) Jan 22 02:35:56 but erase to end of screen in your echo example set the bg to blue for the rest of the screen? Jan 22 02:36:05 yes Jan 22 02:36:17 (so it ersaes to at least include the fg/bg of the current staet?) Jan 22 02:36:29 again, color is an xterm thing Jan 22 02:36:43 idk why you're differentiating, color is also a wterm thing Jan 22 02:37:07 so we have to do something for this escape code, and atm we're setting char attributes to zero and borrowing current fg/bg color, and using that to erase to Jan 22 02:37:19 i am trying to differentiate official vt100/vt102 specs/escape behavior Jan 22 02:37:43 i'm just verifiying that's explicitly the desired behavior. are you trying to say "I don't konw b/c it's not defined in the official vt100 specs since no color, but yes that's my best guess as to what we should do" Jan 22 02:38:42 what im saying is that, the behavior of these erase commands as far as the official vt102 spec only deals with character attributes and not thing to do with fg/bg colors Jan 22 02:39:05 when it comes to what color terms do, most follow what xterm does Jan 22 02:39:07 which has no spec Jan 22 02:39:10 right Jan 22 02:39:12 just source code Jan 22 02:39:22 and apparently it borrows the fg/bg color but sets char attribs to zero Jan 22 02:39:23 mkay Jan 22 02:39:26 so if we want to be consistent we need to emulate xterm/rxvt behaviopr Jan 22 02:39:53 yes it uses the current fg/bg color of the cursor location Jan 22 02:40:22 haha okay ty :) Jan 22 02:41:32 thats why i get the graphics state of the cursor location Jan 22 02:41:39 * dtzWill nods Jan 22 02:41:44 which i think might be redundant Jan 22 02:41:51 is that the same as current graphics state? Jan 22 02:41:53 idk Jan 22 02:41:54 prob Jan 22 02:42:14 well you grab it using the variable "m_currentGraphicsState" Jan 22 02:42:16 so yes Jan 22 02:42:27 ahh Jan 22 02:42:29 i forgot Jan 22 02:42:30 the line above gets the nlocator for the graphicstate for the current cursor Jan 22 02:42:35 but then you don't use that value Jan 22 02:42:48 ya i rewrote that code so many times Jan 22 02:42:51 and different ways Jan 22 02:42:51 but they might be the same thing anywya Jan 22 02:42:56 that is cruft then Jan 22 02:42:57 haha yeah Jan 22 02:42:58 the locator shit Jan 22 02:43:32 on a side note Jan 22 02:43:47 is there an easy way to split a string in C++ into an array Jan 22 02:44:40 let me rephrase Jan 22 02:44:54 i need to go from a std::string to char ** Jan 22 02:46:49 err you mean "char[]/char *"? Jan 22 02:46:54 and yes, see std::string::c_str() Jan 22 02:47:08 including it's related notes about the validity of the resulting buffer it gives you a buffer to Jan 22 02:48:33 i need to split a string into an array of char* Jan 22 02:53:45 dtzWill, im trying to make it so the UI can set what gets exec'd Jan 22 02:54:02 so i need to take a string from js Jan 22 02:54:12 and split by spaces Jan 22 02:54:15 and make it an array Jan 22 02:54:24 and I know how I could do this with strtok and C Jan 22 02:54:31 i was just hoping there was a nice C++ way to do this **** ENDING LOGGING AT Sun Jan 22 02:59:57 2012