💖 What it does
Reduces the size of the tag search form, by switching radiobuttons to dropdowns or button groups. Recognizes a “dark mode” AO3 skin, based on the page background.
Through a configuration dialog you can control how the search form displays.
🪴 How to use it
The script only changes how the search form looks, not how it behaves. After installing the script, open the configuration dialog to change the settings. Touching the code is not needed.
If you’re upgrading from an older version of this script to v4, you will have to re-select your preferred configuration.
🎨 How to configure it
In the main navigation of AO3, next to “About”, there’s a new menu item “Userscripts”.
From the “Userscripts” menu, select the “Smaller Tag Search” option.
A configuration dialog opens. Here, you can set your preferences.
Show Search Text and Fandom input fields
:
whether the two text inputs should display next to each other, without labels
(on a single line), or below each other, with labels
. If the screen is narrow, the textfields will still move below each other.
Show the Tag Type and Status option as
:
whether the options for the tag type and their wrangling status should be shown as Buttons
in a group next to each other, or as a Dropdown
.
Show the Sort By and Direction options as
:
whether the options for sorting the search results should be shown as Buttons
in a group next to each other, as a Dropdown
, or be Hidden
entirely.
Note that even if the sorting options are hidden, the default preferences are still applied — results will then always be sorted in the order you define in the Defaults section, and you can only change it by coming back to this configuration dialog.
Show labels above Tag Type/Status and Sort By/Direction
:
whether the four groups should have the group label show above the buttons/dropdowns.
Show Tag Type/Status and Sort By/Direction buttons with text
:
if any of the groups are shown as Buttons, whether they should use a text label on them, in addition to the icons.
Defaults
section:
which options should be selected automatically when the Tag Search page loads; for example if you typically search canonical relationships, and want them ordered by number of uses.
🐞 Known limitations
The script is intended for landscape (wide) screens. The layout of the form options and the configuration GUI might not work well on portrait (narrow) screens or on touch displays.
Other skins than the AO3 default may have interference in their CSS that cause it to display weirdly. Please contact me through GreasyFork’s feedback function if you need help to fix it.
The two tag-related groups (tag type and wrangling status) and the two sorting-related groups (sort by and sort direction) can only be configured together. There's no way to set only one of the groups to a different display.
The configuration for "show textfields next to each other" doesn't actually move them onto a single line? That’s probably because your screen is too narrow to show them next to each other. Both input fields want a minimum width, so that you always have space to enter text, and will split into separate rows if that is necessary.
🌱 Upcoming features and bugfixes
- quick-select buttons for saved searches (select combo of tag type & status & fandom)
- reinstate logic to auto-focus on search term textfield
🏛️ History
- v 4.1 (unreleased)
- reduced empty vertical space
- reduced label size and made wrapping on small screens more predictable
- v 4.0
- configuration to show selects as buttongroups
- improved page layout behaviour with flex CSS
- using light/dark library script
- v 3.1
- v 3.0
- moved configuration into a GUI
- configuration to choose default sort by/direction on page load
- makes sort direction name comprehensible
- v 2.2
- small display updates of select options
- v 2.1
- focus jumps to text input field for a blank search
- v 2.0
- enables searching for UnsortedTag
- v 1.x
- minor updates to userscript header
- v 1.0
- turns radioboxes into select options
- configuration to hide sort options
- configuration to hide select labels (all in one line)
- configuration to hide labels of text inputs (all in one line)
- configuration to choose default tag type/status on page load