Last year I brought up the topic of Geany having an incremental search backward feature. Nick mentioned (http://lists.uvena.de/pipermail/geany/2007-September/001665.html) that it might eventually get implemented.
Since then, when using Geany, I've tried using Ctrl-F to move focus to the search bar (incremental search forward), Shift-Ctrl-g to go backward, and Ctrl-E to bring focus back to the editor. The problem though, is that it still feels quite clumsy to me. So, I've got 2 ideas for improvement:
1. Since Geany is a GUI editor/IDE, and it's got a toolbar, how about having a (possibly optionally visible) checkbox widget associated with the Search field, such that when checked, does the search in the opposite direction? That would seem to be an easy way to provide incremental search backward. If you think it looks like an ugly hack, you could always leave the checkbox's visibility off, by default, and then provide a sub-checkbox for "Prefs --> Toolbar tab --> Items section --> Show Search field" to make it visible. As long as users could toggle the checkbox (while visible) by hitting an Alt key combo (like other GUI parts), it would speed up editing a lot, IMO.
2. When I do an incremental search for something that's already visible on the page, and the cursor gets there, I don't think Geany should automatically scroll to center the view. The reason is, when you're using incremental search to move around on the page, you've usually already got the location you're headed to in the corner of your eye. If the view scrolls while you're on the way there, it's jarring. Also, I may just be going there to set a bookmark, and then heading back to where I was. Having the screen flop all over the place while just moving around the visible view is disorienting. :)
2.A. Incidentally, I think that using Ctrl-. and Ctrl-, (moving between bookmarks) should behave the same way (as described above) when the target bookmark is already visible on the screen.
Thanks, ---John
On Wed, 23 Jan 2008 02:39:44 -0500 "John Gabriele" jmg3000@gmail.com wrote:
Last year I brought up the topic of Geany having an incremental search backward feature. Nick mentioned (http://lists.uvena.de/pipermail/geany/2007-September/001665.html) that it might eventually get implemented.
Since then, when using Geany, I've tried using Ctrl-F to move focus to the search bar (incremental search forward), Shift-Ctrl-g to go backward, and Ctrl-E to bring focus back to the editor. The problem though, is that it still feels quite clumsy to me. So, I've got 2 ideas for improvement:
- Since Geany is a GUI editor/IDE, and it's got a toolbar, how about
having a (possibly optionally visible) checkbox widget associated with the Search field, such that when checked, does the search in the opposite direction? That would seem to be an easy way to provide incremental search backward. If you think it looks like an ugly hack, you could always leave the checkbox's visibility off, by default, and then provide a sub-checkbox for "Prefs --> Toolbar tab --> Items section --> Show Search field" to make it visible. As long as users could toggle the checkbox (while visible) by hitting an Alt key combo (like other GUI parts), it would speed up editing a lot, IMO.
I'm not sure that a checkbox is a good idea. Maybe just a keybinding to focus the search box that sets a reverse search flag, which is cleared when the search box loses focus would be enough. That keeps the UI cleaner.
- When I do an incremental search for something that's already
visible on the page, and the cursor gets there, I don't think Geany should automatically scroll to center the view. The reason is, when you're using incremental search to move around on the page, you've usually already got the location you're headed to in the corner of your eye. If the view scrolls while you're on the way there, it's jarring. Also, I may just be going there to set a bookmark, and then heading back to where I was. Having the screen flop all over the place while just moving around the visible view is disorienting. :)
2.A. Incidentally, I think that using Ctrl-. and Ctrl-, (moving between bookmarks) should behave the same way (as described above) when the target bookmark is already visible on the screen.
I agree. It was done so that when using the Find dialog you don't have to keep moving it about to see any matches it was blocking, but for incremental search and other things it probably isn't the best behaviour.
Regards, Nick
On Fri, 25 Jan 2008 13:33:22 +0000, Nick Treleaven nick.treleaven@btinternet.com wrote:
On Wed, 23 Jan 2008 02:39:44 -0500 "John Gabriele" jmg3000@gmail.com wrote:
Last year I brought up the topic of Geany having an incremental search backward feature. Nick mentioned (http://lists.uvena.de/pipermail/geany/2007-September/001665.html) that it might eventually get implemented.
Since then, when using Geany, I've tried using Ctrl-F to move focus to the search bar (incremental search forward), Shift-Ctrl-g to go backward, and Ctrl-E to bring focus back to the editor. The problem though, is that it still feels quite clumsy to me. So, I've got 2 ideas for improvement:
- Since Geany is a GUI editor/IDE, and it's got a toolbar, how
about having a (possibly optionally visible) checkbox widget associated with the Search field, such that when checked, does the search in the opposite direction? That would seem to be an easy way to provide incremental search backward. If you think it looks like an ugly hack, you could always leave the checkbox's visibility off, by default, and then provide a sub-checkbox for "Prefs --> Toolbar tab --> Items section --> Show Search field" to make it visible. As long as users could toggle the checkbox (while visible) by hitting an Alt key combo (like other GUI parts), it would speed up editing a lot, IMO.
I'm not sure that a checkbox is a good idea. Maybe just a keybinding
I agree, I also don't like a checkbox in the toolbar. A possibility would be another search button next to the search field, dedicated for backward search. But an usual button would bloat it too much, IMO. I was also thinking(in the past, John I didn't forget this request :D) of two search buttons vertically separated. Hard to explain, something like:
---------------- Button backward | search field | --------------- ---------------- Button forward
Without having tried it, I assume it isn't possible to divide a toolbar item into a VBox and add two widgets in it. Additionally, I could image it doesn't look very nice, especially with small symbols.
Yet another idea: the current search button next to the search field in the toolbar gets overloaded: left-click does the usual forward search and when right-clicking the button, Geany does the requested backward search.
Regards, Enrico
On Jan 27, 2008 12:11 PM, Enrico Tröger enrico.troeger@uvena.de wrote:
On Fri, 25 Jan 2008 13:33:22 +0000, Nick Treleaven nick.treleaven@btinternet.com wrote:
On Wed, 23 Jan 2008 02:39:44 -0500 "John Gabriele" jmg3000@gmail.com wrote:
- Since Geany is a GUI editor/IDE, and it's got a toolbar, how
about having a (possibly optionally visible) checkbox widget associated with the Search field, such that when checked, does the search in the opposite direction? [snip]
I'm not sure that a checkbox is a good idea. Maybe just a keybinding
I agree, I also don't like a checkbox in the toolbar. A possibility would be another search button next to the search field, dedicated for backward search. But an usual button would bloat it too much, IMO.
Well, you could put a button on either side of the search field: both with that little binoculars image, but one with a little arrow underneath it pointing to the left (put this one on the left side of the search field, for backward search) and the other with the arrow pointing to the right (on the right of the search field).
I was also thinking(in the past, John I didn't forget this request :D) of two search buttons vertically separated. Hard to explain, something like:
---------------- Button backward | search field | --------------- ---------------- Button forward
Without having tried it, I assume it isn't possible to divide a toolbar item into a VBox and add two widgets in it. Additionally, I could image it doesn't look very nice, especially with small symbols.
It could also take up valuable vertical space. I typically switch to small icons and images just to get a couple extra lines of text visible in the main text pane.
Yet another idea: the current search button next to the search field in the toolbar gets overloaded: left-click does the usual forward search and when right-clicking the button, Geany does the requested backward search.
That would seem to me to be pretty unexpected usage.
I think Nick's suggestion for a keybinding to enter to search field in a reverse search mode is ideal for keyboard-only users, but it would be nice to also have a visual cue to tell you you're in reverse mode. What would work nicely for that is if you changed the background color of the search field to, say, light blue or cyan, when in that mode.
---John
On Jan 27, 2008 7:28 PM, John Gabriele jmg3000@gmail.com wrote:
I think Nick's suggestion for a keybinding to enter to search field in a reverse search mode is ideal for keyboard-only users, but it would be nice to also have a visual cue to tell you you're in reverse mode.
Still another idea, since the search field already has a popup menu, maybe you could add a check-able menu item to the popup menu.
But once the menu is closed, it still doesn't provide any visual cue to which mode it's in. Maybe we could turn the magnifying glass upside-down? ;-)
What would work nicely for that is if you changed the background color of the search field to, say, light blue or cyan, when in that mode.
The default colors for the text entry background/foreground can be overridden by the user in the ~/.gtkrc-2.0 file.
So if the user has it configured for e.g. light blue text on a dark brown background, changing the background to light blue might be an unpleasant surprise. But I'm sure there could be a workaround for that, maybe a hidden pref or something...
- Jeff
On Jan 27, 2008 9:22 PM, Jeff Pohlmeyer yetanothergeek@gmail.com wrote:
On Jan 27, 2008 7:28 PM, John Gabriele jmg3000@gmail.com wrote:
I think Nick's suggestion for a keybinding to enter to search field in a reverse search mode is ideal for keyboard-only users, but it would be nice to also have a visual cue to tell you you're in reverse mode.
Still another idea, since the search field already has a popup menu, maybe you could add a check-able menu item to the popup menu.
But once the menu is closed, it still doesn't provide any visual cue to which mode it's in. Maybe we could turn the magnifying glass upside-down? ;-)
What would work nicely for that is if you changed the background color of the search field to, say, light blue or cyan, when in that mode.
The default colors for the text entry background/foreground can be overridden by the user in the ~/.gtkrc-2.0 file.
So if the user has it configured for e.g. light blue text on a dark brown background, changing the background to light blue might be an unpleasant surprise. But I'm sure there could be a workaround for that, maybe a hidden pref or something...
I think that the point of having ISB (incremental search backward) is providing lightning-fast document navigation via the keyboard. But I suspect that Enrico wants the editor to be newbie-friendly too (though, I notice that the About page on the Geany site does not mention user-friendliness as a goal). So, even though some users may only care about getting a key-binding assigned to a working ISB function, it's probably got to look nice as well for Enrico and the gang to "ok" it.
Having a right-click popup menu item for the search field might be a stretch because I suspect most users would never think of looking there. Also, it would mean an extra keystroke to toggle it before doing a ISB, and then you'd have to remember to toggle it back when you were done -- lest you end up accidentally going the wrong way next time you try an ISF. This observation, incidentally, makes my original suggestion about using a checkbox not so good.
Nick's idea is great for users who just want the single fast keybinding. Changing the background color would seem to be ok, since it's already being done for when the search returns no results, but if it's undesirable, and having buttons on either side of the search field is too much, then I think your idea of having two icon graphics for the incremental search button is good. Currently, the binoculars point downward, and ISF takes you down the page. :) A vertically flipped image could be used as you suggest. It might also be a good idea to add thin up- and down-arrows in there (one for each icon graphic), since that would not only make the change in search direction more obvious, but also might hint to new users that the search can also be done in the opposite direction.
---John
On Jan 27, 2008 10:16 PM, John Gabriele jmg3000@gmail.com wrote:
Having a right-click popup menu item for the search field might be a stretch because I suspect most users would never think of looking there.
Yes, it might not be such a great idea, but considering the constraints: * Don't want an extra button on the toolbar. * Don't want to use a checkbox. * Do want the setting to be "mouseable"
I don't see a lot of remaining options. Possibly adding a comment to the tooltip might help, if people happen to accidently look there. Something like: "Find the text entered in the current file, right-click for more options."
Nick's idea is great for users who just want the single fast keybinding.
Yes, that's a good idea, although still not-so-obvious for newbies.
Changing the background color would seem to be ok, since it's already being done for when the search returns no results.
Should be OK, but if it's done, then I think Geany should always override the user's gtkrc settings, to make sure the default widget is always black-on-white.
A vertically flipped image could be used as you suggest.
That was really just a joke, I didn't think you'd take it seriously :-)
It might also be a good idea to add thin up- and down- arrows in there (one for each icon graphic), since that would not only make the change in search direction more obvious...
That sounds like a better idea to me. Or maybe a green rightward arrow for forward and a yellow leftward arrow for backwards, possibly overlayed with the search icon. ( My theme shows a Sherlock-Holmes-style magnifying glass, but you mentioned yours is binoculars? )
but also might hint to new users that the search can also be done in the opposite direction.
Good point.
- Jeff
On Mon, 28 Jan 2008 09:53:14 -0600, "Jeff Pohlmeyer" yetanothergeek@gmail.com wrote:
On Jan 27, 2008 10:16 PM, John Gabriele jmg3000@gmail.com wrote:
Having a right-click popup menu item for the search field might be a stretch because I suspect most users would never think of looking there.
I also don't like the popup menu item, to complicated to reach, IMO.
Nick's idea is great for users who just want the single fast keybinding.
Yes.
Yes, that's a good idea, although still not-so-obvious for newbies.
But we will add this because at least we have the feature and I think it's not too hard to reach the preferences dialog and set a keybinding for users who want this feature. Anyway, any graphical hint would be nice.
Changing the background color would seem to be ok, since it's already being done for when the search returns no results.
Should be OK, but if it's done, then I think Geany should always override the user's gtkrc settings, to make sure the default widget is always black-on-white.
I think we shouldn't touch the user's gtkrc settings if it isn't really necessary at all.
It might also be a good idea to add thin up- and down- arrows in there (one for each icon graphic), since that would not only make the change in search direction more obvious...
That sounds like a better idea to me. Or maybe a green rightward arrow for forward and a yellow leftward arrow for backwards, possibly overlayed with the search icon. ( My theme shows a Sherlock-Holmes-style magnifying glass, but you mentioned yours is binoculars? )
There is one problem with using modified or customized icons: they probably don't fit in user's icon theme. E.g. the Save All toolbar icon, it probably doesn't look like the other save icons on your system. I created it long time ago using the usual save icon and added another disk behind the first disk. As I did this, it looked well because my usual save icon was just this disk symbol but later, I changed my icon theme and so it doesn't look consistent now(the problem is there is no stock icon for "Save All"). And this will happen everytime when using own icons, they don't fit in the remaining icon theme. Therefore I'd like to avoid this whenever possible.
At the moment, the only way I see is an additional icon next to the search field in the toolbar but on the other hand, I don't like to add yet another icon only for ISB. My idea of the right-click on the toolbar search icon to do a ISB could be indeed a bit confusing and isn't very intuitive too. This would probably also need some extra documentation like in the tooltip. But at least it would be easy to implement ;-).
Well, since we are about to release 0.13 very soon, all this will have to wait until after the 0.13 release. We will at least add the keybinding for ISB.
Regards, Enrico
On Jan 29, 2008 10:37 AM, Enrico Tröger enrico.troeger@uvena.de wrote:
On Mon, 28 Jan 2008, "Jeff Pohlmeyer"> yetanothergeek@gmail.com wrote:
On Jan 27, 2008, John Gabriele jmg3000@gmail.com wrote:
Having a right-click popup menu item for the search field might be a stretch because I suspect most users would never think of looking there.
I also don't like the popup menu item, to complicated to reach, IMO.
I don't really don't like it either, but some people don't like the right-click icon, some people don't like an extra button, and some people don't like the checkbox, so that doesn't leave a lot of other options. Either you add the UI element to the toolbar, or you hide it. If you put it on the toolbar, it takes up space. If you hide it, then it's hard to find.
Nick's idea is great for users who just want the single fast keybinding.
Yes.
Yes, that's a good idea, although still not-so-obvious for newbies.
But we will add this because at least we have the feature and I think it's not too hard to reach the preferences dialog and set a keybinding for users who want this feature. Anyway, any graphical hint would be nice.
Like I say, I think the keybinding is a good idea, I was only observing that the arguments against the popup menu and right-click icon might be valid here as well. But maybe not, since keybindings are by nature "hidden" where GUI elements are expected to be more apparent.
Changing the background color would seem to be ok, since it's already being done for when the search returns no results.
Should be OK, but if it's done, then I think Geany should always override the user's gtkrc settings, to make sure the default widget is always black-on-white.
I think we shouldn't touch the user's gtkrc settings if it isn't really necessary at all.
I didn't mean to say you should change the user's gtkrc file, only that if you decide to change the background color for this widget, just make sure you don't end up with something like user-specified light blue text on a geany-specified light blue background.
At the moment, the only way I see is an additional icon next to the search field in the toolbar but on the other hand, I don't like to add yet another icon only for ISB.
My idea of the right-click on the toolbar search icon to do a ISB could be indeed a bit confusing and isn't very intuitive too. This would probably also need some extra documentation like in the tooltip. But at least it would be easy to implement ;-).
Personally, I think John's idea of an icon on either side of the search field is the most intuitive. Even if they are simply stock right/left arrow icons, their intended purpose should be fairly obvious to the user:
[<]__________[>]
But since I keep my Geany toolbar hidden 99.99% of the time, most of what I say here is probably just noise anyway :-)
- Jeff
On Jan 29, 2008 12:55 PM, Jeff Pohlmeyer yetanothergeek@gmail.com wrote:
Personally, I think John's idea of an icon on either side of the search field is the most intuitive. Even if they are simply stock right/left arrow icons, their intended purpose should be fairly obvious to the user:
[<]__________[>]
Just a quick observation: out of all the widgets we can have visible in the toolbar, all of them are accessible via the keyboard, and can be left off the toolbar for experienced users, *except* for the search field. I cannot do an ISF without that search field in the toolbar.
But since I keep my Geany toolbar hidden 99.99% of the time, most of what I say here is probably just noise anyway :-)
I'd keep the toolbar hidden myself if I didn't need that search field. It's always nice to get an extra couple of lines in the main text pane. :) My tool bar is basically empty except for the search field, and just mostly takes up space.
---John
On Tue, 29 Jan 2008 14:15:17 -0500, "John Gabriele" jmg3000@gmail.com wrote:
On Jan 29, 2008 12:55 PM, Jeff Pohlmeyer yetanothergeek@gmail.com wrote:
Personally, I think John's idea of an icon on either side of the search field is the most intuitive. Even if they are simply stock right/left arrow icons, their intended purpose should be fairly obvious to the user:
[<]__________[>]
Yes, this is probably the solution. It still increases the toolbar witdth...but as Jeff already pointed out, there isn't the one and only solution which makes all people happy at once ;-(.
Just a quick observation: out of all the widgets we can have visible in the toolbar, all of them are accessible via the keyboard, and can be left off the toolbar for experienced users, *except* for the search field. I cannot do an ISF without that search field in the toolbar.
But since I keep my Geany toolbar hidden 99.99% of the time, most of what I say here is probably just noise anyway :-)
I'd keep the toolbar hidden myself if I didn't need that search field. It's always nice to get an extra couple of lines in the main text pane. :) My tool bar is basically empty except for the search field, and just mostly takes up space.
Any idea how an incremental search without a text entry field could be? Open another dialog with a text entry? Sounds like the usual search dialog(Ctrl-F). Once searched with this dialog (and closed it), you can do incremental search forward and backward.
Regards, Enrico
On Tue, 29 Jan 2008 21:47:54 +0100, Enrico Tröger enrico.troeger@uvena.de wrote:
On Tue, 29 Jan 2008 14:15:17 -0500, "John Gabriele" jmg3000@gmail.com wrote:
On Jan 29, 2008 12:55 PM, Jeff Pohlmeyer yetanothergeek@gmail.com wrote:
Personally, I think John's idea of an icon on either side of the search field is the most intuitive. Even if they are simply stock right/left arrow icons, their intended purpose should be fairly obvious to the user:
[<]__________[>]
Yes, this is probably the solution. It still increases the toolbar
^ + best
Regards, Enrico
On Jan 29, 2008 2:47 PM, Enrico Tröger enrico.troeger@uvena.de wrote:
Any idea how an incremental search without a text entry field could be?
For what it's worth, the Firefox search bar behaves a little differently when you invoke it with the slash / key than when you invoke it with Ctrl+F. (I'm only mentioning this, not suggesting it.)
Once searched with this dialog (and closed it), you can do incremental search forward and backward.
It is my understanding that "incremental" means search-as-you-type. I don't see how that's possible without a text entry field open...
- Jeff
On Jan 29, 2008 3:47 PM, Enrico Tröger enrico.troeger@uvena.de wrote:
On Tue, 29 Jan 2008 14:15:17 -0500, "John Gabriele" jmg3000@gmail.com wrote:
On Jan 29, 2008 12:55 PM, Jeff Pohlmeyer yetanothergeek@gmail.com wrote:
But since I keep my Geany toolbar hidden 99.99% of the time, most of what I say here is probably just noise anyway :-)
I'd keep the toolbar hidden myself if I didn't need that search field. It's always nice to get an extra couple of lines in the main text pane. :) My tool bar is basically empty except for the search field, and just mostly takes up space.
Any idea how an incremental search without a text entry field could be?
After the user initiates either an ISF or ISB, maybe you could echo the search characters in the Status Bar (along with a little 'F' or 'B' to indicate forward or backward search direction). If the user has the Status Bar hidden, initiating an incremental search could make it visible.
Open another dialog with a text entry? Sounds like the usual search dialog(Ctrl-F). Once searched with this dialog (and closed it), you can do incremental search forward and backward.
Yeah, I think that would defeat the purpose of a fast unobtrusive incremental search. Also, part of the usefulness of incremental search is how the search result gets highlighted as you type. Having a dialog in the way could obscure that.
---John
On Sun, 27 Jan 2008 23:16:54 -0500, "John Gabriele" jmg3000@gmail.com wrote:
I think that the point of having ISB (incremental search backward) is providing lightning-fast document navigation via the keyboard. But I suspect that Enrico wants the editor to be newbie-friendly too (though, I notice that the About page on the Geany site does not mention user-friendliness as a goal). So, even though some users may
Because I assumed it's a mater of course that applications with a graphical user interface (hmm, generally every application) should aim to be user-friendly. So I just didn't mention it but it is indeed a goal ;-).
only care about getting a key-binding assigned to a working ISB function, it's probably got to look nice as well for Enrico and the gang to "ok" it.
Sure better to have the feature at least as a keybinding than missing it completely.
Regards, Enrico
Hi, Sorry for the late reply.
On Wed, 23 Jan 2008 02:39:44 -0500 "John Gabriele" jmg3000@gmail.com wrote:
- When I do an incremental search for something that's already
visible on the page, and the cursor gets there, I don't think Geany should automatically scroll to center the view. The reason is, when you're using incremental search to move around on the page, you've usually already got the location you're headed to in the corner of your eye. If the view scrolls while you're on the way there, it's jarring. Also, I may just be going there to set a bookmark, and then heading back to where I was. Having the screen flop all over the place while just moving around the visible view is disorienting. :)
Good point. In current SVN this should now work as expected for the search bar, find next, find selected.
2.A. Incidentally, I think that using Ctrl-. and Ctrl-, (moving between bookmarks) should behave the same way (as described above) when the target bookmark is already visible on the screen.
OK I'll do this soon.
Regards, Nick
On Fri, 22 Feb 2008 13:48:07 +0000 Nick Treleaven nick.treleaven@btinternet.com wrote:
Hi, Sorry for the late reply.
On Wed, 23 Jan 2008 02:39:44 -0500 "John Gabriele" jmg3000@gmail.com wrote:
[...]
2.A. Incidentally, I think that using Ctrl-. and Ctrl-, (moving between bookmarks) should behave the same way (as described above) when the target bookmark is already visible on the screen.
OK I'll do this soon.
Now done, and also for the Go to Matching Brace command.
Regards, Nick