Skip to content

An Extension for Automatic1111 Webui that organizes Extensions into Tabs

License

Notifications You must be signed in to change notification settings

Haoming02/sd-webui-tabs-extension

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SD Webui Tabs Extension

This is an Extension for the Automatic1111 Webui, which replaces the original Extension layout with a Tab System instead.

Also supports both old & new Forge!

Features

This was achieved by moving the contents of each Extension from the "Accordion" (the dropdown thingy) into their own separate Tabs, so that you only need to switch between each tab to change the settings, instead of scrolling all the way down and then all the way up every single time. Additionally, the Scripts section is also moved into a tab.

This is especially helpful if you have many Extensions installed and active.

When an Extension or a Script is enabled, the respective Tab button will turn green* to indicate that. Furthermore, you can Ctrl + Click the Tab buttons to quickly toggle the Extensions.

This tries to find the first Checkbox with a label containing "enable" or "active" within the Extension. If one is not found, this feature will not be available for said Extension.

For ControlNet, this only works on the first Unit. Still thinking of a better solution...

Configs

After launching the Webui (including the browser, not just the console) with this Extension installed, it will generate a tab_configs.csv file inside the folder. You can edit this file with any text editing program (eg. Notepad) or a spreadsheet program (eg. Excel), to change where each element is placed:

  • entries

    • tabs entry controls where the buttons for the Tabs are placed
    • default entry controls where Extensions not already in the config should be placed
    • Scripts entry refers to the scripts dropdown
    • Extra Options entry refers to the Settings for txt2img/img2img (if enabled in settings)
    • The rest of the entries are the extensions
  • placement

    • The left side refers to under the parameters (the original location)
    • The right side refers to under the generation Results
    • The above refers to above the tabs buttons
    • The below refers to below the tabs buttons
    • The hide will not show the extension instead
      • Mainly for extensions with some sort of always-active functionality

Note: Extensions set to above and below will always be shown without tab buttons

Important: If you edited the .csv file while the Webui is active, you should click Reload UI (not just refresh the browser) to apply the changes

  • Example:

    txt img
    tabs left right
    default left right
    ar-plus above above
    ... left right
    ... left right
    Scripts below below

Settings

The settings are in the Tabs Extension section under the User Interface category

  • Delay: This Extension moves the contents after a tiny delay to prevent breaking some references. If you have a slow machine, you may need to increase the delay.
  • Color: The color used to indicate active extensions. (Default: GreenYellow)
  • Version: Hide the version number for the Extensions. (not recommended)
  • Forge: Hide the "Integrated" text for the built-in Extensions.
  • Sort: By default, extensions are sorted based on their appearance order (ie. The folder names). Enable this to sort them based on the order in the tab_configs.csv.
  • Toggle: Allow you to click on the button of an opened tab to hide it instead.
  • Open: By default, first extension is shown. You can hide all the extensions on start up instead.
  • Hide Container: By default, this Extension only moves the contents and hide the Accordions, leaving the extension container untouched. When using certain themes that add margins and paddings, the container may show up as an empty block instead. If you do not have any leftover extensions in the container (ie. Those without Accordion in its UI), you can hide the entire container instead.