Skip to content

Instantly share code, notes, and snippets.

@foosel
Last active July 25, 2021 14:09
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save foosel/86157172899666cc0658 to your computer and use it in GitHub Desktop.
Save foosel/86157172899666cc0658 to your computer and use it in GitHub Desktop.
OctoPrint Filetab plugin & configuration instructions
import octoprint.plugin
class FiletabPlugin(octoprint.plugin.TemplatePlugin,
octoprint.plugin.AssetPlugin):
def get_template_configs(self):
return [
dict(type="tab", name="Files")
]
def get_assets(self):
return dict(css=["css/filetab.css"])
__plugin_implementation__ = FiletabPlugin()
__plugin_settings_overlay__ = dict(appearance=dict(components=dict(disabled=dict(sidebar=["files"]))))

Moving the "Files" component from the sidebar to the tab section

  1. Create .octoprint/plugins/filetab, .octoprint/plugins/filetab/templates and .octoprint/plugins/filetab/static/css

  2. Copy __init__.py to .octoprint/plugins/filetab

  3. Copy filetab_tab.jinja2 to .octoprint/plugins/filetab/templates

  4. Copy filetab.css to .octoprint/plugins/filetab/static/css

  5. Optional: Adjust the appearance.components.tab.order to list plugin_filetab in .octoprint/config.yaml if you want the "Files" tab to be placed somewhere else than after the regular tab components, e.g.:

    # ...
    appearance:
      components:
        order:
          tab:
          - plugin_filetab
    # ...
  6. Restart OctoPrint, verify in the log that it discovered the plugin

#files_wrapper .accordion-heading-button a {
display: inline-block;
padding: 8px 15px;
font-size: 14px;
line-height: 20px;
color: #000;
text-decoration: none;
background: 0 0;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}
#files {
clear: both;
}
<div id="files_wrapper">
<div class="pull-right" style="font-size: 14px;">
{% include "sidebar/files_header.jinja2" %}
</div>
<div id="files">
{% include "sidebar/files.jinja2" %}
</div>
</div>
@OllisGit
Copy link

OllisGit commented Jun 8, 2018

@foosel I retested the installation on my raspi and now it works!

@MakanMaker
Copy link

MakanMaker commented Jan 5, 2020

Installed on OctoPrint 1.3.12 running on OctoPi 0.16.0 and the scripts are working :) Thanks for this!

Btw I skipped step 4 and used the TabOrder plugin instead to move the new files tab to where I wanted it. (pretty much the same thing but maybe good to know for those not comfortable to edit the config file directly)

@Jack77777777
Copy link

I have Octopi 0.18 RC2 installed. Can make filetab python3 combatible ?

"WARNING - Plugin filetab is not compatible to Python 3.7.3 (compatibility string: >=2.7,<3)."

@foosel
Copy link
Author

foosel commented Jan 14, 2021

This is a proof of concept and not maintained by me. So no.

@Jack77777777
Copy link

This is a pity. So POC failed for Octopi 0.18.

@foosel
Copy link
Author

foosel commented Jan 14, 2021

I welcome any volunteers who want to take over maintenance and turn that into a proper plugin. I already have my hands more than full with maintaining OctoPrint itself plus its ecosystem, I can't do everything 🤷🏻‍♀️

@Jack77777777
Copy link

I really appreciate your great work/development of Octoprint. I just wanted to inform that Filetab is no longer working with Octopi 0.18 if someone else has the same problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment