#emc-devel | Logs for 2009-12-29

[03:27:13] <cradek> jepler: touchy's mdi is now ugly and weird. can you tell me what to do?
[03:27:46] <cradek> I don't like how after you press one of the G buttons, you have no feedback until after you do something like 1, Next
[03:36:30] <jepler> cradek: I notice that "G" is greyed out before I press "1"
[03:36:43] <jepler> I dunno if you could figure out how to put an insertion cursor in those fields
[03:37:15] <jepler> a GtkLabel has a property called curor-position which implies that it can show one..
[03:37:17] <cradek> I could surely put an underscore at the end of the highlighted one
[03:37:29] <jepler> but that'll encourage people to try to tap to move it around or something crazy like that
[03:37:35] <cradek> yeah true
[03:37:46] <jepler> An underscore is worth trying I think
[03:38:12] <cradek> maybe never grey out the top one?
[03:38:32] <cradek> the top one is always sent - probably makes no sense to show it disabled
[03:38:44] <cradek> (wonder what mdi command it sends with just "G" showing)
[03:38:59] <jepler> oh, hm, I see what you mean
[03:39:06] <cradek> this doesn't fix the rect/polar complaint though
[03:39:10] <jepler> the "current" one shouldn't look "disabled" even if you haven't entered any letters yet
[03:39:24] <cradek> wellllll
[03:39:41] <cradek> disabled has a special meaning - it means that word isn't sent if you push "go"
[03:39:57] <cradek> so I think it has to work this way (for at least all but the first line)
[03:40:53] <jepler> are you saying that some code depends on the widget being in a certain state?
[03:41:04] <cradek> hm, press G/Rtheta, 4, Next -> crash
[03:41:15] <jepler> or are you talking about what the user understands about what is on the screen?
[03:41:25] <cradek> yes the latter
[03:41:50] <cradek> if the letter is greyed, that word isn't sent, even if that's the current line
[03:43:31] <jepler> I am seeing it in a different way -- "greyed out" meaning "can't interact with"
[03:43:53] <cradek> yeah that is more standard
[03:44:13] <cradek> you think it's enough feedback that the word is empty (meaning it won't be sent?)
[03:44:52] <jepler> the user arrives at a word in one of two ways: he taps it to enter a number there; or he arrives there by "next"
[03:44:53] <cradek> I think it's easy to visually put together the dark/normal words and see the mdi command as it will be sent
[03:45:10] <jepler> in the first case it's perfectly natural for the letter to look enabled
[03:45:25] <jepler> in the other case, if the user taps something else, it'll change to be greyed
[03:46:33] <cradek> is this change part of a solution to the problem I started with where /xy and /rtheta are (even more) magical because the display doesn't show the results of which one you pressed until later?
[03:47:28] <cradek> (I'm agreeing with you more and more about the weirdness of those being disabled even though you can poke them and interact)
[03:48:40] <jepler> I think I see how to change it to only looked "disabled" when not the edited line, testing now..
[03:48:52] <jepler> I'm not sure about your XY vs @^ mode
[03:49:15] <jepler> maybe they should always look enabled, except that @^ disables if you enter in X or Y, and vice versa
[03:53:54] <jepler> http://emergent.unpy.net/files/sandbox/0001-don-t-show-current-mdi-line-as-disabled.patch
[03:54:05] <jepler> (I haven't pulled the @^ version yet, so maybe it doesn't apply)
[03:54:40] <cradek> it does apply
[03:55:54] <cradek> http://timeguy.com/cradek-files/emc/looks-incomplete.png
[03:56:22] <cradek> if in this state I push cycle start, I get the perfectly good MDI command G3 J3 F10
[03:56:49] <jepler> yes
[03:56:54] <jepler> that makes you unhappy
[03:57:14] <cradek> I think the Z being dark like the 'active' words (the ones that will be sent) makes it look like it's in an unfinished state
[03:57:43] <jepler> then don't tap that line
[03:57:43] <cradek> and still while in this state, I can poke the ('disabled') X line
[03:58:29] <cradek> I don't think this solves anything - it doesn't change it so disabled means the normal thing (you can't interact with it)
[03:59:13] <jepler> yeah I'm starting to see that
[03:59:55] <cradek> the colors only half-accidentally look like the usual 'disabled' style
[04:00:41] <cradek> there's nothing usual about this ui really - maybe a different scheme would avoid looking like the user ought to know what to expect (and then surprising him)
[04:01:28] <cradek> maybe bold/nonbold for 'word will be sent'
[04:02:05] <cradek> right justify the inactive letters?
[04:02:21] <jepler> comment them out, like (X)
[04:02:24] <cradek> (you could look down the left column and see just the active ones)
[04:02:38] <cradek> hmm maybe that
[04:02:56] <jepler> right justify might be nice too
[04:03:07] <SWPadnos> maybe strikethrough for the ones that haven't been set
[04:03:19] <jepler> did gnome printscreen put the mouse pointer in that screenshot?
[04:03:47] <cradek> right justify is kind of like the 'two columns' thing where you have arrows to select/deselect from a set by moving between columns
[04:03:48] <jepler> I'm so used to xwd and anything based on it not giving an indication of the pointer
[04:04:14] <cradek> yes I used the gnome-whatever
[04:05:02] <cradek> wonder how to right justify
[04:05:16] <jepler> jas
[04:05:20] <jepler> I did that earlier actually
[04:05:21] <cradek> I bet the bold/nonbold is not overt enough
[04:05:39] <jepler> l.set_alignment(xalign,yalign)
[04:05:54] <cradek> not sure about strikethrough - seems like it might look like errors
[04:05:55] <jepler> 1.0 indicating right/bottom, 0.0 indicating left/top, and all values in between being valid
[04:06:03] <jepler> yeah I don't like strikethrough for this
[04:10:08] <jepler> 'night
[04:10:15] <cradek> goodnight, thanks
[04:12:16] <cradek> http://timeguy.com/cradek-files/emc/justify.png
[04:12:50] <cradek> ...?
[04:12:56] <SWPadnos> hmmm
[04:13:15] <cradek> you sure can scan down the left side and see what the command is
[04:13:28] <cradek> it doesn't use something that looks like 'disabled' in a nonstandard way
[04:13:33] <cradek> those are the benefits
[04:13:44] <cradek> I think the drawback is it looks otherworldly
[04:13:49] <SWPadnos> yep
[04:14:05] <SWPadnos> do you have to hit the character, or does the line suffice?
[04:14:23] <cradek> you mean if you want to select it by poking? anywhere on the line
[04:14:26] <SWPadnos> ok
[04:14:43] <cradek> more often I just poke next
[04:14:49] <SWPadnos> can you change the background color of the inactive lines instead?
[04:15:39] <cradek> there will be 3 colors then, and for some lines two colors may be appropriate (inactive AND currently selected for editing)
[04:15:43] <SWPadnos> I confess that I can't try this at the moment - mind if I ask some possibly silly questions?
[04:15:49] <cradek> by all means
[04:16:10] <SWPadnos> so, what if you're at the X line - what do all the things below X look like?
[04:16:33] <cradek> I don't understand
[04:16:40] <cradek> if I poke X now, the X line turns white
[04:17:12] <SWPadnos> well, say I've just hit the G/XY button, then the 3 button. presumably, the list of things I could use with G3 appear li the list
[04:17:20] <SWPadnos> s/li/in/
[04:17:23] <cradek> only when you poke next
[04:17:27] <SWPadnos> ok
[04:17:33] <SWPadnos> and what do they look like?
[04:17:40] <SWPadnos> black or gray
[04:17:47] <cradek> G/XY, 3, Next -> it fills out wih X,Y,Z,I,J,K,R,F
[04:18:00] <cradek> currently, gray on the left. this proposed change, black on the right
[04:18:22] <SWPadnos> ok, so "unvisited" look the same as "visited but skipped or no value given"
[04:18:33] <cradek> it doesn't mean visited -- gray means "unless you add a number here this word won't be sent"
[04:18:38] <SWPadnos> right
[04:18:39] <cradek> that is the initial state of all words
[04:18:57] <cradek> [in the current design]
[04:19:11] <SWPadnos> that may be the thing that should change, not what an unused word looks like
[04:19:18] <cradek> jeff's very valid objection is gray normally means "you can't interact with this widget for some reason"
[04:19:19] <SWPadnos> ie, what context matters to the user
[04:19:23] <SWPadnos> right
[04:19:25] <SWPadnos> makes sense
[04:19:37] <cradek> sorry - what may be the thing that should change?
[04:20:11] <SWPadnos> the thing that causes a visual differentiation between words
[04:20:38] <cradek> yes I think that's what we were working on?
[04:20:41] <SWPadnos> yes :)
[04:20:43] <cradek> the right/left for instance
[04:21:21] <SWPadnos> well, that's my question. are you working on changing what the existing categories look like, or what the categories are (or both)?
[04:21:56] <cradek> sorry - what is a category?
[04:21:59] <SWPadnos> heh
[04:22:14] <SWPadnos> the status of the various lines in that G-code word list
[04:22:22] <SWPadnos> used/unused
[04:22:26] <SWPadnos> visited/unvisited
[04:22:47] <SWPadnos> legal/illegal (negative feed word, for example, if that's possible to ender)
[04:22:48] <SWPadnos> enter
[04:22:51] <cradek> I'd like the user to be able to see which one is currently picked for editing - I'd also like the user to know which words will be sent if he pokes cycle start
[04:23:19] <SWPadnos> maybe a preview line somewhere on the MDI tab
[04:23:32] <cradek> touchy does not try to tell you what makes correct gcode. you can type a syntactically nonsense gcode if you want
[04:23:42] <SWPadnos> ok
[04:23:43] <cradek> like F-99 for instance
[04:24:04] <cradek> the only smarts it has is it gives you the list of words (letters) appropriate for the G/M code
[04:24:09] <SWPadnos> ok
[04:24:18] <cradek> well it won't let you add two - or . either
[04:24:31] <cradek> but that's about it iirc
[04:25:09] <SWPadnos> "better" error checking may be something to think about later
[04:25:25] <cradek> you get a very good error message as soon as you poke cycle start
[04:25:30] <SWPadnos> yeah
[04:25:45] <cradek> validation on every entry poke is madness
[04:26:19] <cradek> well maybe you could do 'this makes sense right now and would not error if you sent it'
[04:26:20] <SWPadnos> complete validation probably is, but partial is possible
[04:26:32] <SWPadnos> whether it's useful enough to implement is a different question
[04:26:38] <cradek> but the state of that would change constantly (and distractingly) as you enter stuff
[04:26:43] <SWPadnos> sure
[04:26:55] <SWPadnos> in any case, that's a distraction
[04:26:56] <cradek> (we have that in the touch off screen in AXIS)
[04:27:23] <SWPadnos> oh, I guess I was thinking of making the word look different if there's an error when you hit next or another word
[04:27:24] <cradek> you are presented with a blank entry field. you type -, and it displays what looks like an error
[04:27:42] <SWPadnos> yep. validation while the user is typing is a disaster
[04:27:44] <cradek> or .
[04:27:57] <cradek> in this part of touchy the user is always 'typing'
[04:28:21] <cradek> but yeah, it's a tangent
[04:30:36] <SWPadnos> so, a separate text widget that shows the G-code line that would be sent may be a good way of indicating which words are currently "in use"
[04:31:35] <cradek> as I see it, the problems with that are it takes up space, and you have two things that show nearly the same information, only one of which you can manipulate
[04:32:06] <SWPadnos> but you can clearly indicate that the text widget can't be manipulated by graying it out
[04:32:10] <cradek> seems like it's unusual to show two 'views' into the same data on one screen
[04:32:21] <SWPadnos> I don't think so
[04:32:40] <cradek> yes you could definitely make it look like you can't change it
[04:32:47] <SWPadnos> not in the case where a single view has to show a lot of things, in addition to being an edit widget
[04:33:17] <SWPadnos> a lot being used in the G-code or not, in addition to "being edited" or not
[04:33:37] <cradek> slightly better? http://timeguy.com/cradek-files/emc/justify.png
[04:34:16] <SWPadnos> uh. what changed?
[04:34:25] <SWPadnos> I didn't notice it when I loaded the image
[04:34:35] <cradek> just a little whitespace so the letters aren't touching the edges
[04:34:41] <SWPadnos> ah. ok
[04:34:47] <SWPadnos> yes, actually that is better
[04:37:54] <cradek> for jepler: http://timeguy.com/cradek-files/emc/0001-Show-status-of-mdi-words-in-a-less-confusing-way.patch
[04:38:04] <cradek> this is the two-column change fwiw
[04:44:26] <CIA-62> EMC: 03cradek 07master * r600b3d26db73 10/src/emc/usr_intf/touchy/mdi.py: Fix traceback when mdi words don't include x,y
[04:59:01] <cradek> goodnight
[04:59:07] <cradek> thanks for all the input
[05:00:50] <SWPadnos> night
[14:33:31] <jepler> > The result is that I successfully run insmod. But when I rmmod it, I got "fragmentation fault" error and at this time i can't visit the files under /sys any more. I am confused.
[14:34:05] <cradek> huh, I've never seen that error
[16:18:57] <cradek> emc/rs274ngc/interp_internal.cc:150: warning: array subscript has type 'char'
[16:19:22] <cradek> why does gcc warn about this? what am I missing?
[17:04:09] <cradek> jepler: ugh, on dapper, http://timeguy.com/cradek-files/emc/0001-Show-status-of-mdi-words-in-a-less-confusing-way.patch doesn't work right at all
[17:04:47] <cradek> it puts the right-justified ones half a character past the right edge
[17:05:58] <SWPadnos> is there an anchor point that gets magically set in later GTK versions?
[17:06:42] <cradek> xalign :
[17:06:43] <cradek> the fraction of horizontal free space to the left of the child widget. Ranges from 0.0 to 1.0
[17:07:10] <SWPadnos> right, but does that align the left edge, center, or right edge?
[17:07:20] <SWPadnos> in later versions, it may do the smart thing
[17:07:26] <cradek> there is also 'justify' which seems to have no effect
[17:07:54] <cradek> yeah it sounds like a very dumb setting, and this old gtk version seems to do what it says
[17:08:28] <cradek> if 1.0 of the horizontal free space is to the left of the child widget, it seems like it's right that I see only free space
[17:09:10] <SWPadnos> yep, if the text anchor/alignment point remains on the left side
[17:09:16] <SWPadnos> (of the text)
[17:09:54] <cradek> it's confusing that justify doesn't do anything
[17:12:15] <cradek> http://library.gnome.org/devel/gtk-faq/stable/x798.html
[17:12:44] <jmkasunich> sometimes "justify" means "modify the width of spaces between words so the right side of the column is straight"... if there are no spaces, maybe it does nothing
[17:12:46] <cradek> it calls me an idiot then tells me to do the thing that doesn't work
[17:13:31] <cradek> jmkasunich: yeah maybe that's what they mean in the docs (but they're too busy being snide to say it)
[17:18:01] <cradek> all signs point to align=1.0 being the thing to use
[17:36:45] <cradek> ok this gtk is just busted if you specify a requested width in chars for a label > 0
[17:37:29] <cradek> works and looks ok if I use width_chars -1 and width_request (?) of 60 (units?)
[17:38:51] <cradek> new patch at the same url: http://timeguy.com/cradek-files/emc/0001-Show-status-of-mdi-words-in-a-less-confusing-way.patch
[17:39:08] <cradek> if someone could try it on hardy or newer that would be wonderful
[17:43:06] <cradek> (I'm still not sure I like this appearance)
[18:00:45] <skunkworks_> logger_dev: bookmark
[18:00:45] <skunkworks_> Just this once .. here's the log: http://www.linuxcnc.org/irc/irc.freenode.net:6667/emcdevel/2009-12-29.txt
[22:01:18] <CIA-62> EMC: 03seb 07master * r80096627a559 10/ (3 files in 2 dirs): add a firmware package for the 3x20
[22:32:05] <CIA-62> EMC: 03seb 07master * rc8a4b98b4982 10/docs/man/man9/hostmot2.9: shorter simpler path, to squelch a groff warning
[22:53:53] <CIA-62> EMC: 03seb 07master * r6d9c3dd131a3 10/docs/man/man9/kins.9: fix the syntax of the name of this manpage, for mandb