This patch adds a text box at the bottom of the sign list window for filtering the sign list. Say you want to list all signs that contain "BBH", then just type BBH and only the signs that contain BBH will be displayed in the list. You can select between case sensitive and case insensitive (default) matching.
Hotkeys
f = focus the edit box of the sign list window (this hotkey is configurable)
When the edit box is selected:
Up/Down = select previous/next sign in the list
Page Up/Down = go up/down a page in the list
Ctrl + Home/End = go to the beginning/end of the list
Enter = Move viewport to selected sign or the first one in the list if none of them are selected
Escape = Clear the filter and unfocus the edit box
The reason for Ctrl + Home/End is that without Ctrl the home/end keys will move the caret of the text edit widget to the beginning/end.
You may in your hotkeys.cfg change the focus edit box hotkey to for example "GLOBAL+CTRL+L". Then you can use that hotkey to open the sign list window with the filter edit box focused.
Screenshot
This is how the, while writing this, last version of the patch looks (version 35):
The patch itself:
The patch files are found at FS#3472. Search from the end of the list of comments for the last version. Binaries are not always produced, but if they are you'll find the last one by searching from the end of this thread. Check against the last version released on flyspray to see if the binary is up to date with the last patch version.
History - edit boxes
When I started out with this patch the widget focus system was not in place in OpenTTD, instead if you had a edit box (visible or invisible!) on any window it would grab all keyboard focus. When I started with this patch I realized that it would be a no-go to add an edit box to a window that users might want to keep open for monitoring while playing along unless I would come up with a solution so that the edit box would not grab the keyboard focus when not in use. My first attempt was to make it possible for windows to toggle their query window status (a query window is a window with a text edit box) so that I could have a button on the sign list window that enables the filter function and then one to disable it again. Later I decided to try to implement a window and widget focus model where you can choose which widget to give focus. This work has been merged into trunk a year ago or so.