Re: [Geany-devel] Calltip and autocomplete interaction
On Wed, 12 Aug 2009 23:02:54 +0200, Enrico wrote: On Sun, 2 Aug 2009 15:43:28 +0200, Enrico wrote: On Tue, 28 Jul 2009 15:32:04 +0100, Nick wrote: On Fri, 24 Jul 2009 12:42:56 +0200 Enrico Tröger enrico.troe...@uvena.de wrote: Update: while re-reading your initial report and re-testing, it still doesn't work if you cancel the auto-completion list by typing an invalid character (invalid in terms of a non-matching item). For this to work, we would need to explicitly reshow the calltip also when receiving SCN_CHARADDED. Right now, I'm not sure whether it can/should do this unconditionally or whether we need some logic behind when to reshow the calltip (of course, the basic condition is only reshow it Update 2: with SVN r4022 it should also work for cancelled auto-completion lists which were not closed explicitly by Escape, i.e. also without a SCN_AUTOCCANCELLED message. Please test it :). This reshows calltips when you don't want them: 1. Press the down arrow when you're in a calltip until you're outside the argument list. 2. Type a character - the calltip is reshown. Oops, very bad. I have a half-finished patch to address this issue, I hope I'll find time to finish and commit it during next week. Guys, I'm sorry. It seems I saved the patch to /tmp so it got deleted after shutting down my computer (my /tmp is a ram disk) or I deleted the file by accident. I just don't have it anymore and I don't have time until next week to write it again. We are planning the release for Sunday which probably won't happen but I try to make it on Monday or Tuesday. So, if anyone is bored feel free to fix it. It's basically about checking the current cursor position against the start and end position of the argument list (i.e. the surrounding braces) of the shown calltip. Alternatively, we can maybe disable the code which is causing this behaviour for the release. IIRC it's only one line and currently it's more annoying than it helps. Disabled for now since we are going to release Geany 0.18 very soon. Regards, Enrico -- Get my GPG key from http://www.uvena.de/pub.asc pgpYLeUNJt9lB.pgp Description: PGP signature ___ Geany-devel mailing list Geany-devel@uvena.de http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel
Re: [Geany-devel] Calltip and autocomplete interaction
On Sun, 2 Aug 2009 15:43:28 +0200, Enrico wrote: On Tue, 28 Jul 2009 15:32:04 +0100, Nick wrote: On Fri, 24 Jul 2009 12:42:56 +0200 Enrico Tröger enrico.troe...@uvena.de wrote: Update: while re-reading your initial report and re-testing, it still doesn't work if you cancel the auto-completion list by typing an invalid character (invalid in terms of a non-matching item). For this to work, we would need to explicitly reshow the calltip also when receiving SCN_CHARADDED. Right now, I'm not sure whether it can/should do this unconditionally or whether we need some logic behind when to reshow the calltip (of course, the basic condition is only reshow it Update 2: with SVN r4022 it should also work for cancelled auto-completion lists which were not closed explicitly by Escape, i.e. also without a SCN_AUTOCCANCELLED message. Please test it :). This reshows calltips when you don't want them: 1. Press the down arrow when you're in a calltip until you're outside the argument list. 2. Type a character - the calltip is reshown. Oops, very bad. I have a half-finished patch to address this issue, I hope I'll find time to finish and commit it during next week. Guys, I'm sorry. It seems I saved the patch to /tmp so it got deleted after shutting down my computer (my /tmp is a ram disk) or I deleted the file by accident. I just don't have it anymore and I don't have time until next week to write it again. We are planning the release for Sunday which probably won't happen but I try to make it on Monday or Tuesday. So, if anyone is bored feel free to fix it. It's basically about checking the current cursor position against the start and end position of the argument list (i.e. the surrounding braces) of the shown calltip. Alternatively, we can maybe disable the code which is causing this behaviour for the release. IIRC it's only one line and currently it's more annoying than it helps. Sorry, Enrico -- Get my GPG key from http://www.uvena.de/pub.asc pgpwfsCO49kI6.pgp Description: PGP signature ___ Geany-devel mailing list Geany-devel@uvena.de http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel
Re: [Geany-devel] Calltip and autocomplete interaction
On Thu, 06 Aug 2009 22:34:05 +0200 Thomas Martitz thomas.mart...@student.htw-berlin.de wrote: This reshows calltips when you don't want them: 1. Press the down arrow when you're in a calltip until you're outside the argument list. 2. Type a character - the calltip is reshown. Regards, Nick I can't imagine a situation where you don't want the calltip to show. I'm talking about a calltip when the cursor is nowhere near the function it relates to. Regards, Nick ___ Geany-devel mailing list Geany-devel@uvena.de http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel
Re: [Geany-devel] Calltip and autocomplete interaction
2009/8/11 Nick Treleaven nick.trelea...@btinternet.com: On Thu, 06 Aug 2009 22:34:05 +0200 Thomas Martitz thomas.mart...@student.htw-berlin.de wrote: This reshows calltips when you don't want them: 1. Press the down arrow when you're in a calltip until you're outside the argument list. 2. Type a character - the calltip is reshown. Regards, Nick I can't imagine a situation where you don't want the calltip to show. I'm talking about a calltip when the cursor is nowhere near the function it relates to. Ah, see what you mean, hadn't noticed that!!! Lex Regards, Nick ___ Geany-devel mailing list Geany-devel@uvena.de http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel ___ Geany-devel mailing list Geany-devel@uvena.de http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel
Re: [Geany-devel] Calltip and autocomplete interaction
Nick Treleaven schrieb: On Thu, 06 Aug 2009 22:34:05 +0200 Thomas Martitz thomas.mart...@student.htw-berlin.de wrote: This reshows calltips when you don't want them: 1. Press the down arrow when you're in a calltip until you're outside the argument list. 2. Type a character - the calltip is reshown. Regards, Nick I can't imagine a situation where you don't want the calltip to show. I'm talking about a calltip when the cursor is nowhere near the function it relates to. Hh sorry. Yea, I realized that yesterday when I also noticed this bug. Best regardsd ___ Geany-devel mailing list Geany-devel@uvena.de http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel
Re: [Geany-devel] Calltip and autocomplete interaction
Hi, I agree, I'm not sure its a big problem, but then again if the calltip was covering something I needed to read whilst typing the parameter I'd be annoyed so.. I suggest that the behavior from the user point of view should follow a simple state machine: Three states, not displayed, displayed, hidden State not displayed on ( show calltip and go to state displayed on calltip keybinding show calltip go to state displayed State displayed on autocomplete replace calltip with autocomplete on autocomplete removed (by acceptance or dismissal or mismatch) show calltip on ) hide calltip and go to state not displayed on user dismissal of calltip (down arrow or esc) hide calltip and go to state hidden State hidden on autocomplete show autocomplete on autocomplete removed do not show calltip on ) go to state not displayed on show calltip keybinding show calltip go to state displayed What this is doing is that if the user dismisses the calltip it stays dismissed until the user asks for it again, but if non-user action removes the calltip (like Geany displaying autocomplete) then it is re-displayed as soon as possible. I havn't had time to look at how different this is to the current code. Cheers Lex 2009/8/7 Thomas Martitz thomas.mart...@student.htw-berlin.de: Nick Treleaven schrieb: This reshows calltips when you don't want them: 1. Press the down arrow when you're in a calltip until you're outside the argument list. 2. Type a character - the calltip is reshown. Regards, Nick I can't imagine a situation where you don't want the calltip to show. Best regards. ___ Geany-devel mailing list Geany-devel@uvena.de http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel ___ Geany-devel mailing list Geany-devel@uvena.de http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel
Re: [Geany-devel] Calltip and autocomplete interaction
Lex Trotman schrieb: Hi, I agree, I'm not sure its a big problem, but then again if the calltip was covering something I needed to read whilst typing the parameter I'd be annoyed so.. I suggest that the behavior from the user point of view should follow a simple state machine: Three states, not displayed, displayed, hidden State not displayed on ( show calltip and go to state displayed on calltip keybinding show calltip go to state displayed State displayed on autocomplete replace calltip with autocomplete on autocomplete removed (by acceptance or dismissal or mismatch) show calltip on ) hide calltip and go to state not displayed on user dismissal of calltip (down arrow or esc) hide calltip and go to state hidden State hidden on autocomplete show autocomplete on autocomplete removed do not show calltip on ) go to state not displayed on show calltip keybinding show calltip go to state displayed What this is doing is that if the user dismisses the calltip it stays dismissed until the user asks for it again, but if non-user action removes the calltip (like Geany displaying autocomplete) then it is re-displayed as soon as possible. I havn't had time to look at how different this is to the current code. Cheers Lex That sounds like complicating stuff necessarily to me. Best regards. ___ Geany-devel mailing list Geany-devel@uvena.de http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel
Re: [Geany-devel] Calltip and autocomplete interaction
Nick Treleaven schrieb: This reshows calltips when you don't want them: 1. Press the down arrow when you're in a calltip until you're outside the argument list. 2. Type a character - the calltip is reshown. Regards, Nick I can't imagine a situation where you don't want the calltip to show. Best regards. ___ Geany-devel mailing list Geany-devel@uvena.de http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel
Re: [Geany-devel] Calltip and autocomplete interaction
On Tue, 28 Jul 2009 15:32:04 +0100, Nick wrote: On Fri, 24 Jul 2009 12:42:56 +0200 Enrico Tröger enrico.troe...@uvena.de wrote: Update: while re-reading your initial report and re-testing, it still doesn't work if you cancel the auto-completion list by typing an invalid character (invalid in terms of a non-matching item). For this to work, we would need to explicitly reshow the calltip also when receiving SCN_CHARADDED. Right now, I'm not sure whether it can/should do this unconditionally or whether we need some logic behind when to reshow the calltip (of course, the basic condition is only reshow it Update 2: with SVN r4022 it should also work for cancelled auto-completion lists which were not closed explicitly by Escape, i.e. also without a SCN_AUTOCCANCELLED message. Please test it :). This reshows calltips when you don't want them: 1. Press the down arrow when you're in a calltip until you're outside the argument list. 2. Type a character - the calltip is reshown. Oops, very bad. I have a half-finished patch to address this issue, I hope I'll find time to finish and commit it during next week. Regards, Enrico -- Get my GPG key from http://www.uvena.de/pub.asc pgpsYwh9QZeLW.pgp Description: PGP signature ___ Geany-devel mailing list Geany-devel@uvena.de http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel
Re: [Geany-devel] Calltip and autocomplete interaction
On Mon, 27 Jul 2009 11:36:13 +1000, Lex wrote: 2009/7/26 Frank Lanitz fr...@frank.uvena.de: On Fri, 24 Jul 2009 20:26:54 +0200 Enrico Tröger enrico.troe...@uvena.de wrote: On Fri, 24 Jul 2009 21:42:03 +1000, Lex wrote: Hey, When typing a function call, the calltip is shown when the '(' is typed. It is then replaced by autocomplete suggestions as the parameter is typed. If the autocomplete is accepted then the calltip is re-displayed, but if the autocomplete is not accepted, such as by typing ',' then the tooltip is not re-displayed, very annoying. I know I can re-display it manually by twisting my fingers into a knot ;-) but automatic would be better. You know you can re-configure the keybinding for showing calltips :) Yeah, but running out of keycodes, too many functions in Geany ;-) anyway don't need to now :-) We definitely need keyboards with way more than 105 keys, basic design failure :). Would this a good point to mention that I like to have emacs keybinding feeling? ;) http://www.gnu.org/software/emacs/ best damn emacs emulation I know :-D Seriously though, it is because people are different that configurability of UIs is important. Emacs sequences are a perfectly valid solution to the problem. Unfortunately the GTK infrastructure doesn't seem to support sequences as shortcuts. And its meant to be used differently. There are different goals. So, please stop talking about making Geany emacs-like. There is just no point in and so only wasted time talking about it. Regards, Enrico -- Get my GPG key from http://www.uvena.de/pub.asc pgpgYORVa2Mou.pgp Description: PGP signature ___ Geany-devel mailing list Geany-devel@uvena.de http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel
Re: [Geany-devel] Calltip and autocomplete interaction
On Sat, 25 Jul 2009 16:16:57 +1000, Lex wrote: Hey, Maybe we should add some information about this. What is worth to be mentioned? - the configurable keybinding to trigger an auto-completion list (Ctrl-Space) or by typing more than 4 characters (also configurable) - hiding the list with Escape or with any non-matching character - selecting an item with Space/Tab/Mouse click - special auto-completion when using Ctrl-Space which contains not only known symbols, but also all matching words of the current document, if enabled - special '.' / '-' auto-completions I didn't know about this, so not in patch, hows it work? Maybe Nick can give some more detailed words about this. - what else? If anyone of you is bored enough, a patch with some text would be cool :). Attached, a first go at it anyway. It's in SVN. However, I changed 'keycode' to 'keybinding' which is more consistent with the rest of the text. And I removed the double spaces after full stops you entered. Not sure whether this was on purpose or by accident but to me it looks ugly and is uncommon, AFAIK. The rest was just great, many thanks. We both may live to regret this offer but here goes anyway... One of my previous jobs was a very picky technical reviewer and I am willing to give the manual a wash and brush up. The upside of this is that I will make all the small fixes, the downside is that I will suggest any major items to you, although of course you can always ignore the suggestions :-) Sure, why not. IIRC Frank intended to do something similar some time ago but never heard of any progress since then. In general, improvements and fixes are welcome. Just keep in mind, in contrary to you and Nick, I'm not a native English speaker, so I won't argue about any verbalization issues with you :). Regards, Enrico -- Get my GPG key from http://www.uvena.de/pub.asc pgpxxhxfl4afc.pgp Description: PGP signature ___ Geany-devel mailing list Geany-devel@uvena.de http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel
Re: [Geany-devel] Calltip and autocomplete interaction
On Fri, 24 Jul 2009 12:42:42 +1000, Lex wrote: Hi Guys, When typing a function call, the calltip is shown when the '(' is typed. It is then replaced by autocomplete suggestions as the parameter is typed. If the autocomplete is accepted then the calltip is re-displayed, but if the autocomplete is not accepted, such as by typing ',' then the tooltip is not re-displayed, very annoying. I know I can re-display it manually by twisting my fingers into a knot ;-) but automatic would be better. You know you can re-configure the keybinding for showing calltips :) AFAICT the editor.c code intends to re-display it but I can't see why it doesn't work in this case. Yeah :(. It's in src/editor.c at handling the SCN_AUTOCCANCELLED notification. I think the problem was that we passed a reference to the SCNotification struct to the idle function but at the time that idle function was called, the SCNotification struct was not valid anymore because most likely other Scintilla messages have been arrived and so the struct contained other or invalid information for this operation. So, in SVN r4021 I changed the code so that it caches the necessary information (nt-lParam and nt-text) and pass the cached information to the idle function. And it seems, now it works only with a real idle function and not a 50ms timeout which was very ugly. Quick testing has shown it seems to work but I'm not that sure, so please test. Update: while re-reading your initial report and re-testing, it still doesn't work if you cancel the auto-completion list by typing an invalid character (invalid in terms of a non-matching item). For this to work, we would need to explicitly reshow the calltip also when receiving SCN_CHARADDED. Right now, I'm not sure whether it can/should do this unconditionally or whether we need some logic behind when to reshow the calltip (of course, the basic condition is only reshow it when it was shown before :D). Anyway, reshowing the calltip after a cancelled auto-completion list should work pretty good now when closing the list with Escape so that we really receive a SCN_AUTOCCANCELLED message. Also I noticed that the manual doesn't describe symbol autocompletion operation and the keycodes for accept and dismiss. It does for snippets, but not for symbol autocomplete. You mean Enter/Tab to accept an item and Escape to cancel an auto-completion list? Regards, Enrico -- Get my GPG key from http://www.uvena.de/pub.asc pgpF7byXmMqL2.pgp Description: PGP signature ___ Geany-devel mailing list Geany-devel@uvena.de http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel
Re: [Geany-devel] Calltip and autocomplete interaction
On Fri, 24 Jul 2009 12:09:17 +0200, Enrico wrote: Update: while re-reading your initial report and re-testing, it still doesn't work if you cancel the auto-completion list by typing an invalid character (invalid in terms of a non-matching item). For this to work, we would need to explicitly reshow the calltip also when receiving SCN_CHARADDED. Right now, I'm not sure whether it can/should do this unconditionally or whether we need some logic behind when to reshow the calltip (of course, the basic condition is only reshow it Update 2: with SVN r4022 it should also work for cancelled auto-completion lists which were not closed explicitly by Escape, i.e. also without a SCN_AUTOCCANCELLED message. Please test it :). Regards, Enrico -- Get my GPG key from http://www.uvena.de/pub.asc pgp3gICPi9jlV.pgp Description: PGP signature ___ Geany-devel mailing list Geany-devel@uvena.de http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel
Re: [Geany-devel] Calltip and autocomplete interaction
Hi Enrico, Tested with r4023 seems to work fine now, thanks. :-D 2009/7/24 Enrico Tröger enrico.troe...@uvena.de: On Fri, 24 Jul 2009 12:42:42 +1000, Lex wrote: Hi Guys, When typing a function call, the calltip is shown when the '(' is typed. It is then replaced by autocomplete suggestions as the parameter is typed. If the autocomplete is accepted then the calltip is re-displayed, but if the autocomplete is not accepted, such as by typing ',' then the tooltip is not re-displayed, very annoying. I know I can re-display it manually by twisting my fingers into a knot ;-) but automatic would be better. You know you can re-configure the keybinding for showing calltips :) Yeah, but running out of keycodes, too many functions in Geany ;-) anyway don't need to now :-) AFAICT the editor.c code intends to re-display it but I can't see why it doesn't work in this case. Yeah :(. It's in src/editor.c at handling the SCN_AUTOCCANCELLED notification. I think the problem was that we passed a reference to the SCNotification struct to the idle function but at the time that idle function was called, the SCNotification struct was not valid anymore because most likely other Scintilla messages have been arrived and so the struct contained other or invalid information for this operation. So, in SVN r4021 I changed the code so that it caches the necessary information (nt-lParam and nt-text) and pass the cached information to the idle function. And it seems, now it works only with a real idle function and not a 50ms timeout which was very ugly. Quick testing has shown it seems to work but I'm not that sure, so please test. Update: while re-reading your initial report and re-testing, it still doesn't work if you cancel the auto-completion list by typing an invalid character (invalid in terms of a non-matching item). For this to work, we would need to explicitly reshow the calltip also when receiving SCN_CHARADDED. Right now, I'm not sure whether it can/should do this unconditionally or whether we need some logic behind when to reshow the calltip (of course, the basic condition is only reshow it when it was shown before :D). Anyway, reshowing the calltip after a cancelled auto-completion list should work pretty good now when closing the list with Escape so that we really receive a SCN_AUTOCCANCELLED message. Also I noticed that the manual doesn't describe symbol autocompletion operation and the keycodes for accept and dismiss. It does for snippets, but not for symbol autocomplete. You mean Enter/Tab to accept an item and Escape to cancel an auto-completion list? Yeah, I could see where the snippets section talks about its autocomplete, but not symbol autocomplete. In fact the only mention of symbol autocomplete, besides in the list of features on page 1, seems to be buried in the tags section and nothing about how its UI works. And I only found that reference by searching the document for auto when I was trying to check that I understood how it should work before I reported the bug. Cheers Lex Regards, Enrico -- Get my GPG key from http://www.uvena.de/pub.asc ___ Geany-devel mailing list Geany-devel@uvena.de http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel ___ Geany-devel mailing list Geany-devel@uvena.de http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel
Re: [Geany-devel] Calltip and autocomplete interaction
On Fri, 24 Jul 2009 21:42:03 +1000, Lex wrote: Hey, When typing a function call, the calltip is shown when the '(' is typed. It is then replaced by autocomplete suggestions as the parameter is typed. If the autocomplete is accepted then the calltip is re-displayed, but if the autocomplete is not accepted, such as by typing ',' then the tooltip is not re-displayed, very annoying. I know I can re-display it manually by twisting my fingers into a knot ;-) but automatic would be better. You know you can re-configure the keybinding for showing calltips :) Yeah, but running out of keycodes, too many functions in Geany ;-) anyway don't need to now :-) We definitely need keyboards with way more than 105 keys, basic design failure :). Also I noticed that the manual doesn't describe symbol autocompletion operation and the keycodes for accept and dismiss. It does for snippets, but not for symbol autocomplete. You mean Enter/Tab to accept an item and Escape to cancel an auto-completion list? Yeah, I could see where the snippets section talks about its autocomplete, but not symbol autocomplete. In fact the only mention of symbol autocomplete, besides in the list of features on page 1, seems to be buried in the tags section and nothing about how its UI works. And I only found that reference by searching the document for auto when I was trying to check that I understood how it should work before I reported the bug. Indeed. Maybe we should add some information about this. What is worth to be mentioned? - the configurable keybinding to trigger an auto-completion list (Ctrl-Space) or by typing more than 4 characters (also configurable) - hiding the list with Escape or with any non-matching character - selecting an item with Space/Tab/Mouse click - special auto-completion when using Ctrl-Space which contains not only known symbols, but also all matching words of the current document, if enabled - special '.' / '-' auto-completions - what else? If anyone of you is bored enough, a patch with some text would be cool :). Regards, Enrico -- Get my GPG key from http://www.uvena.de/pub.asc pgpC51WirYL5l.pgp Description: PGP signature ___ Geany-devel mailing list Geany-devel@uvena.de http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel
[Geany-devel] Calltip and autocomplete interaction
Hi Guys, When typing a function call, the calltip is shown when the '(' is typed. It is then replaced by autocomplete suggestions as the parameter is typed. If the autocomplete is accepted then the calltip is re-displayed, but if the autocomplete is not accepted, such as by typing ',' then the tooltip is not re-displayed, very annoying. I know I can re-display it manually by twisting my fingers into a knot ;-) but automatic would be better. AFAICT the editor.c code intends to re-display it but I can't see why it doesn't work in this case. Also I noticed that the manual doesn't describe symbol autocompletion operation and the keycodes for accept and dismiss. It does for snippets, but not for symbol autocomplete. Cheers Lex ___ Geany-devel mailing list Geany-devel@uvena.de http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel