Sidebar Customization¶
Customize the Bambuddy sidebar by showing or hiding built-in pages, reordering navigation items, and adding custom links to external tools and resources.
Overview¶
Sidebar customization lets you:
- Keep your most-used Bambuddy pages near the top
- Hide built-in pages you do not use often
- Add one-click links to Spoolman, OctoPrint, Grafana, and other tools
- Set a default sidebar layout for other users
Built-in Pages¶
Built-in Bambuddy pages can be shown, hidden, and reordered from the sidebar settings.
- Go to Settings > General
- Open the Sidebar pane
- Toggle pages on or off
- Drag visible pages into your preferred order
Hidden pages are removed from the sidebar navigation. Use this to keep the sidebar focused on the pages you use day to day.
Hidden pages remain accessible by direct URL and from any in-app links that point to them. Settings cannot be hidden, so you can always return to the sidebar settings and show pages again.
External Links¶
External links add custom sidebar entries for tools and resources outside Bambuddy.
Adding a Link¶
- Go to Settings > External Links
- Click Add Link
- Fill in the details:
| Field | Description |
|---|---|
| Name | Display name (e.g., "Spoolman") |
| URL | Full URL including protocol |
| Icon | Select an icon |
| Open in New Tab | Open link in new tab |
- Click Save
Editing¶
- Click the edit icon on a link
- Modify any field
- Click Save
Deleting¶
- Click the delete icon
- Confirm deletion
Icons¶
Choose from Material Design icons:
| Icon | Name | Good For |
|---|---|---|
| Spool | Spoolman, filament | |
| Printer | OctoPrint, Mainsail | |
| Chart | Analytics, Grafana | |
| Cog | Settings, config | |
| GitHub | Repositories | |
| Document | Documentation | |
| Home | Dashboards | |
| Link | Generic links |
Additional icons available in the icon picker.
Ordering and Visibility¶
Reordering¶
Built-in pages and external links can be reordered together from the sidebar settings.
- Go to Settings > General
- Open the Sidebar pane
- Drag an item to a new position
- Release to save the new order
Visibility¶
Use sidebar visibility controls to decide what appears in navigation:
- Built-in pages can be shown or hidden from the sidebar settings
- Settings is always visible and cannot be hidden
- Hidden built-in pages stay available by direct URL and from in-app links
- External links cannot be hidden; delete an external link to remove it from the sidebar
External Link Appearance¶
External links display with:
- Icon (if selected)
- Name
- External indicator (if opens new tab)
Matching Bambuddy's Theme¶
A link that opens inside Bambuddy tells the page it shows which theme is active. An app built for the sidebar can use this to switch to light or dark and follow your background, style and accent colour.
Bambuddy sends the theme with postMessage, only to the link's own origin:
{"type": "bambuddy:theme", "mode": "dark", "style": "vibrant", "background": "cool", "accent": "green", "canNavigate": true}
It sends it when the page loads, whenever you change the theme, and when the page asks by posting {"type": "bambuddy:theme-request"} to its parent. The page should check that the message's origin is your Bambuddy address. Pages that don't listen are unaffected.
Opening a Bambuddy Page from the App¶
The frame a link opens in can't navigate the Bambuddy window itself, so a plain link from the app to a Bambuddy page does nothing when clicked. The app can ask Bambuddy instead, by posting this to its parent:
Bambuddy then opens that page, as if you had used its own menu. It accepts the request only from the frame, only from the link's own origin, and only for a path inside Bambuddy (starting with /). Anything else, such as another site, is ignored.
canNavigate: true in the theme message means this Bambuddy takes such requests. Older versions don't send it; an app should open a new tab there instead.
A Count on the Link¶
An app can show a number on its sidebar link, the way the print queue shows how many jobs wait. Bambuddy Orders uses it for its To do: orders that need you and top-ups to count.
The app sends its own address and the count:
Bambuddy shows the count on every link pointing at that address (same scheme, host, port and path; a trailing slash, the default port written out, upper case in the host and a login in the link don't matter) and answers 404 when none does. The API key needs Send notifications, the same permission an app needs to send messages. The count shows while the app keeps reporting it: one not updated for ten minutes disappears, so an app that stopped doesn't leave an old number behind. 0 shows nothing; above 99 shows 99+.
Use Cases¶
Spoolman¶
Link to your filament inventory:
| Field | Value |
|---|---|
| Name | Spoolman |
| URL | http://192.168.1.50:7912 |
| Icon | |
| Sidebar | Yes |
| New Tab | Yes |
OctoPrint / Mainsail¶
Link to printer web interfaces:
| Field | Value |
|---|---|
| Name | Mainsail |
| URL | http://192.168.1.100 |
| Icon | |
| Sidebar | Yes |
| New Tab | Yes |
Grafana Dashboard¶
Link to monitoring dashboards:
| Field | Value |
|---|---|
| Name | Grafana |
| URL | http://grafana:3000/d/printers |
| Icon | |
| Sidebar | Yes |
| New Tab | Yes |
Documentation¶
Link to manuals or wikis:
| Field | Value |
|---|---|
| Name | Docs |
| URL | https://github.com/maziggy/bambuddy-wiki |
| Icon | |
| Sidebar | Yes |
| New Tab | Yes |
Printables / Thingiverse¶
Quick access to model sites:
| Field | Value |
|---|---|
| Name | Printables |
| URL | https://www.printables.com |
| Icon | |
| Sidebar | Yes |
| New Tab | Yes |
Admin Default Sidebar Order¶
Admins can set a default sidebar navigation layout that applies to users who have not customized their own sidebar. The default captures the saved order for built-in pages and external links, plus the visibility state for built-in pages.
Setting a Default¶
- Arrange sidebar items in your preferred order
- Show or hide the built-in pages you want included
- Go to Settings > General > Sidebar Order
- Toggle Set Default on
The current sidebar layout is saved as the default for all users.
How It Works¶
| Scenario | Behavior |
|---|---|
| New user | Automatically gets the admin-set sidebar layout |
| User hasn't customized | Gets the admin-set layout on next page load |
| User has customized | Keeps their own layout (admin default is not re-applied) |
| Admin toggles off | Default is cleared; existing user layouts are unchanged |
Permission Required
The Set Default toggle is only visible to users with Settings: Update permission (settings:update).
One-Time Application
The default layout is applied once per user. If you update the default, users who already received a previous default will not be affected. To re-apply it, users can click Reset on their sidebar order first.
Keyboard Shortcuts¶
Visible sidebar entries can be accessed via keyboard:
- Sidebar items are assigned number shortcuts
- Press the assigned number to navigate
Shortcut Assignment
Shortcut assignment follows the current sidebar layout. Reordering items or hiding built-in pages updates the number shortcuts automatically.
Backup Integration¶
Sidebar customization is included in backups:
- External links are exported with database backups
- Sidebar order and built-in page visibility settings are restored when importing a backup
- No manual re-entry needed after restore
Tips¶
Related Tools
Add links to tools you use alongside Bambuddy for quick switching.
Open in New Tab
Enable "New Tab" to keep Bambuddy open while visiting links.
Organize by Usage
Put most-used pages and links at the top via drag-and-drop.
Keep It Clean
Hide rarely-used pages and links from the sidebar to reduce clutter.