Add a "Custom" tab to the ribbon bar

PLEASE NO ARGUING ABOUT WHETHER THE RIBBON BAR OR SYSTEM MENU IS BETTER. THIS IS SIMPLY A REQUEST FOR AN ADDITIONAL TAB TO BE ADDED TO THE RIBBON BAR. THANKS.

Alrighty, so first off let me make it clear what I’m talking about. The “SystemMenu” is the old layout while the new layout is called “RibbonBar” (as defined when looking in studio settings) and the new layout looks like this:


This is the layout that I will be discussing in this request.

Now as you can clearly see, there are some tabs at the top to help organize tools so that you can find them easily and this can be great for helping people who are new to studio navigate around and find the tools they need. However, I’ve been using studio for quite a while now and I have assigned most of my tools and stuff shortcuts so I don’t need to alway be clicking up there to select different tools. Nevertheless, there are still a couple tools that I use along with some plugins so I still need to use the ribbon bar because not everything can be assigned a shortcut (e.g. while you can assign a shortcut to the new grid size you can’t change that size with a shortcut). Also, the tools I still use are spread out across multiple tabs.

This is where I believe adding a “Custom” tab to the ribbon bar would be beneficial. I know exactly which tools I use and need and it would be awesome if we could create a custom tab that we can add tools to so we can have a tab that gives us all the tools we personally need and use on a regular basis in one spot without having to switch between different tabs all the time.

I’m thinking it could just be a separate tab with a settings button that would open up a list of all the tools available (kind of like the list for setting shortcuts) and you could select which tools will be in that tab. There might need to be a limit to the number of tools you can have but I don’t have a ton of tools I need so that shouldn’t be too much of a problem since it’s supposed to be a tab for when you have a few tools from different tabs that you just need in one spot.

5 Likes

Isn’t this what the quick access bar is for?

I don’t actually know what that is.

blob.jpg

2 Likes

Sweet, I didn’t realize you could do that. While it still doesn’t have all the functionality I want (can’t use it to set a custom grid size or rotation increment plus you have to add the “Join” options individually) this should help. My request still stands but I’ll try using this for now :slight_smile:

I think this can be done by editing the RibbonBarThingyFile.xml a bit, although that’s a lot of work.
(and you need to redo it everytime studio updates, or write automation for it)
(or just reuse the same XML and hope you don’t miss out on certain changes that way)
(although you can always use a compare thing like git, since you’re wasting time already)

still dreaming of a future where plugins can create and edit widgets, add new tabs to the menu, …

Unfortunately only ROBLOX things can be added to ribbon tabs this way. Your own plugins are out of luck.

Are you sure? Both the terrain tools and the Transform tool (PrecisionDragger) are plugins.

They’re built-in plugins – the plugins you install from the site are only loaded once you open the place, so they can’t be added. I guess if you manually moved your plugins to that same folder you could do it, but that gets replaced every time Studio updates.

Buttons can be added before plugins are loaded. The BuiltInPlugins are also (only) loaded when you open a place.

EDIT So it’s possible, 100% sure, just did it

hi

You mind posting how?

No StorageSwap in Config tab:

<TabPage name="Config" visible = "true">
			<addaction name="StorageSwap" instancename="StorageSwap" text="StorageSwap" style="textundericon" tooltip="Use the random terrain generator" type="plugin"  icon=":/RibbonBar/images/RibbonIcons/Terrain/terrain.png" width="32" height="32"/>
			<Group name="Clients and Servers">
				<addaction name="pairRbxDevDeviceAction" iscommonslot="true" style="textundericon" text="Pair Test Device"  tooltip="Pair a device to studio for testing" icon=":/RibbonBar/images/RibbonIcons/Test/Pair-Device.png" width="32" height="32" />
				<addaction name="startServerAndPlayersAction" iscommonslot="true" style="textundericon" text="Start"  tooltip="Start server and players" icon=":/RibbonBar/images/RibbonIcons/Test/Start-Server.png" width="32" height="32" />
				<addseparator visible="false"/>
				<addcheckbox fflag="!StudioTeamTestEnabled" name="startServerCB" text="Server" checked="true"/>
				<addcombobox fflag="StudioTeamTestEnabled" name="serverMode">
				  <comboboxitem text="None" value ="0" />
				  <comboboxitem text="Local Server" value="1" defaultvalue="true" />
				</addcombobox>
				<addcombobox name="playersMode">
				  <comboboxitem text="0 Player" value="0"/>
				  <comboboxitem text="1 Player" value="1" defaultvalue="true"/>
				  <comboboxitem text="2 Players" value="2"/>
				  <comboboxitem text="3 Players" value="3"/>
				  <comboboxitem text="4 Players" value="4"/>
				  <comboboxitem text="5 Players" value="5"/>
				  <comboboxitem text="6 Players" value="6"/>
				  <comboboxitem text="7 Players" value="7"/>
				  <comboboxitem text="8 Players" value="8"/>
				</addcombobox>
				<addseparator visible="false"/>
				<addaction name="cleanupServersAndPlayersAction" style="textundericon" text="Cleanup" icon=":/RibbonBar/images/Studio 2.0 icons/32x32/delete_x_32.png"  width="32" height="32"/>
			</Group>
			<Group fflag="StudioMobileEmulatorEnabled" name ="Emulation">
            <MenuButton handleMenuTrigger="true" name="emulateDeviceAction" style="textundericon" popupStyle="menubutton" text="Choose Device" tooltip="Emulate roblox as if it were another device" icon=":/RibbonBar/images/RibbonIcons/Test/EmulateComputer.png" width="32" height="32">
              <addaction name="manageEmulationDeviceAction" style="textbesideicon" text="Manage Devices..." icon="images/Studio 2.0 icons/16x16/emulate_device_16.png" width="16" height="16"/>
            </MenuButton>
          </Group>
			  <Group name="Audio">
			<addaction name="audioToggleAction" iscommonslot="true" style="textundericon" ischeckable="true" icon=":/RibbonBar/images/RibbonIcons/Test/Audio-Disabled.png" width="32" height="32" text="Mute" tooltip="Toggle Game Audio Sounds"/>
		  </Group>
		  <Group name="Analyze" fflag="AnalyzerGroupUIEnabled">
			<addaction name="analyzePhysicsToggleAction" fflag="PhysicsAnalyzerEnabled" iscommonslot="true" style="textundericon" ischeckable="true" icon=":/RibbonBar/images/RibbonIcons/Test/Physics-Test.png" width="32" height="32" text="Physics" tooltip="Toggle Physics Analyzer"/>
		  </Group>
	  </TabPage>

You mean this? https://trello.com/c/lS37wca6/134-customizeable-ribbon-bar-l

1 Like

Perfect, thanks :smiley:

@EchoReaper
Install this plugin:


Add this code in any Group in the the XML:


        <addaction name="Execute.einsteinK's Utilities.Plugins." isProxy="true" style="textundericon" text="AnyText" tooltip="AnyTooltip" width="32" height="32" />

Restart studio and you’ll see the button:

Pressing the button does fire the .Click(), so it’s completely functional.

just edit the stuff in that XML to make it work for any pluginbutton you want

Someone should use this information to write an application that allows you to easily edit this.
(and also stores it to a separate file, so you can just open it and press “Apply” after studio updates)

1 Like

Thanks! Also, it looks like any tab that was loaded before a place was opened will turn these into super small icons:

This can happen if:

  • Your plugin is on the first tab and your ribbon is open by default
  • You open a tab with the plugin before you first load a place
  • Once you load a place at least once, you can close it and are free to navigate across tabs without issue

Just something to be aware of.

Edit: It can also be a problem if have plugin buttons/toolbars conditionally created based on the place. If I load one place, the toolbar/button isn’t created in that place, and I load the tab, it’ll break(ish). When I try to load the tab in the place that does create the toolbar/button without restarting Studio, the button will be small. It’s fine no matter how many places I load so long as I don’t load the tab with the buttons that reference the nonexistent buttons/toolsbars.

Edit2: If you want to use plugins that only appear when you open certain places, you can make their toolbar name “Smooth Terrain” and they’ll get added to that. This tab group gets force-refreshed every time you close/open/run a place – it’s the only way I’ve found to clean up plugin buttons once they’re created, but I’ll keep looking.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.